1. 程式人生 > >pixhawk-px4之通過串列埠新增感測器應用

pixhawk-px4之通過串列埠新增感測器應用

前言:

看到有部落格通過串列埠新增自定義感測器,按照步驟做了一遍

部落格:http://blog.csdn.net/msq19895070/article/details/52012190

一 串列埠選擇

Pixhawk板上TELEM2介面的USART2,對應的Nuttx UART裝置檔案尾/dev/ttyS2


二 新增應用

step 1:Firmware/src/modules中新增一個新的資料夾,命名為rw_uart

step 2:rw_uart資料夾中建立CMakeLists.txt檔案,作為cmake的編譯指令碼


step 3:rw_uart資料夾中建立rw_uart.c檔案



step 4:

註冊新新增的應用到NuttShell中。/src/Firmware/cmake/configs/nuttx_px4fmu-v2_default.cmake檔案中新增如下內容


step 5:編譯韌體

若遇到編譯問題,可檢視錯誤提示查詢相關位置,應該是c檔案輸入有錯,如:提示是在13行9列的地方,小三角標註的地方。


step 6:燒寫後,進入nsh,並啟動該應用。



三 讀取資料測試

部落格中提到的用超聲波模組測試,手頭沒有,通過串列埠助手自動傳送資料,看是否能讀取到資料

資料要求R開頭,如:R0012 R0023 R0045

step1:用6針排座插在串列埠2上(TELEM2)上,用ch340轉串模組連線串列埠助手

step2:將串列埠2的rx,gnd與ch340的tx,gnd連線,開啟串列埠助手.

step:波特率(9600),傳送資料R0012 R0023 R0045,手動傳送

結果:

總結:

目前嘗試串列埠讀取,做過測試, 如果讀取一個位元組,串列埠助手傳送一個位元組,會導致第一次傳送的位元組讀取不到,並且write出去串列埠助手顯示的位元組亂碼,串列埠這塊還有很多問題,包括資料包的解析,都是需要繼續嘗試的。