在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【中科昊芯Start_DSC28027勇士開發板試用體驗】串口與上位機通信

開發板試用精選 ? 來源:開發板試用 ? 作者:電子發燒友論壇 ? 2022-11-21 11:16 ? 次閱讀
本文來源電子發燒友社區,作者:jf_53933321, 帖子地址:https://bbs.elecfans.com/jishu_2287001_1_1.html


上一篇講了pwm,這一篇來介紹下串口的試用。

1. 串口通信介紹
串口通信指串口按位(bit)發送和接收字節。盡管比特字節(byte)的串行通信慢,但是串口可以在使用一根線發送數據的同時用另一根線接收數據。串口通信協議是指規定了數據包的內容,內容包含了起始位、主體數據、校驗位及停止位,雙方需要約定一致的數據包格式才能正常收發數據的有關規范。在串口通信中,常用的協議包括RS-232、RS-422和RS-485

2. haawking勇士板上的串口
從原理圖上可以看到串口發送和接收管腳通過ch340g芯片轉成了miniusb接口,用miniusb轉usb的數據線就可以把電腦和板子接起來。
poYBAGKp9b-AVUTWAADwgIekhE4612.png

CH340 是一個USB 總線的轉接芯片,實現USB 轉串口、USB 轉IrDA 紅外或者USB 轉打印口。
在串口方式下,CH340 提供常用的MODEM聯絡信號,用于為計算機擴展異步串口,或者將普通的串口設備直接升級到USB 總線。
在紅外方式下,CH340 外加紅外收發器即可構成USB 紅外線適配器,實現SIR 紅外線通訊。
3. 上代碼
如前面原理中所說通信雙方需要約定一致的數據包格式,我在實驗中用9600波特率,數據位8位、無校驗位,停止位為1。向電腦端發送一些配置信息后,輸出hello haawking!。代碼如下。


  1. /*主程序入口*/
  2. int main(void)
  3. {
  4. /*初始化系統控制*/
  5. InitSysCtrl();
  6. /*初始化內存控制寄存器,使能內存流水線模式*/
  7. InitFlash();
  8. /*初始化串口通信的GPIO口*/
  9. /*GPIO28: SCIRXDA*/
  10. /*GPIO29: SCITXDA*/
  11. InitSciGpio();
  12. /*關閉中斷*/
  13. DINT;
  14. /*初始化PIE控制*/
  15. InitPieCtrl();
  16. /*關閉CPU中斷,清除中斷標志位*/
  17. IER = 0x0000;
  18. IFR = 0x0000;
  19. /*初始化PIE中斷向量表*/
  20. InitPieVectTable();
  21. /*SCI寄存器配置*/
  22. Scia_Config(9600);
  23. /*使能外部中斷和CPU中斷*/
  24. EINT;
  25. /*通過SCI發送字符串*/
  26. Scia_Print("--------- sci interrupt test ----------rn");
  27. Scia_Print("Baud Rate: 9600rn");
  28. Scia_Print("Data Bits: 8rn");
  29. Scia_Print("Parity: nonern");
  30. Scia_Print("Stop Bits: 1rn");
  31. Scia_Print("Hello Haawking!rn");
  32. Scia_Print("rn");
  33. for (;;)
  34. {
  35. }
  36. return 0;
  37. }
復制代碼



  1. /******************************************************************
  2. *函數名:Scia_Config(uint32 baud)
  3. *參 數: baud,串口波特率
  4. *返回值:無
  5. *作 用: SCIA 初始化配置
  6. ******************************************************************/
  7. void Scia_Config(uint32 baud)
  8. {
  9. uint32 div = 0;
  10. uint32 divsel = 0;
  11. uint32 lospcp = 0;
  12. uint32 lspclk = 0;
  13. uint16 brr = 0;
  14. //獲取系統時鐘的倍頻、分頻和低速外部時鐘的值
  15. div = SysCtrlRegs.PLLCR.bit.DIV;
  16. divsel = SysCtrlRegs.PLLSTS.bit.DIVSEL;
  17. lospcp = SysCtrlRegs.LOSPCP.bit.LSPCLK;
  18. if (lospcp != 0)
  19. {
  20. lospcp = lospcp * 2;
  21. }
  22. else
  23. {
  24. lospcp = 1;
  25. }
  26. /*分頻值設置
  27. divsel為 0時,系統時鐘4分頻
  28. divsel為 1時,系統時鐘4分頻
  29. divsel為 2時,系統時鐘2分頻
  30. divsel為 3時,系統時鐘1分頻*/
  31. switch (divsel)
  32. {
  33. case 0:
  34. case 1:
  35. lspclk = 12000000 * div / 4 / lospcp;
  36. break;
  37. case 2:
  38. lspclk = 12000000 * div / 2 / lospcp;
  39. break;
  40. case 3:
  41. lspclk = 12000000 * div / 1 / lospcp;
  42. break;
  43. }
  44. brr = lspclk / (baud * 8) - 1;
  45. /*SCI 停止位設置 0:一個停止位 1:兩個停止位*/
  46. SciaRegs.SCICCR.bit.STOPBITS = 0;
  47. /*SCI 奇偶校驗位 0:奇偶校驗 1:偶偶校驗*/
  48. SciaRegs.SCICCR.bit.PARITY = 0;
  49. /*SCI 奇偶校驗使能 0:關閉 1:啟用*/
  50. SciaRegs.SCICCR.bit.PARITYENA = 0;
  51. /*SCI 字符長度 0:1個字長1:2個字長 ... 7:8個字長*/
  52. SciaRegs.SCICCR.bit.SCICHAR = 7;
  53. /*使能SCI的發送機和接收機*/
  54. SciaRegs.SCICTL1.bit.TXENA = 1;
  55. SciaRegs.SCICTL1.bit.RXENA = 1;
  56. /*SCI 16位波特率選擇寄存器 高8位*/
  57. SciaRegs.SCIHBAUD = (uint8) ((brr >> 8) & 0xff);
  58. /*SCI 16位波特率選擇寄存器 低8位*/
  59. SciaRegs.SCILBAUD = (uint8) (brr & 0xff);
  60. /*SCI 發送中斷使能*/
  61. SciaRegs.SCICTL2.bit.TXINTENA = 1;
  62. /*SCI 接收中斷使能*/
  63. SciaRegs.SCICTL2.bit.RXBKINTENA = 1;
  64. /*SCI 指定發送和接收中斷處理函數,該寄存器受EALLOW保護*/
  65. EALLOW;
  66. PieVectTable.SCIRXINTA = &sciaRxIsr;
  67. PieVectTable.SCITXINTA = &sciaTxIsr;
  68. EDIS;
  69. /*PIE Group 9, SCIRXINTA*/
  70. PieCtrlRegs.PIEIER9.bit.INTx1 = 1;
  71. /*PIE Group 9, SCITXINTA*/
  72. PieCtrlRegs.PIEIER9.bit.INTx2 = 1;
  73. IER_ENABLE(M_INT9);
  74. /*SCI 軟件復位,重新啟動SCI*/
  75. SciaRegs.SCICTL1.bit.SWRESET = 1;
  76. }
復制代碼

4. 實際運行效果
在電腦端打開串口調試助手,打開對應串口,設置9600波特率,數據位8位、無校驗位,停止位為1,信息顯示為ascii,板子上電之后就會在串口調試助手里接收到hello haaking!信息。截圖如下。
poYBAGKp9b-AT7wMAACfHQhCChI381.png
pYYBAGKp9cCAD_bZAALaLTuNE84662.jpg

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 中科昊芯
    +關注

    關注

    5

    文章

    80

    瀏覽量

    5211
  • 開發板試用
    +關注

    關注

    3

    文章

    301

    瀏覽量

    2135
收藏 人收藏

    評論

    相關推薦

    STM32F103上位升級,RS485升級、CAN升級

    STM32F103_IAP開發板,用STM32F103RCT6主控芯片,例程用標準庫開發。基本串口RS232\\RS485通信及CAN接口升級學習方案
    發表于 01-03 08:57

    有獎丨米爾 全志T536開發板免費試用

    米爾與全志合作發布的新品基于全志T536應用處理器的MYD-LT536-GK開發板免費試用活動來啦~~米爾提供了3塊價值750元的MYD-LT536-GK開發板發起試用活動您不僅可以免
    的頭像 發表于 12-26 08:05 ?233次閱讀
    有獎丨米爾 全志T536<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>

    微平臺Android系統串口測試方法,觸覺智能RK3562開發板演示

    微方案主板Android系統串口測試方法,通用RK3568、RK3566、RK3588、RK3576等。觸覺智能RK3562開發板演示
    的頭像 發表于 12-24 11:51 ?346次閱讀
    瑞<b class='flag-5'>芯</b>微平臺Android系統<b class='flag-5'>串口</b>測試方法,觸覺智能RK3562<b class='flag-5'>開發板</b>演示

    微主板/開發板Linux系統播放音頻方法,觸覺智能RK3562開發板演示

    本文介紹瑞微方案主板/開發板Linux系統播放音頻的方法,觸覺智能RK3562開發板演示,通用RK3566、RK3568、RK3588等
    的頭像 發表于 12-13 11:40 ?311次閱讀
    瑞<b class='flag-5'>芯</b>微主板/<b class='flag-5'>開發板</b>Linux系統播放音頻方法,觸覺智能RK3562<b class='flag-5'>開發板</b>演示

    基于Arduino的串口通信項目

    基于Arduino的串口通信項目涉及多個方面,包括硬件連接、軟件編程、串口參數配置等。 一、硬件準備 Arduino開發板 :確保你有一塊Arduino
    的頭像 發表于 11-22 09:24 ?828次閱讀

    追加名額丨米爾瑞微RK3576開發板有獎試用

    米爾與瑞微合作發布的新品基于瑞微RK3576應用處理器的MYD-LR3576開發板免費試用活動加碼啦~~米爾追加了2塊價值849元的MYD-LR3576
    的頭像 發表于 11-22 01:00 ?254次閱讀
    追加名額丨米爾瑞<b class='flag-5'>芯</b>微RK3576<b class='flag-5'>開發板</b>有獎<b class='flag-5'>試用</b>

    【RA8D1試用活動】RA8D1B-CPKCOR開發板移植linux

    【RA8D1試用活動】RA8D1B-CPKCOR開發板移植linux
    的頭像 發表于 11-16 01:02 ?313次閱讀
    【RA8D1<b class='flag-5'>試用</b>活動】RA8D1B-CPKCOR<b class='flag-5'>開發板</b>移植linux

    有獎丨米爾 瑞微RK3576開發板免費試用

    米爾與瑞微合作發布的新品基于瑞微RK3576應用處理器的MYD-LR3576開發板免費試用活動來啦~~米爾提供了7塊價值849元的MYD-LR3576
    的頭像 發表于 11-12 01:00 ?398次閱讀
    有獎丨米爾 瑞<b class='flag-5'>芯</b>微RK3576<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>

    有獎試用!!RA-Eco-RA4E2-64PIN-V1.0開發板試用活動開始報名

    有獎試用!!RA-Eco-RA4E2-64PIN-V1.0開發板試用活動開始報名
    的頭像 發表于 11-09 01:02 ?323次閱讀
    有獎<b class='flag-5'>試用</b>!!RA-Eco-RA4E2-64PIN-V1.0<b class='flag-5'>開發板</b><b class='flag-5'>試用</b>活動開始報名

    linux開發板和單片開發的區別

    硬件架構 Linux開發板和單片開發在硬件架構上有很大的區別。Linux開發板通常基于ARM、x86或其他處理器架構,具有較高的處理能力和內存容量。而單片
    的頭像 發表于 08-30 15:30 ?1116次閱讀

    上位與下位實時通信的實現

    在工業自動化、遠程控制、數據采集與處理等領域,上位與下位之間的實時通信是實現高效、準確的數據交換和系統控制的基礎。本文旨在介紹實現上位
    的頭像 發表于 06-28 17:01 ?1701次閱讀

    點擊參與米爾NXP i.MX 93開發板有獎試用

    米爾與NXP合作發布的新品基于NXPi.MX93應用處理器的MYD-LMX9X開發板免費試用活動來啦~~米爾提供了3塊價值678元的MYD-LMX9X開發板發起試用活動您不僅可以免費體
    的頭像 發表于 06-13 08:02 ?599次閱讀
    點擊參與米爾NXP i.MX 93<b class='flag-5'>開發板</b>有獎<b class='flag-5'>試用</b>

    上位與下位串口通信的區別在哪

    上位與下位串口通信的區別主要體現在以下幾個方面: 通信方式的區別
    的頭像 發表于 06-06 10:34 ?1166次閱讀

    開發板使用ASCLIN Master通信串口發送的數據,開發板收不到是怎么回事?

    開發板使用ASCLIN Master通信,通過LIN調試器和電腦的上位通信,目前開發板發送的8
    發表于 06-04 13:09

    免費!NXP i.MX 93開發板有獎試用

    米爾與NXP合作發布的新品基于NXPi.MX93應用處理器的MYD-LMX9X開發板免費試用活動來啦~~米爾提供了2塊價值678
    的頭像 發表于 05-23 08:01 ?788次閱讀
    免費!NXP i.MX 93<b class='flag-5'>開發板</b>有獎<b class='flag-5'>試用</b>
    主站蜘蛛池模板: 日本不卡视频 | 玖玖爱这里只有精品 | 精品视频网站 | 亚洲成在人线影视天堂网 | 很黄很污的视频网站 | 99久久精品免费看国产免费 | 福利视频午夜 | 美女视频黄的免费视频网页 | 日本三级在线 | 亚州人成网在线播放 | 欧美三级欧美一级 | 免费又黄又爽1000禁片 | 在线观看永久免费视频网站 | 美国一级毛片免费看成人 | 欧美午夜在线视频 | 亚洲黄色小说网站 | 猛操在线 | 日韩三级中文 | 国产a一级毛片午夜剧场14 | 天天操夜夜操天天操 | 三级黄色在线 | 国产视频黄色 | 色免费视频| 美女扒开尿口给男人桶爽视频 | 欧美国产一区二区二区 | 男女爱爱爽爽福利免费视频 | 久久国产精品亚洲综合 | 天天爽夜夜爽人人爽免费 | 午夜视频在线播放 | 日韩基地1024首页 | 九九热九九 | 久久婷婷激情 | 国产欧美一区二区三区观看 | 国产性片在线观看 | brazzersvideosex欧美高清 | 婷婷综合色 | 在线观看免费午夜大片 | 亚洲一卡二卡在线 | 国产在线视频不卡 | 人人爽人人看 | 99免费视频观看 |