|
最近弄藍(lán)牙通信,調(diào)試的時(shí)候沒(méi)想到有更好的辦法,所以想到通過(guò)USB轉(zhuǎn)TTL模塊,通過(guò)單片機(jī)串口來(lái)調(diào)試。
這個(gè)程序主要是測(cè)試單片機(jī)接收到數(shù)據(jù),就馬上發(fā)一個(gè)數(shù)據(jù)。就可以測(cè)試單片機(jī)有沒(méi)收到數(shù)據(jù)了。串口助手調(diào)試。代碼直接附上~圖在測(cè)試的時(shí)候沒(méi)有截圖,直接用串口助手就行了。
#include <reg52.h>
#define uc unsigned char
#define uint unsigned int
uc a,flag; //定義變量 a , flag
void init()
{
TMOD=0x20; //定時(shí)器工作方式,選擇了定時(shí)器1,工作方式2 八位初值自動(dòng)重裝的8位定時(shí)器。
TH1=0xfd; //定時(shí)器1初值 ,設(shè)置波特率為9600 晶振11.0529MHZ?
TL1=0xfd;
TR1=1; //開(kāi)啟定時(shí)器1
SM0=0;
SM1=1; //10位異步接收,(8位數(shù)據(jù))波特率可變
REN=1; //允許串行口接收位
EA=1; //允許中斷(總閘)
ES=1; //允許串口中斷
}
void main() //主函數(shù)
{
init();
while(1)
{
if(flag==1)
{
ES = 0;
flag = 0;
SBUF = a;
while(!TI);
TI = 0;
ES =1;
}
}
}
void intt() interrupt 4 //串口中斷服務(wù)函數(shù)
{
if(RI) //接收數(shù)據(jù),手動(dòng)將RI清0
{
RI=0;
a = SBUF;
flag = 1;
}
if(TI) //發(fā)送數(shù)據(jù)
{
}
}
|
評(píng)分
-
查看全部評(píng)分
|