找回密码
 立即注册
楼主: 我心飞扬

请教高手:擎天柱核心板-Ai8051U-32K64-实现流水灯程序为何显示有些乱?

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:33
  • 最近打卡:2025-05-01 01:40:00
已绑定手机

13

主题

75

回帖

333

积分

中级会员

积分
333
发表于 2025-4-11 13:28:06 | 显示全部楼层
我心*** 发表于 2025-4-11 12:57
又想到一个问题,如果我改变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程序才开始正常。
学习MCU
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2025-4-11 13:43:33 | 显示全部楼层
我心*** 发表于 2025-4-11 12:49
谢谢你的回复及帮助。
我将代码改成如下:
#define OnOff_X_500ms(A, B) {A = B; B = ~A; B = ~A; Delay5 ...

bit用!其他用~
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2025-4-11 13:43:52 | 显示全部楼层
我心*** 发表于 2025-4-11 12:57
又想到一个问题,如果我改变MCU的运行频率,是不是将现在40MHz的频率降频到某个频率就可以了?
我想降频 ...

DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:33
  • 最近打卡:2025-05-01 01:40:00
已绑定手机

13

主题

75

回帖

333

积分

中级会员

积分
333
发表于 2025-4-13 03:58:28 | 显示全部楼层
今天看论坛中帖子,此贴:Ai8051U 入门视频 合集-布丁橘长-更新至第14集中的视频:第11集 端口内部上拉&下拉电阻_PxPU和PxPD中讲的比较清楚。
讲的很好!
本贴所说问题彻底清楚了!
学习MCU
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:19 , Processed in 0.143735 second(s), 65 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表