|
/**
* 一、STM32F407代碼說明:
*
* 1.默認關閉VBUS_SENSING_ENABLED宏定義,外部上拉電路電路關閉。
*
* 2.使用TIM3 CH1通道發送精確個數脈沖(默認使用PA6,可切換為PC6)。
* DMA1_Stream2 ——> DMA_Channel_5,示波器驗證為500KHz
* 該功能用于伺服位置控制,第一路伺服電機。
*
* 3.使用TIM4 CH1通道發送精確個數脈沖(默認使用PD12,可切換為PB6)。
* DMA1_Stream6 ——> DMA_Channel_2,示波器驗證為500KHz
* 該功能用于伺服位置控制,第二路伺服電機。
*
* 4.在TIM7中斷中使PD14腳電平翻轉,閃爍LED,定時周期200ms。
* 該功能用于指示CPU是否正常工作。
*
* 5.TIM2—CH1 捕獲功能驗證。
* TIM2—CH1 DMA1_Stream4 ——> DMA_Channel_6
* PD12(發脈沖500KHz) ---> PA15(測量脈沖周期, 166/84 = 1.976us)
* 該功能用于轉速檢測。
*
* 6.TIM5—CH2 捕獲功能驗證。
* TIM5—CH2 DMA1_Stream5 ——> DMA_Channel_3
* PD12(發脈沖500KHz) ---> PA1 (測量脈沖周期, 166/84 = 1.976us)
* 該功能用于轉速檢測,備用。
* 7.四通道ADC轉換的實現
* PC2 PC3 作為模擬輸入,分時掃描兩路位移傳感器信號,進行AD轉換
* PB0 PB1 為備用
*
* 8.SPI2隔離模擬電壓輸出的實現
* 測試兩通道編程輸出10V 5V電壓
*
* 9.SPI3讀取SPI Flash ID號成功
* 2015-06-23 wjandsq@163.com
*
* 10.使用高速磁隔離芯片AuDM1201BRZ,AuDM1200BRZ, RS485通信調試成功。
* USART3、USART6在DMA收發模式互發通信成功,發送完畢切換為接收
* 2015-07-08 wjandsq@163.com
*
* 11.使用高速磁隔離芯片AuDM1201BRZ,雙路CAN通信調試成功。
* CAN1 CAN2 互發數據成功
* 2015-07-10 wjandsq@163.com
*
* 二、STM32F407ZE的DMA1、DMA2資源分配:
* (1)TIM3_CH1_PWM(PA6) DMA1_Stream2 DMA_Channel_5 脈沖發送
* (2)TIM4_CH1_PWM(PD12) DMA1_Stream6 DMA_Channel_2 脈沖發送
* (3)TIM2_CH1_ETR(PA15) DMA1_Stream5 DMA_Channel_3 脈沖捕獲
* (4)TIM5_CH2_ETR(PA1) DMA1_Stream4 DMA_Channel_6 脈沖捕獲
* (5)SPI3_RX DMA1_Stream0 DMA_Channel_0 批量讀SPI Flash
* (6)SPI3_TX DMA1_Stream7 DMA_Channel_0 批量寫SPI Flash
* (7)USART3_RX DMA1_Stream1 DMA_Channel_4 串口3接收(一般不用DMA接收)
* (8)USART3_TX DMA1_Stream3 DMA_Channel_4 串口3發送
*
* (1)ADC1 DMA2_Stream0 DMA_Channel_0 多通道模擬量輸入檢測
* (2)SPI1_RX DMA2_Stream2 DMA_Channel_3 批量讀SPI Flash
* (3)SPI1_TX DMA2_Stream3 DMA_Channel_3 批量寫SPI Flash
* (4)USART6_RX DMA2_Stream1 DMA_Channel_5 串口6接收(一般不用DMA接收)
* (5)USART6_TX DMA2_Stream6 DMA_Channel_5 串口6發送
* (6)USART1_RX DMA2_Stream5 DMA_Channel_4 串口1接收(一般不用DMA接收)
* (7)USART1_TX DMA2_Stream7 DMA_Channel_4 串口1發送
*
* 三、STM32F407ZE的SPI、RS485、RS232、USB、CAN通訊相關GPIO分配:
* SPI2 pin configuration (for DA)
* (1)PB15: SPI2_MOSI GPIO_PuPd_DOWN GPIO_Mode_AF
* (2)PB14: SPI2_MISO GPIO_PuPd_DOWN GPIO_Mode_AF
* (3)PB13: SPI2_SCK GPIO_PuPd_DOWN GPIO_Mode_AF
* (4)PB12: SPI2_CS GPIO_PuPd_DOWN GPIO_Mode_OUT
*
* SPI3 pin configuration (for SPI Flash)
* (1)PC10: SPI3_SCK GPIO_PuPd_DOWN GPIO_Mode_AF
* (2)PC11: SPI3_MISO GPIO_PuPd_UP GPIO_Mode_AF
* (3)PC12: SPI3_MOSI GPIO_PuPd_UP GPIO_Mode_AF
* (4)PC13: SPI3_CS GPIO_PuPd_UP GPIO_Mode_OUT
*
* USART3 pin configuration(RS-485)
* (1)USART3_RX: PD9 GPIO_PuPd_NOPULL GPIO_Mode_AF
* (2)USART3_TX: PD8 GPIO_PuPd_UP GPIO_Mode_AF
* (3)USART3_DE: PB7 GPIO_PuPd_NOPULL GPIO_Mode_OUT
*
* USART6 pin configuration(RS-458)
* (1)USART6_RX: PG9 GPIO_PuPd_NOPULL GPIO_Mode_AF
* (2)USART6_TX: PG14 GPIO_PuPd_UP GPIO_Mode_AF
* (3)USART6_DE: PD7 GPIO_PuPd_NOPULL GPIO_Mode_OUT
*
* USART1 pin configuration(RS-232)
* (1)USART1_RX: PA10 GPIO_PuPd_NOPULL GPIO_Mode_AF
* (2)USART1_TX: PA9 GPIO_PuPd_NOPULL GPIO_Mode_AF
*
* USART2 pin configuration(RS-232)
* (1)USART2_RX: PD6 GPIO_PuPd_NOPULL GPIO_Mode_AF
* (2)USART2_TX: PD5 GPIO_PuPd_NOPULL GPIO_Mode_AF
*
* USB FS Device pin configuration(USB CDC)
* (1)USB_OTG_FS_DP: PA12
* (2)USB_OTG_FS_DM: PA11
*
* CAN1 pin configuration
* (1)CAN1_RX: PD0
* (2)CAN1_TX: PD1
*
* CAN2 pin configuration
* (1)CAN2_RX: PB5
* (2)CAN2_TX: PB6
*
* 四、STM32F407ZE的功率輸出端口相關GPIO分配:
* (1)PE0
* (2)PE1
* (3)PE2
* (4)PE3
* (5)PE4
* (6)PE5
* (7)PE6
* (8)PE7
*
* 五、STM32F407ZE的ADC相關GPIO分配:
* (1)AIW0 ---> PB0 0 - 5V 輸入
* (2)AIW2 ---> PB1 0 - 5V 輸入
* (3)AIW4 ---> PC2 0 - 5V 輸入
* (4)AIW6 ---> PC3 0 - 5V 輸入
* (5)AIW8 ---> PC0
* (6)AIW10 ---> PC1
*
* 六、STM32F407ZE的其它雜項GPIO分配:
* (1)PWM1(TIM3_CH1_PWM): PA6
* (2)PWM2(TIM4_CH2_PWM): PD12
* (3)PWM1_EN(TIM3_CH1_PWM_EN): PD10
* (4)PWM2_EN(TIM4_CH1_PWM_EN): PD11
* (5)PWM1_DIR: PE12
* (6)PWM1_FW_EN: PE13
* (7)PWM1_RW_EN: PE14
* (8)PWM2_DIR: PE15
* (6)PWM2_FW_EN: PF12
* (7)PWM2_RW_EN: PF13
* (9) Reserved PF14
* (10)Reserved PF15
*
* 資源分配未完待續
*
*/
STM32F407ZE硬件初始化函數如下:
1 USB_Init
2 TIM3_DMA_PWM_Config
3 TIM4_DMA_PWM_Config
4 TIM2_DMA_Capture_Config
5 TIM5_DMA_Capture_Config
6 TIM7_Config
7 ADC1_DMA_Config
8 SPI2_for_DAC_Config
9 SPI3_for_Flash_Config
10 USART3_Config
11 USART6_Config
12 CAN1_Config
13 CAN2_Config
|
|