找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7798|回复: 0
收起左侧

【原创】STM32F407资源分配简介

[复制链接]
ID:90014 发表于 2015-9-14 15:06 | 显示全部楼层 |阅读模式
/**
  * 一、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



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表