在线时间10 小时
UID2101870
注册时间2014-10-29
NXP金币0
该用户从未签到
注册会员

- 积分
- 138
- 最后登录
- 2017-12-26
|
本帖最后由 ddk 于 2015-6-19 10:40 编辑
Rt,一开始先初始化串口,使能开启接收中断,等待串口中断接收到指令之后往后跑,开启PIT定时器,然后定时器照样跑,串口就进不了接收中断了
DisableInterrupts;
{
uart_init (UART0,115200) ;
uart_irq_EN(UART0);
EnableInterrupts;
while(flag_lock);
pit_init_ms(PIT0, 1); //初始化PIT0,定时时间为: 1ms
}
怀疑是中断优先级的问题
{
uart_init (UART0,115200) ;
uart_irq_EN(UART0);
set_irq_priority (12, 0);
EnableInterrupts;
while(flag_lock);
pit_init_ms(PIT0, 1); //初始化PIT0,定时时间为: 1ms
set_irq_priority (22, 1);
}
加了两句设置优先级的,但还是一样的效果,
今早查了一下,发现有个函数调用了就不行,拉出pit中断,在main里执行,也不行,再细究,里面的有连续6个io模拟I2C,减到2个就行了,3个就不稳定,可这是在main里面的,居然中断不能打断它
|
|