色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

APM飛控固件編程-GPIO輸入

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

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

01相機拍照反饋

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

02液位儀IO信號

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

03彈射檢測信號

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

硬件基礎

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

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

圖片

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

圖片

軟件編程

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

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


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


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

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

圖片

參數設置

對于最新的APM固件,“BRD_PWM_COUNT”這個參數已經被刪掉了,因此不需要設置這個參數。

SERVOx_FUNCTION:設置為-1。注意,AUX OUT引腳的標號在參數表中是從9開始依次遞增的,如AUX OUT 1引腳對應SERVO9,AUX OUT 2引腳對應SERVO10,依次類推。

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

結語

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

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

    關注

    6039

    文章

    44583

    瀏覽量

    636629
  • PWM
    PWM
    +關注

    關注

    114

    文章

    5193

    瀏覽量

    214301
  • STM32
    +關注

    關注

    2270

    文章

    10910

    瀏覽量

    356658
  • GPIO
    +關注

    關注

    16

    文章

    1213

    瀏覽量

    52193
  • IO信號
    +關注

    關注

    0

    文章

    6

    瀏覽量

    2086
收藏 人收藏

    評論

    相關推薦

    apm 控的pwm輸入輸出通道串聯的220歐電阻的作用?

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

    尋找apm2.8固件源碼

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

    控疑難雜癥解決方法匯總

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

    APM控2.5源代碼

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

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

    ARM7之輸入/輸出端口GPIO編程教程
    發表于 04-19 14:43 ?2704次閱讀
    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//------------------------------------------------
    發表于 10-17 16:33 ?1821次閱讀

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

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

    Linux應用開發【第九章】GPIO編程應用開發

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

    APM2.8控的電路原理圖

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

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

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

    APM32F103編程手冊

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

    APM32F003F6P6_GPIO_串口無法正常工作

    APM32F003F6P6_GPIO_串口無法正常工作
    發表于 11-09 21:03 ?6次下載
    <b class='flag-5'>APM32F003F6P6_GPIO</b>_串口無法正常工作

    APM32F103VCT6_GPIO_未使用的IO如何配置

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

    APM32F072CBT6_GPIO問題_PB12無法正確讀取外接的電平狀態

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

    APM固件的兩種輸出調試信息的方法

    在無人機固件開發過程中,我們經常需要實時輸出一些調試信息(如一些變量的值、狀態機切換提示等),在APM固件中有如下兩種常用的輸出調試信息的方法。
    的頭像 發表于 07-02 17:33 ?2370次閱讀
    <b class='flag-5'>APM</b><b class='flag-5'>飛</b>控<b class='flag-5'>固件</b>的兩種輸出調試信息的方法
    主站蜘蛛池模板: 亚洲欧洲日本天天堂在线观看| 在线亚洲免费| 1a级毛片免费观看| 精品无码久久久久久久动漫| 亚洲精品无夜久久久久久久久| 国产97碰免费视频| 乳女教师欲乱动漫无修版动画 | 日韩综合网| 穿着丝袜被男生强行啪啪| 欧美精品专区第1页| 被窝国产理论一二三影院| 人与禽交3d动漫羞羞动漫| 国产成人精品免费视频大| 鞋奴的视频VK| 久爱在线中文在观看| 最近中文字幕在线中文视频 | 菠萝菠萝蜜免费播放高清| 日本aa大片| 国产 有码 无码 电影| 午夜福利免费院| 黄片a级毛片| 13一18TV处流血TV| 日本阿v片在线播放免费| 国产精品久久久久久久久久影院 | 99久久伊人一区二区yy5099 | 国产精品99久久久久久AV蜜臀| 偷窥自拍性综合图区| 狠狠鲁快播| 97人人添人人澡人人澡人人澡| 日本不卡不码高清免费| 国产女人毛片| 优菈的乳液狂飙天堂W98| 欧美日韩在线亚洲一| 国产精品久久久久久久久久久| 一个人免费视频在线观看高清版| 美女脱得只剩皮肤| 国产白色视频在线观看w| 亚洲欧美中文日韩v在线| 美国色情三级欧美三级纸匠情挑| 啊好大好厉害好爽真骚| 小箩莉奶水四溅小说|