KEIL5基础——串口中断初始化寄存器版本

第一USART的初始化,分为GPIO初始化和配置USART以及中断配置三大块。
一先配置GPIO,GPIO初始化要注意几点:
记住首先开时钟
第一:模式要配置成复用功能,注意看是0到7还是8到15,前者配置低,后者配置高。
第二:输出类型(也就是UART的TX端)配置有推挽和开漏,一般配置复用推挽(寄存器写法跟推挽输出一样)。
第三:速度,指的也是UART的TX端,一般配快速和高速。
第三:配置上下拉,TX和RX都要配置,一般配置浮空,(有的人说上下拉也可以,经过测试也能正常使用)。
第四:配置复用功能,此处注意接第一点,看是0到7还是8到15,若是0到7,则复用的寄存器写为GPIOx->AFR[0],(AFR这个是数组表示,0表示低8位,1表示高八位)。故,使用GPIOx->AFR[1]表示高八位的情况。
再接下来是有关复用到哪里的问题?
查看stm32f407zgt6的数据手册,3.9节p62。查到对应的AFXX,再偏移即可。

以上是完成USART的GPIO的初始化,接下来配置USART:

USART需要操作,CR1,CR2,SR,BRR四个寄存器。一般还有DR。
CR1是控制寄存器,里面主要包括使能和中断,过采样和奇偶校验。
以下主要讲解前三个:
使能,包括RX使能,TX使能和USART使能(总使能)。分别是2,3,13
这三个使能在配置完其它寄存器后再开启。
中断后面再提。
CR2初级阶段只需要注意,USART数据帧的停止位在这里面(12)。
SR,数据的发送接收,5,7位要注意。不用配置,但是在写程序使用要灵活运用。
最后是BRR也就是波特率的配置。
同样的,先开时钟。
第二:将CR1清空,既可完成(16倍过采样,数据帧,n停止位,奇偶校验关闭)
第三:CR2配置停止位。
第四:波特率:
首先要计算波特率。编三个数,一个是XX.YY,将XX.YY变成一个XX,一个YY。再等于BRR即可。(具体操作四步)
第五:CR1的三个使能打开。完成USART的配置。

中断的配置。中断有四个函数,分别是:
优先级分组,(这个丢在主函数)
设置某个中断函数的优先级,(明确是USART还是其它)
优先级合成(将分组,抢占,响应写在一起),
中断使能(NVIC开启响应某个中断)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值