起因,因為想要裝光流感應器,但是找不到多的序列滬可用。
結論....最後從Ardupilot的定義檔案得知,他只有定義4個序列沪可用 USART1 USART3 USART6 UART4
偏偏其中一組跟I2C共用,而GPS的磁羅盤又是必要
所以唯一做法就是使用S.Bus接收,然後把BRD_ALT_CONFIG = 3 使用背後RSSI跟CH5的接點變成UART4
以下是Ardupilot 的硬體定義檔案(好用)
https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_HAL_ChibiOS/hwdef/omnibusf4pro/hwdef.dat
這個RCGRPS的Blog有一些硬體資訊
https://www.rcgroups.com/forums/member.php?u=593263
其中比較好玩的是這個圖(看起來我手邊都是V2)
下面是F405的datasheet
https://www.arterychip.com/download/DS/DS_AT32F405_402_V2.00_EN.pdf
Ardupilot預設硬體整理如下
第一行應該是MCU硬體的PIN
#pwm output. 1 - 4 on main header, 5 & 6 on separated header w/o 5V supply, 7 & 8 on CH5 and CH6 pads
CH5,6沒有5V,7,8在後面的焊盤上
https://ardupilot.org/copter/_images/PWM7-8.jpg
PB0 TIM1_CH2N TIM1 PWM(1) GPIO(50)
PB1 TIM1_CH3N TIM1 PWM(2) GPIO(51)
PA3 TIM2_CH4 TIM2 PWM(3) GPIO(52)
PA2 TIM2_CH3 TIM2 PWM(4) GPIO(53)
PA1 TIM2_CH2 TIM2 PWM(5) GPIO(54)
PA8 TIM1_CH1 TIM1 PWM(6) GPIO(55)
PC8 TIM8_CH3 TIM8 PWM(7) GPIO(56)
PC9 TIM8_CH4 TIM8 PWM(8) GPIO(59)
留言
張貼留言