51
中
printf
使用注意
C51
标准串口发送程序
(
已
C8051F120
为例,注意
C8051F120
特殊功能寄存器是分页的
)
/***********************************************************
函数名称:
send_char_com
函数功能:向串口发送一字节字符
入口参数:
unsigned char sendByte
一个字节字符
(8 bit)
出口参数:无
备
注:
***********************************************************/
void send_char_com(unsigned char sendByte)
{
char SFRPAGE_SA
VE = SFRPAGE;
//
用到
TI0(SCON0.1)SFR
页:
0
SFRPAGE = UART0_PAGE;
SBUF0=sendByte;
while (TI0== 0);
//
等待发送完毕
TI0= 0;
//
清发送中断标志
TI0
SFRPAGE = SFRPAGE_SA
VE;
}
/***********************************************************
函数名称:
send_char_com
函数功能:向串口发送一个字符串
入口参数:
unsigned char *str
字符串数组首地址
unsigned int strlen
该字符串长度
出口参数:无
备
注:
***********************************************************/
void send_string_com( unsigned char *str, unsigned int strlen)
{
unsigned int k= 0 ;
do
{
send_char_com(*(str + k));
k++;
}
while (k
}
在
C51
中直接使用
printf
比自己编个串口发送字符串的函数方便,但有几个问题要注意的。
1.
使用
printf
之前要先包含
stdio.h
这个头文件
#include
具体
stdio.h
包含的函数见下面网址
http://www.keil.com/support/man/docs/c51/c51_stdio_h.htm
2.