×
单片机 > 单片机程序设计 > 详情

stm32学习1跑马灯程序之寄存器版本

发布时间:2020-08-21 发布时间:
|

1使能IO口时钟,配置相关寄存器RCC->AHB1ENR

2初始化IO口模式。配置四个寄存器GPIOX_MODER/GPIOX_OTYPER/OSPEEDER/PUPDR

3操作IO口,输出高低电平。配之寄存器GPIOX_ODR或BSRRL/BSRRH

1:RCC是一个结构体指针RCC->AHB1ENR使能寄存器AHB1,使能外部时钟第六位,位5,及设置这一位为1 ,c语言中利用或运算A|=B相当于A=A|B,32位及寄存器两种写法:1)RCC->AHB1ENR|=0x0020

2)RCC->AHB1ENR|=1<<5;1左移5位比较直观

2:GPIOF->MODER=

32位寄存器,一组寄存器对应16个IO口,所以要配置9和10IO口,第一步配置pin9的时候相当于对MODER的第18和19位进行配置因为模式为通用输出,所以配置为01其他位不变,想把其清零然后与01 进行或运算,采用简单方法,将3左移18位

GPIOF->MODER&=~(3<

GPIOF->MODER|=1<

同样的原理配置Pin相应的寄存器,同理参照手册知ODR寄存器仅用到低16位,所以对其进行配置即可,以上123步已经完成。

接下来书写主函数部分,头文件包络#include "stm32f4xx.h"#include"led.h"用到延时函数所以include“delay.h”然后写主函数


关键字:stm32  跑马灯  程序之寄存器 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
8051单片机的函数发生器的设计