<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 詳解RS485通信

詳解RS485通信

作者: 時(shí)間:2016-12-16 來(lái)源:網(wǎng)絡(luò ) 收藏

  /*****************************main.c 文件程序源代碼******************************/

view plaincopy to clipboardprint?
  1. #include
  2. unsignedcharT0RH=0;//T0重載值的高字節
  3. unsignedcharT0RL=0;//T0重載值的低字節
  4. voidConfigTimer0(unsignedintms);
  5. externvoidUartDriver();
  6. externvoidConfigUART(unsignedintbaud);
  7. externvoidUartRxMonitor(unsignedcharms);
  8. externvoidUartWrite(unsignedchar*buf,unsignedcharlen);
  9. voidmain(){
  10. EA=1;//開(kāi)總中斷
  11. ConfigTimer0(1);//配置T0定時(shí)1ms
  12. ConfigUART(9600);//配置波特率為9600
  13. while(1){
  14. UartDriver();//調用串口驅動(dòng)
  15. }
  16. }
  17. /*串口動(dòng)作函數,根據接收到的命令幀執行響應的動(dòng)作
  18. buf-接收到的命令幀指針,len-命令幀長(cháng)度*/
  19. voidUartAction(unsignedchar*buf,unsignedcharlen){
  20. //在接收到的數據幀后添加換車(chē)換行符后發(fā)回
  21. buf[len++]=;
  22. buf[len++]=;
  23. UartWrite(buf,len);
  24. }
  25. /*配置并啟動(dòng)T0,ms-T0定時(shí)時(shí)間*/
  26. voidConfigTimer0(unsignedintms){
  27. unsignedlongtmp;//臨時(shí)變量
  28. tmp=11059200/12;//定時(shí)器計數頻率
  29. tmp=(tmp*ms)/1000;//計算所需的計數值
  30. tmp=65536-tmp;//計算定時(shí)器重載值
  31. tmp=tmp+33;//補償中斷響應延時(shí)造成的誤差
  32. T0RH=(unsignedchar)(tmp>>8);//定時(shí)器重載值拆分為高低字節
  33. T0RL=(unsignedchar)tmp;
  34. TMOD&=0xF0;//清零T0的控制位
  35. TMOD|=0x01;//配置T0為模式1
  36. TH0=T0RH;//加載T0重載值
  37. TL0=T0RL;
  38. ET0=1;//使能T0中斷
  39. TR0=1;//啟動(dòng)T0
  40. }
  41. /*T0中斷服務(wù)函數,執行串口接收監控*/
  42. voidInterruptTimer0()interrupt1{
  43. TH0=T0RH;//重新加載重載值
  44. TL0=T0RL;
  45. UartRxMonitor(1);//串口接收監控
  46. }

  現在看這種串口程序,是不是感覺(jué)很簡(jiǎn)單了呢?串口通信程序我們反反復復的使用,加上隨著(zhù)學(xué)習的模塊越來(lái)越多,實(shí)踐的越來(lái)越多,原先感覺(jué)很復雜的東西,現在就會(huì )感到簡(jiǎn)單了。從設備管理器里可以查看所有的 COM 口號,我們下載程序用的是 COM4,而 USB 轉RS485 虛擬的是 COM5,通信的時(shí)候我們用的是 COM5 口,如圖 18-3 所示。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: RS485通

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>