单片机系统重写printf函数
来源:互联网 发布:java中json出现 u003d 编辑:程序博客网 时间:2024/06/07 01:01
参考:http://www.51hei.com/mcu/3429.html
//将stdio.h头文件中的printf函数注释掉不然会冲突//stdio.h头文件还是要包含的里面有va_list的定义//使用vsprintf将要打印的数据赋给字符串//使用字符串发送函数发送字符串//不要把这个数组放在printf函数里面,一方面会在栈分配内存上耗费时间//另一方面也是最主要的如果栈空间不够了还要分配100个字节那就会导致//堆栈溢出,CC2530使用256字节的IDATA的一部分作为栈空间,我设置成了0xC0//也就是192字节,在函数调用层次很深的时候在调用printf函数就会很容易//导致堆栈溢出,出现莫名其妙的问题。char string[100];void printf(char *fmt,...){ va_list ap; //typedef char *va_list; va_list是char型的指针 va_start(ap,fmt); //这个函数的功能是,找到第一个可变形参的地址,并把地址赋给ap vsprintf(string,fmt,ap);//其实这个函数才是核心函数,没研究。。。 UartSendString(string); //这个函数就是发送字符串函数,通过上一个函数,就把该提取的东西都提取了 va_end(ap); //结束函数}其实使用sprintf函数就可以实现printf功能了,例如:
sprintf(string,fmt,...);UartSendString(string);
1 0
- 单片机系统重写printf函数
- 关于单片机printf函数
- STM32 printf函数重写
- 单片机printf函数重定向
- pic单片机使用printf函数
- 单片机 printf函数的查看使用
- 单片机中printf函数的重映射
- 51单片机实现scanf和printf函数
- C51单片机自实现printf函数
- 51单片机实现scanf和printf函数
- 51单片机自己动手写一个printf函数
- 让单片机直接支持printf函数
- 重写printf
- 如何在单片机上使用printf函数(printf)(avr)(stm)(lpc)(单片机)
- 单片机不支持printf函数,实现几个常用串口打印函数
- avr单片机 串口实现printf(使用变参函数)
- 单片机printf函数调用一些该注意的
- c++可变参的函数,printf的重写(转)
- 消息队列读操作
- 设计-依赖关系的理解
- 11272
- uc/OS2学习散乱小心得
- Java泛型-类型擦除
- 单片机系统重写printf函数
- Qt: 多文档应用程序源码解析及下载
- 安卓项目实战—手机安全卫士-第一版
- 食物链 POJ1182(带权并查集)
- Microsoft visual Studio 2013 下 安装配置DirectX SDK 搭建DirectX开发环境详细过程
- 自制编译器,链接器(一)语言定义
- mybatis显示sql异常解决
- 550 Access is denied.
- CentOS 安装中文输入法