天天看點

CB5654開發闆之序列槽通訊

名詞解釋:

    串行接口是一種可以将接收來自CPU的并行資料字元轉換為連續的串行資料流發送出去,同時可将接收的串行資料流轉換為并行的資料字元供給CPU的器件。一般完成這種功能的電路,我們稱為串行接口電路。

    序列槽通信(Serial Communications)的概念非常簡單,序列槽按位(bit)發送和接收位元組的通信方式。

    想要靈活運用CB5654,必須要學會序列槽通信哦,不然做出的作品就是一個空有有趣靈魂而沒有行動能力的玩偶了。

CB5654開發闆之序列槽通訊

資源與布局圖

功能與引腳定義表

CB5654開發闆之序列槽通訊
CB5654開發闆之序列槽通訊

由上圖和上表可知,CB5654的序列槽資源有電腦專用調試序列槽、UART RXD3和TXD3,通過觀察開發版還可以看到在兩個USB中間有RXD2和TXD2。 使用專用調試序列槽可通過printf函數完成列印。 使用UART RXD3和TXD3需要自行配置。

調試序列槽之自定義序列槽指令

    自定義序列槽指令需要參考例程smart_voice_terminal_sc5654中cli_app.c檔案中的cmd_app_func()函數。以下格式作為參考。 代碼:

//第一位判斷
   if (strcmp(argv[1], "自定義指令") == 0) {
      //第二位判斷
       if (strcmp(argv[2], "off") == 0) {
          //功能函數;
     } else {
             //功能函數;
     }
  }           

指令:app 自定義指令 off

注:strcmp函數是string compare(字元串比較)的縮寫,用于比較兩個字元串并根據比較結果傳回整數。基本形式為strcmp(str1,str2),若str1=str2,則傳回零;若str1str2,則傳回正數。

UART RXD3和TXD3配置

建立usart.c 和usart.h 檔案,usart.h需要包含在app_main.h中。

  1. USART TXD和RXD等管腳比對 (PD7, PD8, 2, PD7_UART3_TX, PD8_UART3_RX,序列槽需要為2 )
  2. 調用csi_usart_initialize初始化USART,設定事件回調函數
  3. 調用csi_usart_config配置USART參數(速率、模式、停止位、資料格式等)

    115200,USART_MODE_ASYNCHRONOUS,USART_PARITY_NONE,USART_STOP_BITS_1, USART_DATA_BITS_8

  4. 調用csi_usart_send發送資料
  5. 調用csi_usart_receive來接收資料
  6. 程式結束調用csi_usart_uninitialize去初始化
CB5654開發闆之序列槽通訊

 初始化完成之後就可以調用啦! 調用格式為usart_test_mode(2,data1,sizeof(data1));注意函數隻能發送資料,還沒有接受資料的函數。謝謝大家!緻敬2020最美逆行人和蝸居在家敲代碼的頭上長草人。 祝2020研電賽順利舉行!!希望此文可以幫到你~

文章來源:晶片開放社群

文章連結:

https://occ.t-head.cn/community/post/detail?spm=a2cl5.14300636.0.0.1b87180fOJm8Ux&id=3789327203281018880

繼續閱讀