(整理)如何在单片机上使用printf函数(printf)(avr)(stm)(lpc)(单片机)
2011-04-14 10:39
330 查看
摘要:
当我们在调试代码时,通常需要将程序中的某个变量打印至PC机上,来判断我们的程序是否按预期的运行,printf函数很好的做到了这一点,它能直接以字符的方式输出变量名和变量的值,这样使输出的信息很直观;但printf函数在使用时,不仅仅要初始化串口,还需要其它的一些设置或者要调用其它的一些函数,否则printf函数将不能按我们想要的方式执行。
由于不同的编译器studio函数不一样,所以使用的方法也不一样,这需要大家去看编译器的help,这里我以STM32、LPC24和AVR整理了几个串口打印程序,供需要的朋友参考。
简介:
1、在KEIL下使用printf函数,以STM32为例
在uart.c中添加如下代码
View Code
结语:
有了printf格式化输出函数,调试起来就方便多了。
附件是全部的C语言文件:
单片机使用printf函数
当我们在调试代码时,通常需要将程序中的某个变量打印至PC机上,来判断我们的程序是否按预期的运行,printf函数很好的做到了这一点,它能直接以字符的方式输出变量名和变量的值,这样使输出的信息很直观;但printf函数在使用时,不仅仅要初始化串口,还需要其它的一些设置或者要调用其它的一些函数,否则printf函数将不能按我们想要的方式执行。
由于不同的编译器studio函数不一样,所以使用的方法也不一样,这需要大家去看编译器的help,这里我以STM32、LPC24和AVR整理了几个串口打印程序,供需要的朋友参考。
简介:
1、在KEIL下使用printf函数,以STM32为例
在uart.c中添加如下代码
View Code
#include <stdio.h> #include <stdarg.h> /*********************************************************/ //向串口usart0发送一个字节函数 void Uart0_putchar( unsigned char sdbyte) { UDR0=sdbyte; while(!(UCSR0A&0x40)); UCSR0A|=0x40; } //////////////////////////////////////////////////////// void Uart0_printf(char *str,...) { char buf[128]; unsigned char i = 0; va_list ptr; va_start(ptr,str); vsprintf(buf,str,ptr); while(buf[i]) { Uart0_putchar(buf[i]); i++; } }
结语:
有了printf格式化输出函数,调试起来就方便多了。
附件是全部的C语言文件:
单片机使用printf函数
相关文章推荐
- 整理)如何在单片机上使用printf函数(printf)(avr)(stm)(lpc)(单片机)
- 如何在单片机上使用printf函数(printf)(avr)(stm)(lpc)(单片机)
- 如何在单片机上使用printf函数(printf)(avr)(stm)(lpc)(单片机)(转)
- 如何在单片机上使用printf函数(avr/stm/lpc 单片机)
- 如何在单片机上使用printf函数
- ORACLE如何使用DBLINK连接另一个数据库[整理]
- 如何使用vsprintf, vsnprintf等函数
- 如何在source insight中使用astyle的代码整理功能
- 【单片机笔记】51串口printf的使用和变量循环问题
- 单片机中使用printf打印浮点数问题
- 如何使用 Eseutil 实用工具 (Eseutil.exe) 进行碎片整理!
- 如何使用好printf
- 如何在串口调试助手上,使用printf()函数显示十进制的数据及汉字说明(c语言版)
- ORACLE如何使用DBLINK连接另一个数据库[整理]
- 嵌入式系统中如何使用printf函数进行串口输出
- android 开发零起步学习笔记(二十):Android开发笔记:如何使用预先制作好的SQLite数据库(整理自网络)
- ORACLE如何使用DBLINK连接另一个数据库[整理]
- MFC如何使用printf
- GIT如何使用:大杀器!所有常用指令整理
- [misc]如何在嵌入式平台使用printf功能