第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Qt串口單片機通信接收到的為什么是亂?

Qt串口單片機通信接收到的為什么是亂?

MM們 2019-04-11 11:07:37
Qt串口單片機通信接收到的為什么是亂
查看完整描述

3 回答

?
MYYA

TA貢獻1868條經(jīng)驗 獲得超4個贊

用ICC產(chǎn)生的初始化程序
#pragma interrupt_handler uart0_rx_isr:iv_USART0_RXC
void uart0_rx_isr(void)
{
//uart has received a character in UDR
//UCSRB&=~BIT(RXCIE); //接收完畢中斷不使能
//AVR沒有中斷優(yōu)先級概念,中斷處理結(jié)束前不接受新中斷,沒必要關(guān)接收中斷
RX_Buffer[i]=UDR;
// delay(5);
i++;
if(i==12)
{
i=0;
flag=1;
//delay(5);
}

查看完整回答
反對 回復 2019-04-15
?
九州編程

TA貢獻1785條經(jīng)驗 獲得超4個贊

當然老是接收到00了,我給你解釋一下:你的串口中斷函數(shù)不止是在接收數(shù)據(jù)的時候執(zhí)行,在執(zhí)行while(!Ti);時等待發(fā)送完成時也會觸發(fā)中斷函數(shù),此時sbuf里面為空,數(shù)據(jù)之前被取走了。解決辦法:把串口中斷函數(shù)改為:void ser()interrupt 4
{if(Ri)
{Ri=0;
a=sbuf;

if (Ti)

}}
當然老是接收到00了,我給你解釋一下:你的串口中斷函數(shù)不止是在接收數(shù)據(jù)的時候執(zhí)行,在執(zhí)行while(!Ti);時等待發(fā)送完成時也會觸發(fā)中斷函數(shù),此時sbuf里面為空,數(shù)據(jù)之前被取走了。解決辦法:把串口中斷函數(shù)改為:void ser()interrupt 4{if(Ri){Ri=0;a=sbuf;
flag=1;
}if (Ti){}}
再說一句,sbuf里面的數(shù)之前被取走的話就為0了,速度給分啊,用手機打了老半天

查看完整回答
反對 回復 2019-04-15
?
溫溫醬

TA貢獻1752條經(jīng)驗 獲得超4個贊

void ser() interrupt 4 //串口中斷函數(shù)
{
if(RI)
{
RI=0;
a=SBUF; //收到的數(shù)據(jù)存入緩沖器,然后賦給a
flag=1;
}
}
另外看看你的波特率,應該有問題,9600的話初值應該是0xfd,初始化時也沒有設置1T模式,缺省狀態(tài)應該12T模式的。



查看完整回答
反對 回復 2019-04-15
  • 3 回答
  • 0 關(guān)注
  • 1354 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號