|
這里介紹一種不需要使用中斷的串口通訊方法,直接在main中的while循環里面查詢串口標志,當標志發生變化的時候就進行相應的操作。
#include "STC12C5A60S2.h"
typedef unsigned char uint8;//定義uint8為無符號8位數據類型
void Uart1_Init(); //初始化串口函數
void main()
{
uint8 Uart_Tmp; //收發緩存器
Uart1_Init(); //初始化串口
while(1)
{
while(RI == 0) //循環等待接收到字符
{
}
RI = 0; //將標志位清零
Uart_Tmp = SBUF; //接收串口接收到的數據
SBUF = Uart_Tmp + 5;//將數據加上5后再次發送
while(TI == 0) //等待發送結束
{
}
TI = 0; //將標志位清零
}
}
void Uart1_Init()
{
REN = 1; //允許接收控制位置1
SM0 = 0; //設置UART工作方式
SM1 = 1;
TR1 = 1; //啟動定時器
TMOD = 0x20;//設置定時器方式
TH1 = 0xfd; //設置波特率
TL1 = 0xfd;
}
|
-
-
RS232.zip
2018-12-13 12:30 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
22.79 KB, 下載次數: 16, 下載積分: 黑幣 -5
串口通訊
|