huxudong386 发表于 2025-6-3 09:32:39

请教 STC32G单片机运行结果比实际设置频率慢很多 | 已提供正确程序

我用STC32G 用keil开发环境keil设置频率为24M 编程器烧写也选的24M,
但程序写入单片机实际运行程序慢很多,
我程序延时是500ms,但实际延时是4秒,是怎么回事呢

神农鼎 发表于 2025-6-3 13:58:26



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表示用最快速度访问,不增加额外的等待时间

ercircle 发表于 2025-6-3 09:38:34

此处应该贴代码。
延时函数不准?被中断频繁打断?使用定时器呢?

Ayb_ice 发表于 2025-6-3 09:56:57

直接取反GPIO测试

huxudong386 发表于 2025-6-3 10:47:14

ercircle 发表于 2025-6-3 09:38
此处应该贴代码。
延时函数不准?被中断频繁打断?使用定时器呢?

现在就只是驱动一个LED取反显示 其它程序都屏蔽了呢 我不知道这款STC32单片机程序需不需要对频率设置呢,还是STC像8位单片机只需在烧写时勾选频率即可呢

huxudong386 发表于 2025-6-3 10:47:45

Ayb_ice 发表于 2025-6-3 09:56
直接取反GPIO测试

现在就只是驱动一个LED取反显示 其它程序都屏蔽了呢 我不知道这款STC32单片机程序需不需要对频率设置呢,还是STC像8位单片机只需在烧写时勾选频率即可呢

Ayb_ice 发表于 2025-6-3 13:12:34

huxudong386 发表于 2025-6-3 10:47
现在就只是驱动一个LED取反显示 其它程序都屏蔽了呢 我不知道这款STC32单片机程序需不需要对频率设置呢, ...
一样的,ISP下载时设置即可
LED取反,还需要跳转指令3个周期,这个你考虑了没有呢,一共是4个周期,理论上是24/6,约4M的频率,用示波器看看

huxudong386 发表于 2025-6-5 08:53:57

神农鼎 发表于 2025-6-3 13:58
https://www.stcaimcu.com/data/download/Datasheet/STC32G.pdf




感谢指导 问题已经解决{:touxiao:}需要设置以下,CKCON = 0x00;                        //STC32需设置外部数据总线速度为最快
WTST = 0x00;

huxudong386 发表于 2025-6-5 08:56:32

Ayb_ice 发表于 2025-6-3 13:12
一样的,ISP下载时设置即可
LED取反,还需要跳转指令3个周期,这个你考虑了没有呢,一共是4个周期,理论上是24/ ...

感谢指导!问题解决了,需要设置一下就好了:CKCON = 0x00;                        //STC32需设置外部数据总线速度为最快
WTST = 0x00;
页: [1]
查看完整版本: 请教 STC32G单片机运行结果比实际设置频率慢很多 | 已提供正确程序