
同样的程序进行比较: AVR单片机外接16M晶振:运行程序是矩阵按键扫描采用定时器中断100ms扫描一次、还有串口接收中断程序1S接收一次运行程序上后,串口接收中断程序不会影响矩阵按键扫描,不会发生丢失按键动作现象。 STM32F103外接8M晶振:同样的是矩阵按键扫描采用定时器中断100ms扫描一次、还有串口接收中断程序1S接收一次 运行程序上后,串口接收中断程序就直接影响到矩阵按键扫描,就是在执行串口接收中断程序时,检测不到按键,发生丢失按键动作现象。 按理说STM32F103的系统时钟是72M,而AVR单片机晶振是16M,STM运行速度要快很多,不应该出现丢失按键动作的现象啊?难道是这两款单片机的中断机制不一样造成的吗?AVR单片机是没有中不需要设置中断优先级的,而STM32F103是需要设置中断优先级的,问题是我不管怎么设置中断优先级都没什么用,还是会发生丢失按键动作现象??? |
stm32编码器模式计数问题
关于ASM330LHH TR调试中的问题
STM32会存在单个IO口坏掉的情况吗?
STM32的DCode bus是连接到bus matrix的吗?参考手册描述和图片是不符吗?
stm32ide怎么正确的导出项目
STM32F105RBT6 2025年 ROSH REACH 报告
STM32CubeMX 使用"FW_F1 V1.8.6"生成FreeRTOS代码缺少"freertos_mpool.h"?
你好,我的setting里面设置都没有问题。但是显示failed download cortexm3
STM32F103C8出現找不到'STM32100B_EVAL/stm32100b_eval.h' file not found
stm32f407无法配置定时器2为全部dma
100ms定时器设置没有问题,都测试过了。
就算把100ms改成50ms,按键检测也会丢失,而且串口中断里面的程序也不多,也没有占用多少时间。
1. 时钟配置是否正确?默认情况下 STM32F103 的默认时钟是片内 8MHz RC 振荡器,你需要手动打开外部晶振,再把时钟调整成 PLL 72MHz。
2. I/O 端口的速度配置是否正确?STM32F103 的端口速度有 2MHz、10MHz、50MHz 三种配置。
程序或硬件问题,并不是STM32不行。
中断服务中不要执行太长代码,不要出现while死循环等待。