又想到一个问题,如果我改变MCU的运行频率,是不是将现在40MHz的频率降频到某个频率就可以了?
我想降频 ...
果然降频后原来不正常的程序也正常了。
原来引起程序不正常的代码是:
#define OnOff_X_500ms(A, B) {A = B; B = ~A; Delay500ms();}
现在恢复原来的代码,编译后下载到擎天柱核心板上时,只在AIapp-ISP软件中将“用户程序运行时的IRC频率”从40.000MHz改到20.000MHz,程序就正常了,只是灯的流动速度明显慢了,应该是速度减少到一半。
可见原来程序逻辑上没问题,问题出在对端口赋值后接着读取时,由于端口电子性能跟不上MCU运行时序,造成读取到一个不稳定或者错误的数值。将MCU降频后,MCU运行时序慢下来,端口的电子性能虽然没变,但MCU读取端口数据时的时间拖后了,反而等来了正确的端口数据。
注:
测试AIapp-ISP软件中“用户程序运行时的IRC频率”默认的几个选项,只有从40.000MHz降到20.000MHz程序才开始正常。
我心飞扬 发表于 2025-4-11 12:49
谢谢你的回复及帮助。
我将代码改成如下:
#define OnOff_X_500ms(A, B) {A = B; B = ~A; B = ~A; Delay5 ...
bit用!其他用~ 我心飞扬 发表于 2025-4-11 12:57
又想到一个问题,如果我改变MCU的运行频率,是不是将现在40MHz的频率降频到某个频率就可以了?
我想降频 ...
对 今天看论坛中帖子,此贴:Ai8051U 入门视频 合集-布丁橘长-更新至第14集中的视频:第11集 端口内部上拉&下拉电阻_PxPU和PxPD中讲的比较清楚。
讲的很好!
本贴所说问题彻底清楚了!
页:
1
[2]