0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

APM飛控固件的兩種輸出調(diào)試信息的方法

CHANBAEK ? 來源:怒飛垂云 ? 作者:怒飛垂云 ? 2023-07-02 17:33 ? 次閱讀

無人機飛控固件開發(fā)過程中,我們經(jīng)常需要實時輸出一些調(diào)試信息(如一些變量的值、狀態(tài)機切換提示等),在APM固件中有如下兩種常用的輸出調(diào)試信息的方法:

一、使用Mavlink的“STATUS TEXT”幀來發(fā)送調(diào)試信息

這個Mavlink幀的ID號為253,內(nèi)部包含了50個字節(jié)的定長數(shù)據(jù)段,也就是說我們使用這個幀最多一次只能輸出50個字節(jié)的字符。其調(diào)用方法如下:

gcs().send_text(MAV_SEVERITY_CRITICAL, "NFCY test! %.2f", 1.234f);

其中第一個參數(shù)定義的是要發(fā)送的數(shù)據(jù)的緊急程度,如果定義的是“MAV_SEVERITY_CRITICAL”,則要顯示的信息會同時在MissionPlanner的姿態(tài)窗口和消息窗口中顯示。這個函數(shù)后面兩個參數(shù)的用法與C語言中的printf是一樣的。

最終的顯示效果如下:

圖片

二、使用“hal.console->printf”來發(fā)送調(diào)試信息

相對于第一種方法,這種方法在效率和靈活性上更接近C語言的printf,其輸出直接發(fā)送到飛控USB虛擬出的串口上,因此一般直接用串口調(diào)試助手查看其輸出。其用法示例如下:

hal.console- >printf("\\n\\n NFCY test! %.2f \\n\\n", 1.234f)

最終的顯示效果如下:

image.png

由上圖可知,這種輸出方法更接近平常我們用的單片機串口調(diào)試方法,但是由于默認情況下USB接口虛擬出的串口同時也輸出Mavlink幀(至少有1Hz的Mavlink心跳幀),二者混在一起,看起來比較麻煩。不過可以通過關(guān)閉Mavlink輸出來解決。

以上就是APM固件的兩種飛控調(diào)試信息的輸出方法,希望對大家有所幫助。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 調(diào)試
    +關(guān)注

    關(guān)注

    7

    文章

    551

    瀏覽量

    33763
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7575

    瀏覽量

    134048
  • 狀態(tài)機
    +關(guān)注

    關(guān)注

    2

    文章

    489

    瀏覽量

    27392
  • 無人機
    +關(guān)注

    關(guān)注

    226

    文章

    10199

    瀏覽量

    177504
  • APM
    APM
    +關(guān)注

    關(guān)注

    1

    文章

    70

    瀏覽量

    12937
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式開發(fā)輸出調(diào)試信息的幾種方法

    《論語》有云:“工欲善其事,必先利其器”。輸出調(diào)試信息是軟件開發(fā)中必不可少的調(diào)試利器,在出現(xiàn)bug時如果沒有調(diào)試信息將會是一件令人頭痛的事。
    發(fā)表于 07-21 10:28 ?851次閱讀
    嵌入式開發(fā)<b class='flag-5'>輸出調(diào)試</b><b class='flag-5'>信息</b>的幾種<b class='flag-5'>方法</b>

    尋找apm2.8固件源碼

    請問apm固件源碼在哪里下載,知道的朋友請麻煩告知。謝謝!
    發(fā)表于 06-30 16:33

    控疑難雜癥解決方法匯總

    (pixhawk)控疑難雜癥解決方法匯總(持續(xù)更新)by 怒垂云2019年11月4日APM無法解鎖/控連不上/黃燈閃爍/起飛側(cè)翻/定點
    發(fā)表于 08-06 06:21

    怎么實現(xiàn)stm32串口2來輸出調(diào)試信息

    怎么實現(xiàn)stm32串口2來輸出調(diào)試信息?
    發(fā)表于 12-01 06:41

    有哪幾種方法可以實現(xiàn)STM32輸出調(diào)試信息

    基于SEGGER的RTT方式可實現(xiàn)調(diào)試信息嗎?怎樣去使用STM32的串口輸出調(diào)試信息呢?
    發(fā)表于 12-02 07:28

    怎樣使用STM32CubeMX串口輸出調(diào)試信息

    怎樣使用STM32CubeMX串口輸出調(diào)試信息呢?STM32CubeMX串口如何接收不定長的數(shù)據(jù)呢?
    發(fā)表于 12-08 06:45

    介紹兩種goahead的調(diào)試手段

    這里介紹兩種goahead的調(diào)試手段:(1)終端調(diào)試(2)日志調(diào)試1 終端調(diào)試終端調(diào)試*
    發(fā)表于 12-16 06:21

    嵌入式設(shè)備是怎樣通過semihost機制輸出調(diào)試信息調(diào)試主機的

    dave:嵌入式設(shè)備通過semihost機制輸出調(diào)試信息調(diào)試主機
    發(fā)表于 12-16 07:41

    如何使用J-Link SEGGER RTT打印輸出調(diào)試信息?

    如何使用J-Link SEGGER RTT打印輸出調(diào)試信息?
    發(fā)表于 02-10 08:00

    如何利用設(shè)置斷點和輸出日志這兩種方法調(diào)試HarmonyOS App呢

    ,比較常用的有設(shè)置斷點和輸出日志兩種方式,本文將詳細介紹這兩種調(diào)試App的方式。設(shè)置斷點如果認為需要跟蹤的代碼或bug在某行代碼的附近,可以單擊該行代碼前面的部分為該行設(shè)置斷點,這時會
    發(fā)表于 05-24 14:57

    嵌入式開發(fā)為什么需要輸出調(diào)試信息

    嵌入式開發(fā)為什么需要輸出調(diào)試信息? 因為輸出調(diào)試信息是嵌入式開發(fā)中一項非常重要的實踐,它有助于保證軟件的可靠性、穩(wěn)定性和性能,也是故障排查的關(guān)鍵工具之一。 嵌入式開發(fā)
    發(fā)表于 11-28 16:46

    兩種遠程調(diào)試嵌入式系統(tǒng)的介紹

    調(diào)試嵌入式系統(tǒng)與桌面操作系統(tǒng)差別很大,本文向您介紹調(diào)試嵌入式系統(tǒng)的兩種推薦方案,插樁和片上調(diào)試,希望對您的嵌入式項目中有所幫助。我們介紹兩種
    發(fā)表于 04-14 07:43 ?2507次閱讀
    <b class='flag-5'>兩種</b>遠程<b class='flag-5'>調(diào)試</b>嵌入式系統(tǒng)的介紹

    英創(chuàng)信息技術(shù)ARM9主板進行連接調(diào)試兩種方法

    在我們提供給用戶的《使用VS2005連接和調(diào)試英創(chuàng)ARM9嵌入式模塊》一文中,我們分別以在EM9000上和在EM9260上為例講述了兩種對基于WinCE的ARM9主板進行連接調(diào)試方法
    的頭像 發(fā)表于 01-14 11:29 ?1304次閱讀

    Linux開發(fā)中如何同時輸出調(diào)試信息到終端及文件

    文件中。 比如: 但是有時候既要實時查看打印調(diào)試信息,又要把這些調(diào)試信息保存下來發(fā)給他人分析。 下面分享能達到這個需求的兩種方法: 1、使用
    的頭像 發(fā)表于 11-04 16:40 ?7276次閱讀
    Linux開發(fā)中如何同時<b class='flag-5'>輸出調(diào)試</b><b class='flag-5'>信息</b>到終端及文件

    適用于PIX或APM的本地升級固件方法

    適用于PIX或APM的本地升級固件方法,首先打開 http://firmware.diydrones.com/ 3DR 的固件服務(wù)器。 然后選擇適合自己的
    發(fā)表于 08-20 16:34 ?0次下載