99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

APM飛控固件編程-GPIO輸入

CHANBAEK ? 來源:怒飛垂云 ? 作者:怒飛垂云 ? 2023-07-02 17:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

有時候,我們的飛控需要引入一些外部IO信號,比如:

01相機拍照反饋

單反相機熱靴接口的反饋信號,用于將照片拍攝的位置和時間保存到飛控的日志中;

02液位儀IO信號

植保無人機檢測剩余藥量是否低于警戒值;

03彈射檢測信號

通過一個金屬觸點彈片來檢測無人機是否從發(fā)射架上彈射出去,對于一些需要延遲開啟推進電機的應(yīng)用比較有用。

硬件基礎(chǔ)

對于大部分運行APM固件的飛控來講,其第9通道以后(含)的PWM輸出通道同時也支持作為GPIO輸入,當(dāng)然,部分飛控硬件的前8個通道也支持作為GPIO輸入,這與飛控的硬件架構(gòu)相關(guān)。

如下圖所示,此飛控的PWM1~PWM8使用了SN74LVC8T245這款芯片作為接口保護芯片,并且將此芯片的方向控制引腳固定拉低,從而這8個通道只支持作為PWM輸出或者GPIO輸出。

圖片

如下圖所示,其PWM9~PWM16通道使用了TXS0108ERGYR這款芯片作為接口保護芯片,這款芯片支持自動切換各個通道的方向的功能,因此這8個通道既可以作為PWM輸出,也可以作為GPIO輸入。

圖片

軟件編程

APM固件的GPIO輸入功能的使用是非常簡單的,如下面的例子所示:

// 第一步,將GPIO50設(shè)置為輸入模式
hal.gpio- >pinMode(50, HAL_GPIO_INPUT);


// 第二步,將GPIO50設(shè)置為內(nèi)部上拉(可選,可以不上拉;如果要下拉,則第二個參數(shù)設(shè)置為0)
hal.gpio- >write(50, 1);


// 第三步,讀取GPIO50的狀態(tài),返回值為0表示低電平,為1表示高電平
uint8_t gpio_state = hal.gpio- >read(50);

注意,例程中的“50”是“軟件層面”的GPIO號,不是STM32單片機“硬件層面”的GPIO號, 并且各個飛控的定義不同。此值的定義在APM源代碼“Libraries/AP_HAL_ChibiOS/hwdef/飛控硬件名/hwdef.dat”中,下圖為原版Pixhawk對于GPIO號的定義:

圖片

參數(shù)設(shè)置

對于最新的APM固件,“BRD_PWM_COUNT”這個參數(shù)已經(jīng)被刪掉了,因此不需要設(shè)置這個參數(shù)。

SERVOx_FUNCTION:設(shè)置為-1。注意,AUX OUT引腳的標(biāo)號在參數(shù)表中是從9開始依次遞增的,如AUX OUT 1引腳對應(yīng)SERVO9,AUX OUT 2引腳對應(yīng)SERVO10,依次類推。

你看的沒錯,只需要設(shè)置這一個參數(shù)即可,非常簡單。

結(jié)語

以上就是APM固件GPIO輸入功能的使用方法,希望對對大家有所幫助,

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

    關(guān)注

    6067

    文章

    44997

    瀏覽量

    650722
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    116

    文章

    5530

    瀏覽量

    219499
  • STM32
    +關(guān)注

    關(guān)注

    2294

    文章

    11032

    瀏覽量

    365201
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1280

    瀏覽量

    54136
  • IO信號
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    2192
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    HAL庫GPIO輸入模式在cubemx中的配置

    上節(jié)課程介紹了GPIO輸出模式的配置,包括修改IO標(biāo)簽,選擇GPIO模式、GPIO上下拉等,本節(jié)輸入模式有很多相同之處,節(jié)省時間,小哥就簡
    的頭像 發(fā)表于 11-02 09:33 ?2345次閱讀

    apm 控的pwm輸入輸出通道串聯(lián)的220歐電阻的作用?

    最經(jīng)看了一下apm控的原理圖,發(fā)現(xiàn)在輸入輸出通道均串聯(lián)了220歐的電阻,不知是什么作用啊?用stm32做pwm采集和輸出,也需要串聯(lián)220歐電阻嗎?
    發(fā)表于 08-01 23:02

    尋找apm2.8固件源碼

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

    控疑難雜癥解決方法匯總

    問題,控硬件定制,固件修改,log日志分析,控驅(qū)動添加經(jīng)過三個月的制作,我的《無人機固件開發(fā)教程》系列視頻終于在“網(wǎng)易云課堂”上線了
    發(fā)表于 08-06 06:21

    APM控2.5源代碼

    APM控2.5開源代碼,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-22 17:22 ?38次下載

    arm7單片機編程實例,ARM7之輸入/輸出端口GPIO編程教程

    ARM7之輸入/輸出端口GPIO編程教程
    發(fā)表于 04-19 14:43 ?2887次閱讀
    arm7單片機<b class='flag-5'>編程</b>實例,ARM7之<b class='flag-5'>輸入</b>/輸出端口<b class='flag-5'>GPIO</b><b class='flag-5'>編程</b>教程

    基于LCD單片機輸入/輸出端口GPIO編程

    一、輸入/輸出端口GPIO編程一—(02)、控制LCD1602顯示~~廢話不多說了~~直接上圖~~然后是程序~~MDK1_2.c//------------------------------------------------
    發(fā)表于 10-17 16:33 ?1968次閱讀

    固件#06--STM32-MCU-GPIO工作模式

    固件06–STM32 MCU GPIO工作模式總結(jié): 四種輸入四種輸出##浮空輸入GPIO-IN-FLOATING可以做KEY識別,RX1
    發(fā)表于 11-18 18:51 ?1次下載
    <b class='flag-5'>固件</b>#06--STM32-MCU-<b class='flag-5'>GPIO</b>工作模式

    Linux應(yīng)用開發(fā)【第九章】GPIO編程應(yīng)用開發(fā)

    設(shè)置GPIO方向 9.4.3 GPIO輸出實驗-LED輸出控制 9.4.4 GPIO輸入試驗-按鍵值讀取 9.4.5 LED和按鍵控制實驗 ? 9
    的頭像 發(fā)表于 12-10 19:21 ?1060次閱讀
    Linux應(yīng)用開發(fā)【第九章】<b class='flag-5'>GPIO</b><b class='flag-5'>編程</b>應(yīng)用開發(fā)

    APM2.8控的電路原理圖

    APM2.8控的電路原理圖
    發(fā)表于 06-06 16:56 ?0次下載

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

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

    APM32F103編程手冊

    APM32F103編程手冊
    發(fā)表于 11-09 21:03 ?18次下載
    <b class='flag-5'>APM</b>32F103<b class='flag-5'>編程</b>手冊

    APM32F103VCT6_GPIO_未使用的IO如何配置

    APM32F103VCT6_GPIO_未使用的IO如何配置
    發(fā)表于 11-09 21:03 ?0次下載
    <b class='flag-5'>APM32F103VCT6_GPIO</b>_未使用的IO如何配置

    APM32F072CBT6_GPIO問題_PB12無法正確讀取外接的電平狀態(tài)

    APM32F072CBT6_GPIO問題_PB12無法正確讀取外接的電平狀態(tài)
    發(fā)表于 11-09 21:04 ?2次下載
    <b class='flag-5'>APM32F072CBT6_GPIO</b>問題_PB12無法正確讀取外接的電平狀態(tài)

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

    在無人機固件開發(fā)過程中,我們經(jīng)常需要實時輸出一些調(diào)試信息(如一些變量的值、狀態(tài)機切換提示等),在APM固件中有如下兩種常用的輸出調(diào)試信息的方法。
    的頭像 發(fā)表于 07-02 17:33 ?3122次閱讀
    <b class='flag-5'>APM</b><b class='flag-5'>飛</b>控<b class='flag-5'>固件</b>的兩種輸出調(diào)試信息的方法