STMCU小助手
发布时间:2022-7-5 17:19
选自,STM32F4之寄存器实现跑马灯实验
其中:~非运算,表示取反,例111111001111取反后为000000110000,方便我们计算其值。 &表示进行与运算,例1&0=0,1&1=1 |表示或运算,例1|0=1,1|1=1. 注:MODER &=B表示位MODR =MODER&B 一、GPIO 端口模式寄存器 (GPIOx_MODER) (x = A…I) 1.将18,19位清零* [什么要配置MODER9=01 ?Y因为此时是pin9脚,故必须配置MODER9=01 ] 第一步:先将18,19位清零,再将这两位配置为MODER9=01,通用输出模式 数字3:表示18,19位为1,即11=3, 第二步,移位:3<< 2×9:表示11向左移动18位。此时18,19位的值为11,而MODER是两位的,故显示为2×9 此时除18,19位为11.其他的30位均为0,再通过取反操作:~,可以实现将18,19位清零的作用。 我们通过查询F4芯片资料手册的187页,可以得到如下所示GPIO端口模式寄存器的表格如下所示 2.配置MODER=01,通用输出模式(将18,19位值设置位01) GPIOF->MODER |=(1<<2*9)//置位,第19位,18位的值为01 01=1,然后左移18位,配置MODER=01,通用输出模式。 二、GPIO 端口输出类型寄存器 (GPIOx_OTYPER)
将OTYPER9配置为OTYPER9=0(输出推挽)单字节
三、GPIO 端口输出速度寄存器 (GPIOx_OSPEEDR)
将OSPEEDR寄存器配置为10,OSPEEDR9=10(50MHz)
四、GPIO 端口上拉/下拉寄存器 (GPIOx_PUPDR)
将PUPDR寄存器配置为01,PUPDR9=01(上拉)
五、GPIO 端口输出数据寄存器 (GPIOx_ODR)
此时不用清零,直接赋值。
六、RCC AHB1 外设时钟使能寄存器 (RCC_AHB1ENR)
总代码:led.c文件下的
|
【福利三:雨露均沾·逢7狂欢】之四:用一个定时器同步另外两个定时器输出PWM
【逢7发帖赢大礼】STM32开发之WIFI实时时钟
【逢7发帖赢大礼】STM32开发之指纹识别!
【逢7发帖赢大礼】STM32开发之环境空气质量监测
【逢7发帖赢大礼】STM32开发之人体实时运动信息监测!
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
【逢7发帖赢大礼】全网最简单的Arduino_STM32开发环境搭建教程!
STM32F4中文用户手册
STM32F400、STM32F402 Cortex-M4超值单片机
SPI 高温读错最后一位?STM32F42xx 官方根治方案
微信公众号
手机版