- 打卡等级:初来乍到
- 打卡总天数:5
- 最近打卡:2025-04-30 07:46:22
荣誉版主
- 积分
- 2319
|
发表于 2023-12-22 22:41:09
|
显示全部楼层
本帖最后由 tzz1983 于 2023-12-22 22:48 编辑
你是如何看出没有反应的呢? 刚才用(STC32G12K128屠龙刀)测试了一下你这个代码, 可以正常产生中断.
在你代码的基础上增加了两条语句: P2M0=0XFF; P2=~P2; 是为了可以直观的看到中断发生的频率. 下面是代码
#include "Config.h"
char aa;
void T4Soft_isr() interrupt 20
{
T4IF = 0;
aa++;
P2=~P2; //每次发生中断, P2翻转, 可见LED闪烁
}
void tt_Init()
{
T4IF = 0;
ET4 = 1;
EA = 1;
}
void main()
{
unsigned long edata i;
_nop_();
_nop_();
i = 437498UL;
WTST = 0;
EAXFR = 1;
CKCON = 0;
P2M0=0XFF; //P2设置为推挽
tt_Init();
while(1)
{
if(--i==0)
{
i = 437498UL;
T4IF=1;
}
}
}
|
|