|
/**
* 一、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
|
|