stm32的AFIO是啥意思
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32的AFIO是啥意思相关的知识,希望对你有一定的参考价值。
我初学,不知道复用是什么意思,先谢谢了
意思是如果在你的程序中,某些外设用的是复用IO口,就必须开该复用时钟。比如在STM32F103VET6中USART3的IO口为(TX/PB10,RX/PB11)。但是如果你要是将给外设IO口映射到(TX/PC10,RX/PC11)或者(TX/PD8,RX/PD9),那就必须开启AFIO时钟了,否则外设不会正常工作。 参考技术A 可靠的蓄势:你举的例子是IO口重映射,不是IO口复用。IO口复用不必使能AFIO,重映射时需使能AFIO。 具体如下: 操作AFIO的三类寄存器时需要开启: AFIO_EVCR AFIO_MAPR AFIO_EXTICRx 这三类其实是AFIO的全部寄存器, AFIO_EVCR是事件相关的,AFIO_MAPR是与重映射相关的,AFIO_EXTICRx是与外部中断相关的。 因此管脚重映射、外部中断、事件时开启。 参考技术B 与AFIO 相关的寄存器有:
1、 事件控制寄存器(AFIO_EVCR)
2、 复用重映射和调试I/O 配置寄存器(AFIO_MAPR)
3、 外部中断配置寄存器1(AFIO_EXTICR1)
4、 外部中断配置寄存器2(AFIO_EXTICR2)
5、 外部中断配置寄存器3(AFIO_EXTICR3)
6、 外部中断配置寄存器4(AFIO_EXTICR4)
※所以,只要是对对寄存器 AFIO_EVCR、AFIO_MAPR 和 AFIO_EXTICRX 进行读写操作前,就要打开 AFIO 的时钟,而不仅仅是重映射的时候才打开!!!
从这些寄存器的定义知道,这些寄存器是用于“事件控制”、“重映射”、“调试IO配置”、“外部中断”的。例如 AFIO_EXTICRX 用于选择 EXTIx 外部中断的输入源。
总结:当我们需要配置这些 AFIO 寄存器的时候,就需要打开 RCC_APB2ENR 寄存器的 AFIO 时钟,而不是用到引脚复用功能的时候打开。
STM8 ADC_CR1;ADC_CR2;这个是啥意思呢
ADC_CR1= 0x02; //这里设置分频系数为2 连续转换模式 先禁止ADC转换
ADC_CR2=0x08; //设置数据右对齐 禁止扫描模式
STM8模拟/数字转换器(ADC)简介
ADC1和ADC2是10位的逐次比较型模拟数字转换器。提供多达16个多功能的输入通道(实际准确的通道数量在数据手册的引脚描述说明)。A/D转换的各个通道可以执行单次和连续的转换模式。
相对于ADC2,ADC1具有一些扩展功能,包括扫描模式,带缓存的连续模式以及模拟看门狗。
请参考STM8数据手册来了解不同产品型号的ADC1和ADC2的功能信息。
主要特点
ADC1和ADC2的功能如下:
10位的分辨率
单次和连续的转换模式
可编程的(转换频率的)预分频:fMASTER可以被分频2到18
可以选择ADC专用外部中断(ADC_ETR)或者定时器触发信号(TRGO)来作为外部触发信号
模拟放大(对于具有VREF引脚的型号)
转换结束时可产生中断
灵活的数据对齐方式
ADC输入电压范围:VSSA≤VIN≤VDDA
扩展(增强)功能
ADC1具有以下扩展功能:
带缓冲的连续转换模式(1)
单次和连续转换的扫描模式
具有上限和下限门槛的模拟看门狗
模拟看门狗事件发生可产生中断
以上是关于stm32的AFIO是啥意思的主要内容,如果未能解决你的问题,请参考以下文章