找回密码
 立即注册
查看: 200|回复: 5

第一次编译,就过不去了

[复制链接]

28

主题

156

回帖

1158

积分

金牌会员

积分
1158
发表于 2026-8-11 15:43:48 | 显示全部楼层 |阅读模式
编译如下代码:

#include "Ai8051U.H"
#include "intrins.h"

void Timer11_Isr(void) interrupt 67
{
     P10 = !P10;          // P1.0翻转,用于观察1ms中断是否产生
}

void Timer11_Init(void)                //1毫秒@11.0592MHz
{
        P_SW2 |= 0x80;                        //使能访问XFR寄存器
        T11CR &= 0xf3;                        //选择时钟源 (系统时钟SYSclk)
        T11CR |= 0x10;                        //定时器时钟1T模式
        T11L = 0xCD;                        //设置定时初始值
        T11H = 0xD4;                        //设置定时初始值
        T11CR |= 0x80;                        //定时器11开始计时
        T11CR |= 0x02;                        //使能定时器11中断
}

void main(void)
{
    // 将所有I/O设为准双向口
    P0M1 = 0x00;  P0M0 = 0x00;
    P1M1 = 0x00;  P1M0 = 0x00;
    P2M1 = 0x00;  P2M0 = 0x00;
    P3M1 = 0x00;  P3M0 = 0x00;
    P4M1 = 0x00;  P4M0 = 0x00;
    P5M1 = 0x00;  P5M0 = 0x00;
    P6M1 = 0x00;  P6M0 = 0x00;
    P7M1 = 0x00;  P7M0 = 0x00;
    Timer11_Init();

    EA = 1;              // 打开总中断

    while (1)
    {
       P11=!P11;
    }
}

提示错误:
[color=var(--gold)]位置未知
[color=var(--red)]pre2 is not defined



回复

使用道具 举报 送花

已绑定手机

11

主题

484

回帖

1362

积分

金牌会员

积分
1362
发表于 2026-8-11 16:29:07 | 显示全部楼层
无标题.jpg
回复

使用道具 举报 送花

已绑定手机
已实名认证

148

主题

4098

回帖

1万

积分

超级版主

积分
10914
发表于 2026-8-11 16:46:39 | 显示全部楼层
你好,报错部分的提示明确性还在优化,stcide目前暂时只针对stc32g12k128,其他型号只是占位,但是后续更新会进行适配,逐步更新完善
回复

使用道具 举报 送花

已绑定手机

11

主题

484

回帖

1362

积分

金牌会员

积分
1362
发表于 2026-8-11 16:56:43 | 显示全部楼层
无标题.jpg

程序略有修改,实测完美复现
  1. #include "Ai8051U.H"
  2. #include "intrins.h"
  3. unsigned int num;//计数变量
  4. bit flag;//中断标志
  5. void Timer11_Isr(void) interrupt 67
  6. {
  7.         if(++num>=500)        // 500ms中断
  8.         {
  9.                 num=0;
  10.                 flag=1;
  11.         }
  12. }
  13. void Timer11_Init(void)                //1毫秒@11.0592MHz
  14. {
  15.         P_SW2 |= 0x80;                        //使能访问XFR寄存器
  16.         T11CR &= 0xf3;                        //选择时钟源 (系统时钟SYSclk)
  17.         T11CR |= 0x10;                        //定时器时钟1T模式
  18.         T11L = 0xCD;                        //设置定时初始值
  19.         T11H = 0xD4;                        //设置定时初始值
  20.         T11CR |= 0x80;                        //定时器11开始计时
  21.         T11CR |= 0x02;                        //使能定时器11中断
  22. }
  23. void main(void)
  24. {
  25.     // 将所有I/O设为准双向口
  26.     P0M1 = 0x00;  P0M0 = 0x00;
  27.     P1M1 = 0x00;  P1M0 = 0x00;
  28.     P2M1 = 0x00;  P2M0 = 0x00;
  29.     P3M1 = 0x00;  P3M0 = 0x00;
  30.     P4M1 = 0x00;  P4M0 = 0x00;
  31.     P5M1 = 0x00;  P5M0 = 0x00;
  32.     P6M1 = 0x00;  P6M0 = 0x00;
  33.     P7M1 = 0x00;  P7M0 = 0x00;
  34.     Timer11_Init();
  35.     EA = 1;              // 打开总中断
  36.         while (1)
  37.         {
  38.                 if(flag)
  39.                 {
  40.                         flag=0;
  41.                         P20=!P20;       //闪烁
  42.                 }
  43.         }
  44. }
复制代码


回复

使用道具 举报 送花

28

主题

156

回帖

1158

积分

金牌会员

积分
1158
 楼主| 发表于 2026-8-11 20:15:36 | 显示全部楼层

这个是STC自己的编译器,不是C251
回复

使用道具 举报 送花

28

主题

156

回帖

1158

积分

金牌会员

积分
1158
 楼主| 发表于 2026-8-11 20:34:56 | 显示全部楼层
wul*** 发表于 2026-8-11 16:56
程序略有修改,实测完美复现

我是在验证STCIDE,不是程序有什么问题
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-11-8 02:00 , Processed in 0.072991 second(s), 71 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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