![]() |
發布時間: 2018-4-7 19:01
正文摘要:在網上看到一個很有意思的芯片,關于數字聲音識別的,其實覺得不如語音識別,但是又覺得數字聲音識別這個模塊也挺有意思 但是有很多不懂的地方,先在這里跟大家探討一下: 這個數字聲控芯片說默認的波特率是9600 ... |
mark一下。回去看。謝謝樓上的高人。 |
etxuxu 發表于 2018-4-10 17:15 中斷里面只完成接收,判斷與執行放在中斷外面,這樣更合理 int i=0; void serial() interrupt 4 { uchar temp; if(RI) { RI = 0; //清除串行接受標志位 temp = SBUF; if((temp==0xff) || (i>3)) // 收到 0xff 重新開始 i=0; if((temp!=0xfc) && (i==1)) // 第2個不是 0xfc,放棄 i=0; CN[i++]=temp; } } ....... if(i==3) { if(CN[2] == 0x00) { switch(CN[3]) { case(0x30):led1=0;delay(200);led1=1;break; case(0x20):led1=0;delay(200);led1=1;break; default: break; } } else if(CN[2] == 0x01) { switch(CN[3]) { case(0x30):led2=0;delay(200);led2=1;break; case(0x20):led2=0;delay(200);led2=1;break; default: break; } } } |
謝謝分享。 |
我草,我也是同樣的問題呀。高人,有下文了嗎? |
QIANLILI 發表于 2018-4-8 22:05 這樣寫是對的嗎?求前輩幫我指點一下,最近串口這塊一直在學習:
|
QIANLILI 發表于 2018-4-8 22:05 那應該如何把收到的字符存入CN[ ]呢? 要怎么去判斷幀尾?比如FF FC 00 01,得怎么判斷才能精確的把FF存入CN[0],FC存入CN[1],如此類推呢? |