IAR瑞萨单片机开发加入printf调试函数
2015-08-19 10:21
169 查看
IAR开发环境,没有printf函数,自己百度加入了一个(http://www.cnblogs.com/codecamel/p/4686437.html),但是还是有一些问题,特别是打印多个变量时,只能够打印字符串时比较稳定,原因是因为va_arg()给了错误的返回值,故只能找寻其他的方法,今天测试了一下,新的办法步骤如下
1.关键之处,否则会出现PUTCHAR函数未定义现象。
右键点击工程选择option->GeneralOption->ibraryconfiguration中library改为full,且GeneralOption->libraryoption->Printfformatter选项中选择full2
2.main.c中加入,其中使用的是串口1,注意如果提示FILE未定义,请在头文件最顶层添加#include<stdio.h>
printf函数打印字符串,遇到\0时才结束。
1.关键之处,否则会出现PUTCHAR函数未定义现象。
右键点击工程选择option->GeneralOption->ibraryconfiguration中library改为full,且GeneralOption->libraryoption->Printfformatter选项中选择full2
2.main.c中加入,其中使用的是串口1,注意如果提示FILE未定义,请在头文件最顶层添加#include<stdio.h>
/*---------------------------Privatefunctionprototypes-----------------------------------------------*/ #ifdef__GNUC__ /*WithGCC/RAISONANCE,smallprintf(optionLDLinker->Libraries->Smallprintf setto'Yes')calls__io_putchar()*/ #definePUTCHAR_PROTOTYPEint__io_putchar(intch) #else #definePUTCHAR_PROTOTYPEintfputc(intch,FILE*f) #endif/*__GNUC__*/ /** *@briefRetargetstheClibraryprintffunctiontotheUSART. *@paramNone *@retvalNone */ PUTCHAR_PROTOTYPE { /*Placeyourimplementationoffputchere*/ /*e.g.writeacharactertotheUSART*/ USART_SendData(EVAL_COM1,(uint8_t)ch); /*Loopuntiltheendoftransmission*/ while(USART_GetFlagStatus(EVAL_COM1,USART_FLAG_TC)==RESET); returnch; }
printf函数打印字符串,遇到\0时才结束。
相关文章推荐
- poj1004
- IOS开发教程--NSLog输出格式控制
- java 枚举类型enum 的使用
- TCP/IP、Http的区别
- 在数组中找到相同的值
- 网页字体特效代码
- sql 根据时间获取数据
- [ActionScript 3] 本地安全沙箱问题最快解决方法
- 用FineReport做的共建共享填报系统
- make: *** 警告:文件“ManyDialog.pro”的修改时间在将来9.1e+04
- iOS开发 画一条线
- JVM调优总结
- 用FineReport做的共建共享填报系统
- 使用Pycharm快捷执行django操作指令
- jQuery过滤选择器详解
- WEB项目中一些简单异步任务的组织与调度方法
- HDU 2510 符号三角形
- Fiddler抓包ios设备
- 深入理解Python中字典的键的使用
- Android开发-对bitmap的一些的操作