首页 理论教育 AVR单片机标准输入输出库速学

AVR单片机标准输入输出库速学

时间:2023-11-20 理论教育 版权反馈
【摘要】:int getchar()使用查寻方式从UART返回一个字符int printf按照格式说明符输出格式化文本frm字符串,格式说明符是标准格式的一个子集%d:输出有符号十进制整数;%o:输出无符号八进制整数;%x:输出无符号十六进制整数;%X:除了大写字母使用‘A’~‘F’外,同%x;%u:输出无符号十进制整数;%s:输出一个以C中空字符NULL结束的字符串;%c:以ASCII字符形式输出,只输出一个字符;%f:以小数形式输出浮点数;%S:输出在FLASH存储器中的字符串常量。

AVR单片机标准输入输出库速学

标准的文件输入输出是不能真正植入微控制器(MCU)的,标准stdio.h的许多内容不可以使用,不过有一些IO函数是被支持的,同样使用之前应用“#include<stdio.h>”预处理,并且需要初始化输出端口,最底层的IO程序是单字符的输入(getchar)和输出(put-char)程序,如果针对不同的装置使用高层的IO函数,例如用printf输出LCD,需要全部重新定义最底层的函数。

为了在ATMEL的AVR Studio模拟器(终端IO窗口)使用标准IO函数,应当在编译选项中选中相应的单选按钮

注意:作为默认,单字符输出函数putchar是输出到UART装置没有修改,无论如何为使输出能如期望的那样出现在程序终端窗口中,‘\n’字符必须被映射为成对的回车和换行(CR/LF)。

int getchar()使用查寻方式从UART返回一个字符

int printf(char*fmt,..)按照格式说明符输出格式化文本frm字符串,格式说明符是标准格式的一个子集

%d:输出有符号十进制整数;

%o:输出无符号八进制整数;

%x:输出无符号十六进制整数;

%X:除了大写字母使用‘A’~‘F’外,同%x;

%u:输出无符号十进制整数;

%s:输出一个以C中空字符NULL结束的字符串;

%c:以ASCII字符形式输出,只输出一个字符;(www.xing528.com)

%f:以小数形式输出浮点数;

%S:输出在FLASH存储器中的字符串常量。

printf支持3个版本,取决于特别需要和代码的大小(越高的要求,代码越大):

基本型:只有%c、%d、%x、%u和%s格式说明符是承认的;

整型:针对长整型数的修改%ld、%lu、%lx被支持,以适用于精度要求较高的领域

浮点型:全部格式包括%f被支持。

使用编译选项对话框来选择版本,代码大小的增加是值得关注的。

int putchar(int c)输出单个字符,这个库程序使用了UART以查寻方式输出单个字符,注意输出‘\n’字符至程序终端窗口。

int puts(char*s)输出以NL结尾的字符串。

int sprintf(char*buf,char*fmt)按照格式说明符输出格式化文本frm字符串到一个缓冲区,格式说明符同printf()。

“const char*”支持功能,cprintf和csprintf是将FLASH中的格式字符串分别以prinf和sprintf形式输出。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈