标准的文件输入输出是不能真正植入微控制器中去的,标准的stdio.h的许多内容不可以使用,但是可以支持一些IO函数,同样使用之前应包含“#include<stdio.h>”预处理,并且需要初始化输出端口,最底层的IO程序是单字符的输入(getchar)和输出(putchar)程序,如果用户针对不同的装置使用高层的IO函数,例如:用printf输出LCD,用户需要全部重新定义最底层的函数:
为在ATMEL的AVRStudio模拟器(终端IO窗口)使用标准IO函数,应当在编译选项中选中相应的单选钮。
注意:作为默认,单字符输出函数putchar是输出到UART装置没有修改,无论如何为使输出能如期望的那样出现在程序终端窗口中,“\n”字符必须被映射为成对的回车和换行。
int getchar():使用查寻方式从UART返回一个字符。
int printf(char*fmt,..):按照格式说明符输出格式化文本frm。字符串格式说明符是标准格式的一个子集,包含以下内容。
●%d:输出有符号十进制整数。
●%o:输出无符号八进制整数。
●%x:输出无符号十六进制整数。
●%X:除了大写字母使用′A′~′F′外同%x。
●%u:输出无符号十进制整数。
●%s:输出一个以C中空字符NULL结束的字符串。(www.xing528.com)
●%c:以ASCII字符形式输出,只输出一个字符。
●%f:以小数形式输出浮点数。
●%S:输出在Flash存储器中的字符串常量。printf支持三个版本,取决于用户的特别需要和代码的大小(越高的要求代码越大):基本型:只有%c、%d、%x、%u和%s格式说明符是承认的。
长整型:针对长整型数的修改,%ld、%lu、%lx被支持,以适用于精度要求较高的领域。
浮点型:全部格式(包括%f)被支持。
用户使用编译选项对话框来选择版本,代码大小的增加是值得关注的。
●int putchar(int c):输出单个字符,这个库程序使用了UART,以查寻方式输出单个字符。
●int puts(char*s):输出以NL结尾的字符串。
●int sprintf(char*buf,char*fmt):按照格式说明符输出格式化文本frm字符串到一个缓冲区,格式说明符与printf()相同。
●“const char*”支持的函数cprintf和csprintf是将Flash中的格式字符串分别以prinf和sprinf形式输出。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。