標(biāo)題: 串口通信 [打印本頁]
作者: djtpaopao 時間: 2011-10-2 17:59
標(biāo)題: 串口通信
我想用成品的ic卡刷卡器 通過串口線向單片機中送入數(shù)據(jù)(10位十進(jìn)制數(shù),以asicc碼發(fā)送) 但是送入數(shù)據(jù)后單片機無反應(yīng)(我已經(jīng)寫好一個小的程序 ,當(dāng)單片機的串口有數(shù)據(jù)送入的時候蜂鳴器會報警,并且之前已經(jīng)用串口調(diào)試工具調(diào)試成功,即用串口調(diào)試工具向單片機發(fā)送數(shù)據(jù),單片機會成功報警)
注:當(dāng)刷卡器連接超級終端 刷卡的時候會有數(shù)據(jù)送入(用串口調(diào)試工具,有相同的數(shù)據(jù)送入)
測試程序見附件
請高手解答
test.rar
(434 Bytes, 下載次數(shù): 3767)
2011-10-2 17:59 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者: tianxy18 時間: 2011-11-6 14:24
你的程序有問題
void interrupt_uart() interrupt 4
{
if(RI)
{
RI = 0;
num = SBUF;
if(!num==0)
{
while(1)
{
delay(100);
BUZZ=~BUZZ;
}
}
//{P0=0;}
REN=0;
}
}
上面這段是你寫的吧,你看看num變量是個無符號整型數(shù)據(jù),而你的if判斷語句中用了位變量操作,顯然你所接收的數(shù)據(jù)既不是0也不是1,肯定大于1,所以你的蜂鳴器不會響是肯定了的,除非你的接受的數(shù)據(jù)就等于1,否則蜂鳴器是不會響的。
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |