关于STM32配置中断和GPIO针脚问题

stm32是用的什么开发环境? stm32系列单片机,这款单片机功能强大,而且很容易学习,官方示例代码很多,稍加修改就可以开发自己的东西了。
嵌入式软体搭配最新版的stm32cubemx个人电 脑开发 工具使用, 设计人员 可在绘图介面向导内配置微控制器,只要按一下,即可生成初始化c代码,直接用於多款市面上流行的 第三方开发 工具。
stm32nucleo 开发板可让开发人员连接微控制器的全部i/o介面,并整合了st-link侦错器(debugger)/程式设计(programmer),无需单独安装侦错器。最後, stm32nucleo 开发板拥有mbedtm功能,这表示该开发板可与个人电脑直接连结,并直接在mbed.org线上开发环境执行开发板。
如果之前学51入门的话。 stm32f103 系列用keil4 for arm是最方便的,如果是 stm32f4 系列就要用keil5 for arm了。
 一。配置中断 void nvic_configuration(void)
{
nvic_inittypedef nvic_initstructure;
/* set the vector table base location at 0x08004000
nvic_setvectortable(nvic_vecttab_flash, 0x4000); // 1.分配中断向量表
nvic_prioritygroupconfig(nvic_prioritygroup_2); //设置中断优先级
/* enable the exti1 interrupt
nvic_initstructure.nvic_irqchannel = exti1_irqchannel; // 中断通道
nvic_initstructure.nvic_irqchannelpreemptionpriority = 0; // 指定抢占式优先级别1
nvic_initstructure.nvic_irqchannelsubpriority = 0; //次优先级为0
nvic_initstructure.nvic_irqchannelcmd = enable; //通道中断使能
nvic_init(&nvic_initstructure); //初始化中断
}
注意:
如果外部中断针脚是pa1,pb1,pc1,pd1 那么中断就要用exti1。
如果我们配置的外部针脚为pa4,或pb4,或pc4,pd4等,那么采用的外部中断也必须是exti4;
二。配置gpio针脚 void gpio_configuration(void)
{
gpio_initstructure.gpio_pin = gpio_pin_1; //选择io针脚
gpio_initstructure.gpio_mode = gpio_mode_in_floating; //配置中断脚,配置为浮空输入
gpio_init(gpioa, &gpio_initstructure); //初始化针脚
}
注意:如果的针脚是端口的1号针脚,配置的中断一定是exti1.
三。配置exit线,使中断线和io管脚连接在一起 void exit1_configuration(void)
{
exti_inittypedef exti_initstructure;
//connect exti line1 to pb.01
gpio_extilineconfig(gpio_portsourcegpioa, gpio_pinsource1); //将exti线1连接到端口gpiod的第1个针脚上
// configure key button exti line to generate an interrupt on both rising and falling edge
exti_initstructure.exti_line = exti_line1; //注意:如果配置的1号针脚,那么必须是exti_line1
exti_initstructure.exti_mode = exti_mode_interrupt;
exti_initstructure.exti_trigger = exti_trigger_rising_falling; //下降沿和上升沿都触发
exti_initstructure.exti_linecmd = enable;
exti_init(&exti_initstructure); //初始化中断
}
到此中断配置完成,可以写中断处理函数。
void exti1_irqhandler(void)
{
if(exti_getitstatus(exti_line1) != reset)
{
// clear the exti line 9 pending bit
exti_clearitpendingbit(exti_line1);
_485_baud_check() ; //调用处理函数
}
}

示波器探头的接地问题
介绍了主要的生成模型和代表性的应用
智能手机市场成为前四强之争 OPPO在国内需要线上品牌
逻辑芯片输入的低电平有效和高电平有效
边海防监控解决方案
关于STM32配置中断和GPIO针脚问题
Mini LED背光显示器成本有望低于OLED
用于光声皮肤成像基于四维光谱-空间计算的光声显微技术
知道STM32串口通信乱码要怎么处理吗
关于基于FPGA的HDMI多模式显示模块的设计
助力东芯半导体“C位”出道 中国IC设计成就奖投票开启
碳化硅相对于硅的特性和优势有哪些
RFID传感器标签在物流业中有什么优势?
苹果拒绝Type C,或采用无线智能连接器接口或磁吸设计
为何称唱衰美国芯片“霸主”言论,还言之尚早
注资10亿美元!微软力求实现人工智能的终极梦想
镜子广告机将带来新科技的广告传播模式
博帝最新展示USB-C接口的PXD便携式SSD
贝启科技受邀参加“创响中国”OpenHarmony技术论坛并发表主题演讲
可以从哪一些方向来加快区块链落地的速度