请教 STC32G单片机运行结果比实际设置频率慢很多 | 已提供正确程序
我用STC32G 用keil开发环境keil设置频率为24M 编程器烧写也选的24M,但程序写入单片机实际运行程序慢很多,
我程序延时是500ms,但实际延时是4秒,是怎么回事呢
https://www.stcaimcu.com/data/download/Datasheet/STC32G.pdf
#include <STC32G.H> //包含AI8051U的头文件
void Delay500ms(void) //@24.000MHz
{
unsigned long edata i;
_nop_();
_nop_();
i = 2999998UL;
while (i) i--;
}
void main(void)
{
EAXFR = 1; //允许访问扩展的特殊寄存器,XFR
//(32位模式请使用这句,注释下一句)
//P_SW2 |= 0x80; //允许访问扩展的特殊寄存器,XFR
//(8位模式请使用这句,注释上一句)。
WTST = 0; //设置取程序代码等待时间,
//赋值为 0表示不等待,程序以最快速度运行
CKCON = 0; //设置访问片内的 xdata速度,
//赋值为 0表示用最快速度访问,不增加额外的等待时间
此处应该贴代码。
延时函数不准?被中断频繁打断?使用定时器呢? 直接取反GPIO测试 ercircle 发表于 2025-6-3 09:38
此处应该贴代码。
延时函数不准?被中断频繁打断?使用定时器呢?
现在就只是驱动一个LED取反显示 其它程序都屏蔽了呢 我不知道这款STC32单片机程序需不需要对频率设置呢,还是STC像8位单片机只需在烧写时勾选频率即可呢 Ayb_ice 发表于 2025-6-3 09:56
直接取反GPIO测试
现在就只是驱动一个LED取反显示 其它程序都屏蔽了呢 我不知道这款STC32单片机程序需不需要对频率设置呢,还是STC像8位单片机只需在烧写时勾选频率即可呢 huxudong386 发表于 2025-6-3 10:47
现在就只是驱动一个LED取反显示 其它程序都屏蔽了呢 我不知道这款STC32单片机程序需不需要对频率设置呢, ...
一样的,ISP下载时设置即可
LED取反,还需要跳转指令3个周期,这个你考虑了没有呢,一共是4个周期,理论上是24/6,约4M的频率,用示波器看看
神农鼎 发表于 2025-6-3 13:58
https://www.stcaimcu.com/data/download/Datasheet/STC32G.pdf
感谢指导 问题已经解决{:touxiao:}需要设置以下,CKCON = 0x00; //STC32需设置外部数据总线速度为最快
WTST = 0x00; Ayb_ice 发表于 2025-6-3 13:12
一样的,ISP下载时设置即可
LED取反,还需要跳转指令3个周期,这个你考虑了没有呢,一共是4个周期,理论上是24/ ...
感谢指导!问题解决了,需要设置一下就好了:CKCON = 0x00; //STC32需设置外部数据总线速度为最快
WTST = 0x00;
页:
[1]