單片機串口通信編程注意事項
本次小結的主要目的是更加明確單片機的串口中斷是如何發(fā)生的。即:是如何觸發(fā)串口中斷的發(fā)送功能的。在說(shuō)明中我使用特殊的字體顏色來(lái)強調重點(diǎn)部分和注意事項。
本文引用地址:http://dyxdggzs.com/article/201611/320301.htm程序一:
本程序是使用軟件設置TI來(lái)實(shí)現串口中斷的觸發(fā),如果在初始化函數中不增加“TI=1;”這條語(yǔ)句,那么是不會(huì )觸發(fā)中斷的
#include
#define uint unsigned int
#define uchar unsigned char
void InitUart(void)
{
}
main()
{
}
void uart(void) interrupt 4
{
}
程序二:
本程序是使用在軟件的初始化時(shí)在串口緩沖區SBUF中先放一個(gè)數據來(lái)實(shí)現串口中斷的觸發(fā),如果在初始化函數中不增加“SBUF = 0x00;”這條語(yǔ)句,那么是不會(huì )觸發(fā)中斷的
#include
#define uint unsigned int
#define uchar unsigned char
void InitUart(void)
{
}
main()
{
}
void uart(void) interrupt 4
{
}
程序三:
在初始化函數中即不要“TI=1;”語(yǔ)句,也不要“SBUF=0x00;”語(yǔ)句就形成了程序三,這個(gè)程序是用來(lái)與上面的兩個(gè)程序對比說(shuō)明的。程序三是不能正確的發(fā)送數據的,串口中斷服務(wù)程序一直都不會(huì )進(jìn)去的!
不知道說(shuō)明白沒(méi)有,希望大家可以好好的看看!
自己動(dòng)手調試一下就會(huì )有很深的體會(huì )?。。?!
評論