先说TIM_ARRPreloadConfig设置为DISABLE 和ENABLE的问题,他的作用只是允许或禁止在定时器工作时向ARR的缓冲器中写入新值,以便在更新事件发生时载入覆盖以前的值。在开始初始化的时候你已经把" TIM_TimeBaseStructure.TIM_Period=2000; //ARR的值 ",后来也一直是这个值,原因是你没有编写中断服务函数或者你在中断服务函数中根本就没有给ARR缓冲器重新写入新值,所以设置为DISABLE 和ENABLE都没有影响。
再说一下TIM_TimeBaseStructure.TIM_Prescaler=0还是9的问题,这个很简单,程序后面调用了TIM_PrescalerConfig(TIM2,35999,TIM_PSCReloadMode_Immediate);这个函数把之前的值给修改了,你可以把这个函数注释掉然后再改前面的值,或者直接改后面的那个35999,应该就不一样了。这两个地方都是给PSR寄存器写入值,为什么后面多此一举又专门调用函数
我要赚赏金打赏帖 |
|
|---|---|
| 三分钟快速搭建NXP MCU开发环境(VSCode)被打赏¥22元 | |
| 为遥控小车巧添功能被打赏¥26元 | |
| 【S32K3XX】FlexCAN 模块配置使用被打赏¥30元 | |
| 【S32K3XX】FlexCAN RAM 资源分配整理被打赏¥25元 | |
| 【S32K3XX】IPCF 适配核间中断处理被打赏¥21元 | |
| 【S32K3XX】IPCF 核间通讯模块UNMANAGED方式使用被打赏¥29元 | |
| 片外存储Flash使用方法(Arduino IDE环境)被打赏¥22元 | |
| 三分钟快速上手ESP-NOW(ArduinoIDE环境)被打赏¥23元 | |
| 【S32K3XX】LPSPI参数配置说明被打赏¥21元 | |
| 在WT9932C61-TINY上实现超声波测距被打赏¥22元 | |
我要赚赏金
