历史上的今天
返回首页

历史上的今天

今天是:2024年12月03日(星期二)

正在发生

2020年12月03日 | STM32学习笔记——AFIO时钟的配置问题

2020-12-03 来源:eefocus

最近在写程序时发现设置外部中断出了问题,之前的程序好好的怎么就不能用了呢?经过了一晚上的折腾发现问题出在AFIO时钟的配置上,我没有使能AFIO时钟。


什么时候要开启AFIO呢?参考手册: 


说的很明白,操作AFIO的三类寄存器时需要开启: 
1.事件控制寄存器(AFIO_EVCR)
2.复用重映射和调试I/O配置寄存器(AFIO_MAPR)
3.外部中断配置寄存器x(AFIO_EXTICRx)
这三类其实是AFIO的全部寄存器, AFIO_EVCR是事件相关的,AFIO_MAPR是与重映射和调试I/O相关的,AFIO_EXTICRx是与外部中断相关的。因此管脚重映射和调试I/O配置、外部中断、事件时需开启AFIO。

 

再回头来看之前的程序能用就能理解了,在之前的程序中,我的主函数初始化区有这样两行代码:

RCC->APB2ENR |= 0x00000001;  //禁用JTAG,开启SWD

AFIO->MAPR = (0x00FFFFFF & AFIO->MAPR)|0x02000000;   

这段代码配置了JTAG和SWD引脚,同时配置了AFIO时钟。所以在后面的外部中断配置代码中没有操作AFIO也能实现功能。最终我在程序中加了这句话,问题完美解决。RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); 


推荐阅读

史海拾趣

问答坊 | AI 解惑

嵌入式CAN总线控制器与DSP的接口

现场总线是一种开放式、 数字化、多点通信的控制系统局域网络, 是当今自动化领域中最具有应用前景的技术之一。CAN总线是现场总线中的应用热点,CAN总线支持分布式控制和适时控制的串行通信网络。   由于CAN总线具有通信速率高、开放性好、报文短 ...…

查看全部问答>

非常好的模拟电路讲义【我老师写的】

这是我的老师写的模拟电路的讲义,也是我们学校每年的电子设计大赛的培训课程,很值得大家学习! …

查看全部问答>

单片机破解的常用方法及应对策略

单片机破解的常用方法及应对策略…

查看全部问答>

办公室的[危险品]手雷鼠标

在办公室里看到有人手持一个手雷,你会作何感想?别着急,这很可能就是这样一款手雷鼠标。它的功能跟普通的鼠标完全一样,只是增加了一个手雷的外壳。…

查看全部问答>

如何在驱动中创建虚拟串口与USB通信???

最近要在原来的板子上添加3G模块,用的是中兴的MC8630,但该模块的AT指令是通过串口来发送接收的,而相关的数据信息是通过USB来进行的 如此一来,我们是这样设想的:在原来的板子上模拟一个虚拟串口来接收上层的AT指令,然后该虚拟串口再把接收到的指令 ...…

查看全部问答>

pic io配置问题

pic16F506 io配置为普通的io口。不是只配置TRISB为1为输入 0输出。 我的IO怎么不听话啊。送高低电平不能控制。…

查看全部问答>

DIY导航避障车规整贴

DIY导航避障车小组今日下午展开第一次例会,在本次例会中大家集中讨论了无线的选择,避障的选择等等部分,并对小车进行了前景规划,以谷歌的自动驾驶车为终极目标,大家积极发言例会持续了一个半小时,并表示未来会采用各种新技术。下次再来把细节 ...…

查看全部问答>

关于称重传感器的电压和重量的换算公式

一个额定量程为10吨的称重传感器,激励电压为10V,灵敏度为1.0+-0.005mV/V,零点平衡+-1%F.S,综合误差为+-0.02%F.S 那么在货物重量为5吨时,误差应该是:5TX0.02%=0.001t=1千克吧。。 那么按网上一些知识的理解,当货物为10吨的时候,在10V的激 ...…

查看全部问答>

【TI原创】LM3S8962SD卡例程不好用的解决办法

      这个有的网友调通过,我调了不通,有看官问了,你笔记发了不少,网络程序也编成功并跑通了。怎么SD卡例程还调不通。真地假地?      我SD卡调通过但不是例程。我现在说的是开发板上的TI原装例 ...…

查看全部问答>