STM32F4XX与STM32F0XX编程差别

STM32F0与F4 GPIO初始化及中断设置
本文介绍了STM32F0和STM32F4系列微控制器中GPIO管脚的初始化配置过程,包括普通管脚与中断管脚的设置方法。通过具体的代码示例展示了如何进行GPIO的初始化,并设置了不同优先级的中断。

//普通管脚初始化

/*****************************************************************************
STM32F0
******************************************************************************/
void BELL_Init(void)
{

GPIO_InitTypeDef GPIO_InitStruct;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_Level_2;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOA, &GPIO_InitStruct);

GPIO_ResetBits(GPIOA, GPIO_Pin_2);
}

/*stm32f4*/
void BEEP_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);//ʹÄÜGPIOFʱÖÓ
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//ÆÕͨÊä³öģʽ
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//ÍÆÍìÊä³ö
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;//ÏÂÀ­
GPIO_Init(GPIOF, &GPIO_InitStructure);//³õʼ»¯GPIO

GPIO_ResetBits(GPIOF,GPIO_Pin_8); //·äÃùÆ÷¶ÔÓ¦Òý½ÅGPIOF8À­µÍ£¬
}

//中断管脚初始化

//F0

NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn; 
NVIC_InitStructure.NVIC_IRQChannelPriority=0x00; 
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);

//F4

NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn; 
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x01; 
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x03; 
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);

转载于:https://www.cnblogs.com/luckytimor/p/5403174.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值