STM32F407VET6 学习笔记1:GPIO引脚认识分类与开发板原理图 |
您所在的位置:网站首页 › tea1533ap引脚电压和功能 › STM32F407VET6 学习笔记1:GPIO引脚认识分类与开发板原理图 |
今日学习STM32F407VET6 ,首先从基本原理图、引脚方面开始做个初步理解并整理: 这里使用的学习开发板是在嘉立创购买的 立创梁山派天空星,芯片是 STM32F407VET6 主要对这个芯片的引脚做一些归纳认识、对开发学习板原理图设计进行认识理解:最后就是尝试点亮一个LED灯 文章提供测试代码讲解、完整工程下载、测试效果图 目录 pack包的安装: STM32F407VET6引脚GPIO归纳: GPIO总线挂载: 定时器引脚: 串口引脚: CAN通信引脚: SPI通信引脚: I2C通信引脚: 开发板的基本参数理解: 开发板原理图(部分): 与ST_LINK下载器的连接: 点亮LED代码: 测试效果图: 测试工程与资料手册下载: pack包的安装:这一步知识提示大家学习新的单片机型号时别忘记添加新的型号的pack包 一般商家提供的资料中会有个pack包,keil没有添加这个pack的便需要添加,否则无法正常编程 这个直接双击安装就行了: STM32F407VET6引脚GPIO归纳:STM32F407VET6 根据STM命名规则可知,共有100个引脚 引脚定义在STM32F407_405英文数据手册英文数据手册的47页 以手册为主、归纳是我自己人工完成的,可能有错误! GPIO总线挂载:在使用标准库函数进行编程配置GPIO时,第一步就需要开启对应的GPIO的总线时钟,以下为外设总线以及其相对应的外设: RCC_AHB1PeriphClockCmd(uint32_t RCC_AHB1Periph, FunctionalState NewState) RCC_AHB2PeriphClockCmd(uint32_t RCC_AHB2Periph, FunctionalState NewState) RCC_AHB3PeriphClockCmd(uint32_t RCC_AHB3Periph, FunctionalState NewState) RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState) RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState) 定时器引脚:其中TIM1和TIM8是高级计时器、TIM2~TIM5是通用计时器 STM32F407的定时器通常连接到特定的GPIO引脚作为输入捕获、输出比较或PWM输出。 例如TIM1可以连接到PA8, PA9, PA10, PA11等引脚。 其他定时器(TIM2, TIM3, TIM4, TIM5, TIM8等)也会连接到不同的GPIO引脚。 CH1CH2CH3CH4ETRBKINTIM1PA7(CH1N) PE8(CH1N) PE9 PB13(CH1N) PA8 PB0(CH2N) PE10(CH2N) PE11 PB14(CH2N) PA9 PB1(CH3N) PE12(CH3N) PE13 PB15(CH3N) PA10 PE14 PA11 PE7 PA12 PA6 PE15 PB12 TIM2PA0 PA5 PA1 PB3 PA2 PB10 PA3 PB11 PA0 PA5 PA15 TIM3PA6 PC6 PB4 PA7 PC7 PB5 PB0 PC8 PB1 PC9 PD2TIM4PD12 PB6 PD13 PB7 PD14 PB8 PD15 PB9 PE0TIM5PA0 PH10 PA1 PH11 PA2 PH12 PA3 PI0 TIM8PA5(CH1N) PA7(CH1N) PC6 PH13(CH1N) PI5 PB0(CH2N) PB14(CH2N) PC7 PH14(CH2N) PI6 PB1(CH3N) PB15(CH3N) PC8 PH15(CH3N) PI7 PC9 PI2 PA0 PI3 PA6 PI4 TIM9 PE5\PA2 PE6\PA3 TIM10PF6 PB8 TIM11PF7 PB9 TIM12PH6 PB14 PH9 PB15 TIM13PF8\PA6TIM14PF9\PA7 串口引脚: TXRXCTSRTSCKUSART1PA9 PB6 PA10 PB7 PA0 PA11 PA12USART2PA2 PD5 PA3 PD6 PD3PA1 PD4 PA4 PD7 USART3PB10 PD8 PC10 PB11 PD9 PC11 PB13 PD11 PB14 PD12 PB12 PD10 PC12 USART4PA0 PC10 PA1 PC11 USART5PC12PD2USART6PC6 PG14 PC7 PG9 PG13 PG15 PG8 PG12 PG7 PC8 CAN通信引脚: CAN_RXCAN_TXCAN1PB8 PI9 PA11 PD0 PB8 PB9 PA12 PD1 PB9 CAN2PB12 PB5 PB13 PB6 SPI通信引脚: SCKMISOMOSINSSSPI1PA5 PB3 PA6 PB4 PA7 PB5 PA4 PA15 SPI2PB10 PB13 PI1 PC2 PB14 PI2 PC3 PB15 PI3 PB12 PI0 SPI3PC10 PB3 PC11 PB4 PC12 PB5 PA4 PA15 I2C通信引脚: SCLSDASMBAI2C1PB6 PB8 PB7 PB9 PB5I2C2PH4 PB10 PF0 PH5 PB11 PF2 PH6 PB12 I2C3PH7 PA8 PH8 PC9 PH9 PA9 开发板的基本参数理解: 开发板原理图(部分):作为笔记,这里贴一些自己以后可能用到的原理图供自己查阅,不是全部......
与ST_LINK下载器的连接: 按照以下方式连接开发板与ST_LINK下载器: SWO------SWIM CLK ------SWCLK DIO ------SWDIO 5V0 ------5.0V RST ------RST GND ------GND 在下载程序时 别忘记在魔棒更改选择对应的 debug仿真器: 点亮LED代码:这代码是立创商家给的例程代码,这里贴出学习使用: 初始化LED端口: void led_init(void) { //开GPIO总线 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; //使用结构体初始化GPIO GPIO_Init(GPIOB, &GPIO_InitStructure); //GPIO初始化输出0 GPIO_ResetBits(GPIOB,GPIO_Pin_2); flag = 0; }初始化按键端口: RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; GPIO_Init(GPIOA, &GPIO_InitStructure);按键扫描函数: void key_scan(void) { if( SET == GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) ) { /* 延迟消抖 */ delay_ms(20); if( flag ) { GPIO_SetBits(GPIOB, GPIO_Pin_2); flag = 0; } else { GPIO_ResetBits(GPIOB, GPIO_Pin_2); flag = 1; } printf("Key Press!!\r\n"); while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == SET) // 等待按键松开 { } /* 延迟消抖 */ delay_ms(20); printf("Key Release!!\r\n"); } } 测试效果图:没按按键: 按下一次按键: 测试工程与资料手册下载:https://download.csdn.net/download/qq_64257614/89275988 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |