本帖最后由 t176 于 2023-3-20 15:13 编辑
在STC32G.h头文件中 定义
sbit T2_CT = AUXR^3;
但是STC官方文档的代码案列和STC32G.h文件头都没有定义T2CT变量,或者宏定义T2CT,那么编译是肯定报错的
以下代码摘自STC32G.PDF 397-398页的代码
14.5.17 定时器 2(外部计数-扩展 T2 为外部下降沿中断)
- #include "stc32g.h" //头文件见下载软件
- #include "intrins.h"
- void TM2_Isr() interrupt 12
- {
- P10 = !P10; //测试端口
- }
- void main()
- {
- EAXFR = 1; //使能访问 XFR
- CKCON = 0x00; //设置外部数据总线速度为最快
- WTST = 0x00; //设置程序代码等待参数,
- //赋值为 0 可将 CPU 执行程序的速度设置为最快
- P0M0 = 0x00;
- P0M1 = 0x00;
- P1M0 = 0x00;
- P1M1 = 0x00;
- P2M0 = 0x00;
- P2M1 = 0x00;
- P3M0 = 0x00;
- P3M1 = 0x00;
- P4M0 = 0x00;
- P4M1 = 0x00;
- P5M0 = 0x00;
- P5M1 = 0x00;
- T2L = 0xff;
- T2H = 0xff;
- T2CT = 1; T2R = 1; //设置外部计数模式并启动定时器
- ET2 = 1; //使能定时器中断
- EA = 1;
- while (1);
- }
复制代码
很显然 这示列代码中 T2_CT 遗失了_下划线,被写成了T2CT
|