_uCosII移植使用了T4软中断,我怎么就模拟不出来呢
_uCosII移植使用了T4软中断,我也做了一个小程序模拟计数试了一下,结果.......没有结果。请各位老师帮帮忙{:4_196:}#include "config.h"
char aa;
void T4Soft_isr() interrupt 20
{
T4IF = 0;
aa++;
}
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;
tt_Init();
while(1)
{
if(--i==0)
{
i = 437498UL;
T4IF=1;
}
}
}
源码是35M,50ms计数完成溢出一次。结果aa没反应
本帖最后由 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;
}
}
}
嗯,找到原因了,我没有使用硬件调试,是使用仿真调试出的问题,谢谢{:4_196:}
页:
[1]