尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
stm32寄存器编程--AFIO、EXTI、NVIC
先讲讲AFIO,其实这个不难主要功能就是复用重映射引脚和链接外部中断引脚。1、先讲讲复用引脚重映射我们的板子上有许多引脚也有许多外设也有对应的外设引脚未免会有一些引脚拥有多种功能比如说定时器的引脚和uart的引脚共用如果我们需要同时用到可以使用AFIO将某一个引脚映射到其他引脚使用举个例子我们此时可以通过AFIO去将PA9,PA10映射到PB6,PB7这就是AFIO的其中一个作用。寄存器的话我建议自己去翻数据手册。记得先使能AFIO时钟。优先级这一块要了解NVIC:管理中断选择中断源设置优先级组中断仲裁(多个中断就绪的时候按照优先级来选择)一个demoNVIC的寄存器配置比较抽象一些要先配置SCB-AIRCR设置优先级组这边是一个极简写法详细在NVIC_Init函数实现里面其他寄存器对着手册配就好。#include stm32f10x.h // Device header #include Delay.h #include OLED.h void gpio_init(){ //开启GPIOA的时钟 RCC-APB2ENR | (1ul 2); //PA0浮空输入0100 GPIOA-CRL ~(0x0F (4 * 0)); GPIOA-CRL | (0x04 (4 * 0)); //PA5推挽输出0011 GPIOA-CRL ~(0x0F (4 * 5)); GPIOA-CRL | (0x03 (4 * 5)); } void afio_exti_init(){ //开启AFIO时钟 RCC-APB2ENR | (1ul 0); //AFIO_EXTICR1操作低四位EXTI0[3:0]然后选择PA0 AFIO-EXTICR[0] ~(0x0F (4 * 0)); //开放来自线0上的中断请求 EXTI-IMR | (1ul 0); //允许输入线0上的下降沿触发 EXTI-FTSR | (1ul 0); } void nvic_init(){ //优先级组2位抢占优先级2位子优先级 SCB-AIRCR | (0x5FA 16) | (1ul 10) | (1ul 8); SCB-AIRCR ~(1ul 9); //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); /*设置优先级,抢占优先级2子优先级1这里是我本人知道优先级组22的情况如果是其他优先级组的话参考官方写法。 如果是31的话NVIC-IP[6] ((2 1) | 1) 4;抢占只左移一位4个位置占三个就有0~7可选子优先级只有1位只有0~1可选 */ NVIC-IP[6] ((1 2) | 1) 4; //开启EXTI0_IRQn中断注意查看中断号数组下标为中断号/32后面为中断号对32取余以此类推 NVIC-ISER[0] | (1ul 6); // NVIC_InitTypeDef NVIC_InitStruct; // NVIC_InitStruct.NVIC_IRQChannel EXTI0_IRQn; //中断响应函数 // NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority 1; //抢占优先级 // NVIC_InitStruct.NVIC_IRQChannelSubPriority 1; //子优先级 // NVIC_InitStruct.NVIC_IRQChannelCmd ENABLE; //使能中断 // // NVIC_Init(NVIC_InitStruct); } void led_toggle(){ if(GPIOA-ODR (1ul 5)){ GPIOA-BSRR (1ul 21); } else{ GPIOA-BSRR (1ul 5); } } void EXTI0_IRQHandler(){ if(EXTI-PR (1ul 0)){ led_toggle(); //清除中断标志位 EXTI-PR | (1ul 0); } } int main(void) { gpio_init(); afio_exti_init(); nvic_init(); while (1) { } }
RELATED

相关推荐

【出海 ERP】「推一下、停一下」:海外 ERP 长停顿的同一模式与复工 SOP

【出海 ERP】「推一下、停一下」:海外 ERP 长停顿的同一模式与复工 SOP

海外制造主体、订单量不算爆炸的 ERP 项目,我也见过 停两次、每次几周到几月。表面理由各不相同:财务口径、进口费用、集团调度邮件——拆到底,经常是 同一模式:外部确认没闭合 → 项目组 怕耽误工期 → 并行配 Odoo / 烧人天 → …

📅 2026/11/3 19:31:05
如何批量解析超长PDF文档?Unlimited-OCR-2多页解析最佳实践

如何批量解析超长PDF文档?Unlimited-OCR-2多页解析最佳实践

如何批量解析超长PDF文档?Unlimited-OCR-2多页解析最佳实践 【免费下载链接】Unlimited-OCR-2 项目地址: https://ai.gitcode.com/hf_mirrors/baidu/Unlimited-OCR-2 解析几百页的超长 PDF 一直是 OCR 的难题:逐页识别会丢失跨页上下文&#xff…

📅 2026/11/3 19:26:05
大模型Agent进阶指南:掌握ReAct、Loop、Graph模式,让你的Agent会查资料、写代码、跑测试、修Bug!收藏必备!

大模型Agent进阶指南:掌握ReAct、Loop、Graph模式,让你的Agent会查资料、写代码、跑测试、修Bug!收藏必备!

本文深入解析了主流的Agent设计模式,包括ReAct、Loop、Graph三大主线和7种常用扩展模式,详细阐述了它们的原理、结构、适用场景及选择方法。通过学习这些模式,开发者可以将Agent的调用从简单的问答提升到自主查资料、写代码、跑测试、修Bug的…

📅 2026/11/3 19:26:05
MORE NEWS

更多资讯

📰

工业相机MVS客户端:GigE接入、丢包排查与批量部署

简介:《海康工业相机软件MVS用户手册》面向工业视觉工程师、自动化设备调试人员和机器视觉初学者,是一份用于指导海康机器人工业相机客户端MVS使用与配置的操作手册,可帮助读者完成软件环境搭建、相机连接、图像采集与参数调试。内容涵盖产品…

📰

Token Plan个人版免费额度解析:Harness工具调用不占主Credits

1. 从"按量付费"到"订阅制":Token Plan到底在解决什么问题 这几年用阿里云百炼(Model Studio)的人越来越多,但很长一段时间里,大家在模型调用这件事上的计价体验其实是有点"拧巴"的。一…

📰

Agent出行的空间基础设施:地图API接入实战与踩坑指南

我一直觉得,导航软件是普通人感知AI渗透最不自觉的一个入口。过去十年我们用百度地图,是为了找路、看路况、打车;但从Agent开始活跃的这两年,“地图”这个老牌产品的角色正在发生一次很安静的换血——它不再只是给人指路的工具&am…

📰

RuoYi与RAGFlow集成实践:打造私有化知识库问答系统

最近两个月我们团队一直在忙一件事:把公司内部的 RuoYi 后台管理系统和 RAGFlow 知识库引擎彻底打通,做一个真正能落地的私有化知识库。RuoYi 是很多团队现成的 Java 后台框架,权限、菜单、定时任务都齐全,但知识还是散落在网盘和…

📰

智能制造2025:典型场景与技术实施指南

1. 智能制造2025典型场景指南解读这份《智能制造典型场景参考指引(2025年版)》是指导制造业数字化转型的重要技术文件,系统梳理了16个关键环节的45个典型应用场景。作为参与过多个智能工厂落地的技术顾问,我认为这份指引最核心的价…

📰

SolidWorks PDM移动树与复制树核心机制解析

1. 项目概述:为什么“移动树”和“复制树”是PDM用户每天都在碰、却总在踩坑的核心操作SolidWorks PDM不是个摆设型的文档管理系统,它真正活起来的地方,就在工程师日常点击右键的那两下——“移动树”和“复制树”。这两个功能名字听起来平平…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬