本帖最后由 FSL_TICS_A 于 2014-2-6 22:27 编辑
ucos+串口中断问题。串口可以正常发送至上位机(串口助手),但是接受进中断不正常,刚开始还可以进中断(10次以内),然后就再也不进中断。
同样的配置裸机正常。
配置代码:
1 在任务中初始化
UART_IRQ_DIS(UART3);
uart_init(UART3, 9600); //初始化串口3 B10 B11
UART_IRQ_EN(UART3); //串口3 开接收中断
set_irq_priority (67,0); //优先级
EnableInterrupts;
2 isr.c
void USART3_IRQHandler(void)
{
uint8 ch;
// DisableInterrupts; //关总中断
OSIntEnter();
//接收一个字节数据并回发
ch = uart_getchar (UART3); //接收到一个数据
uart_putchar (UART3, ch); //就发送出去
OSIntExit();
// EnableInterrupts; //开总中断
}
3 isr。h
#undef VECTOR_067
#define VECTOR_067 USART3_IRQHandler //重新宏定义
extern void USART3_IRQHandler(void);
|