stm32程序初始化的作用

stm32程序初始化的作用,第1张

STM32程序初始化的作用是,在程序开始运行之前,对系统中的各个模块进行初始化,以便使其能够正常工作缺裤。它可以让系统更加可靠、安全、高效。它可以让系统在各个模块之间进行悔扮销正常的通信,并且可以保证各个模块之间的数碧游据传输正常。此外,它还可以让电路板上的各个部件能够正常工作,并且能够有效地利用电路板上的资源。

不需要

是在上电的时候初始化,还有就是程序跑链高飞和出现桥模异常敏唤缓时也要初始化。方式如下:

1、设置寄存器TMOD2、计算初始值3、开放中断4、启动定时器。

首先,这段代码是对usart1 进行初始化,包括io口,时钟,波特率,接收中断以及优先级

下面回答你第一个问题:他只是要设置GPIOA_Pin_9,这个口是usart1 的发送端,即USART1_TX,其他口无所谓。

第二个问题,对usart1先进行复位,就比如单片机使用时习惯先复位,目的是让它处于一个明确的初始状态

第三个问题,可能你参考了一些其他程序,这里先给你源函数

void MY_NVIC_PriorityGroupConfig(u8 NVIC_Group)

{

u32 temp,temp1

temp1=(~NVIC_Group)&0x07//取后三位

temp1<<=8

temp=SCB->AIRCR //读取先前的设置

temp&=0X0000F8FF//清空先前分组

temp|=0X05FA0000//写入钥匙

temp|=temp1

SCB->AIRCR=temp //设置分组

}

//设置NVIC

//NVIC_PreemptionPriority:抢占优先级

//NVIC_SubPriority :响应优先级悉数

//NVIC_Channel :中断编号

//NVIC_Group :中断分组 0~4

//注意优先级不能超过设定的组的范围!否则会有意想不到的错误

//组划分:

//组0:0位抢占优先级,4位响应优先级

//组1:1位抢占优先级,3位响应优先级

//组2:2位抢占优先级,2位响应优先级

//组3:3位抢占优先级,1位响应优先级

//组4:4位抢占优先级,0位响应优先级

//NVIC_SubPriority和NVIC_PreemptionPriority的原则是,数值越贺散小,越优先

//CHECK OK

//100329

void MY_NVIC_Init(u8 NVIC_PreemptionPriority,u8 NVIC_SubPriority,u8 NVIC_Channel,u8 NVIC_Group)

{

u32 temp

u8 IPRADDR=NVIC_Channel/4 //每组只能存4个,得到组地址

u8 IPROFFSET=NVIC_Channel%4//在组内的偏移

IPROFFSET=IPROFFSET*8+4 //得到偏移的确切位置

MY_NVIC_PriorityGroupConfig(NVIC_Group)//设置分组

temp=NVIC_PreemptionPriority<<(4-NVIC_Group)

temp|=NVIC_SubPriority&(0x0f>>NVIC_Group)

temp&=0xf//取低四位

if(NVIC_Channel<32)NVIC->ISER[0]|=1<<NVIC_Channel//使能中断位(要清除的话,相反 *** 作就OK)

else NVIC->ISER[1]|=1<<(NVIC_Channel-32)

NVIC->IPR[IPRADDR]|=temp<<IPROFFSET//设置响应优先级和抢断优先级

}

可能你没有看MY_NVIC_Init()

参考技术手册

USART1->CR1|=1<<8

PEIE: PE 中断使能

软件对该位置位或者清零

0:中断被禁止;

1:当USART_SR中的PE为1 时,产生USART中断。

USART1->CR1|=1<<5;

RXNEIE: 接收缓冲区非空中断使能

软件对该位置位或者清零

0:禅陆氏中断被禁止;

1:当USART_SR中的ORE或者RXNE 为1时,产生USART中断。

接下来一句MY_NVIC_Init(3,3,USART1_IRQChannel,2)就是进行中断分组,优先级设置。

我也在学stm32,有什么不懂的,再一起探讨。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12340317.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存