16手把手教你写跑马灯实验-hal库版本.ppt
文本预览下载声明
LOGO 淘宝店铺: 技术论坛: 《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺: 技术论坛: 开源电子网 公众平台:“正点原子” 官方网站: 联系电话ALIENTEK 《手把手教你学STM32》 跑马灯实验- HAL库版本 STM32 开发板 (正点原子) 适用平台 淘宝店铺: 技术论坛: 目录 跑马灯硬件连接 1 GPIO相关库函数说明 2 手把手写跑马灯实验 3 淘宝店铺: 技术论坛: 跑马灯实验 淘宝店铺: 技术论坛: 参考资料 阿波罗STM32F429开发板: 《STM32F429开发指南-HAL库版本》-第六章 跑马灯实验6.1小节 阿波罗STM32F767开发板: 《STM32F767开发指南-HAL库版本》-第六章 跑马灯实验6.1小节 ST官方资料: 《STM32F4xx中文参考手册》-第7章通用IO 《STM32F7xx中文参考手册》-第6章通用IO 硬件连接 淘宝店铺: 技术论坛: 跑马灯硬件连接: ? GPIO输出方式:推挽输出(上拉) 淘宝店铺: 技术论坛: 推挽输出: 可以输出强高低电平,连接数字器件? GPIO的8种工作模式 开漏输出: 只可以输出强低电平,高电平得靠外部电阻拉高。输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内) 淘宝店铺: 技术论坛: F429和F767的IO口结构和寄存器定义是一样的。 阿波罗F429和F767的跑马灯硬件连接也是一样的。 F429和F767的HAL库GPIO配置过程一模一样。 HAL库优点:方便在各个STM32平台移植 GPIO基础知识 GPIO基础知识 淘宝店铺: 技术论坛: 4种输入模式: 输入浮空 输入上拉 输入下拉 模拟输入 4种输出模式: 开漏输出(带上拉或者下拉) 开漏复用功能(带上拉或者下拉) 推挽式输出(带上拉或者下拉) 推挽式复用功能(带上拉或者下拉) GPIO寄存器 淘宝店铺: 技术论坛: 每组GPIO端口的寄存器包括: 一个端口模式寄存器(GPIOx_MODER) 一个端口输出类型寄存器(GPIOx_OTYPER) 一个端口输出速度寄存器(GPIOx_OSPEEDR) 一个端口上拉下拉寄存器(GPIOx_PUPDR) 一个端口输入数据寄存器(GPIOx_IDR) 一个端口输出数据寄存器(GPIOx_ODR) 一个端口置位/复位寄存器(GPIOx_BSRR) 一个端口配置锁存寄存器(GPIOx_LCKR) 两个复用功能寄存器(低位GPIOx_AFRL GPIOx_AFRH) 4个32位配置寄存器 2个32位数据寄存器 1个32位置位/复位寄存器 1个32位锁存寄存器 2个32复用功能共寄存器 淘宝店铺: 技术论坛: 头文件:stm32f4xx_gpio.h stm32f7xx_gpio.h 源文件:stm32f4xx_gpio.c stm32f7xx_gpio.c GPIO操作HAL库函数分布文件: GPIO库函数介绍 2 GPIO库函数介绍 淘宝店铺: 技术论坛: 重要函数: 1个初始化函数: void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init); 1个读取输入电平函数: GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 1个设置输出电平函数: void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState); 1个电平翻转函数: void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint
显示全部