51单片机串口发送字符串三步走法
走两步步看看,再走一步成功了!
基本步骤:
初始化串口
编写发送字符串的函数
在主函数中调用发送字符串的函数
#include "reg51.h"
void init_serial()
{
TMOD |= 0x20; //将定时器1设置为模式2
TH1 = 0xFD; //设置波特率为9600
SCON = 0x50; //设置串口工作方式
TR1 = 1; //定时器1开始计数
}
void send_string(unsigned char *s)
{
while(*s) //当字符串s不为空时
{
SBUF = *s; //将字符串s中的字符发送到串口
while(TI == 0); //等待上一个字符发送完成
TI = 0; //清除发送完成标志位TI
s++; //指向下一个字符
}
}
void main()
{
init_serial(); //初始化串口
send_string("Hello World!"); //发送字符串Hello World!到串口
}
该函数的参数是一个指向字符串的指针,函数会依次发送字符串中的每个字符,直到遇到字符串的末尾。TI是一个发送完成标志位,发送一次字符之后要等待TI置为0之后才能发送下一个字符。