UCOS的Uart0中断

[复制链接]
 楼主| jiahy 发表于 2018-8-15 16:39 | 显示全部楼层 |阅读模式
只能进入1次接收中断,不能产生发送中断,所有的任务都不执行了
lizye 发表于 2018-8-15 16:46 | 显示全部楼层

结构式
 楼主| jiahy 发表于 2018-8-15 16:50 | 显示全部楼层
产生接收中断,根据接收的数据,再发送数据,没有发送完,在产生发送中断,将数据发送完。
liliang9554 发表于 2018-8-15 16:56 | 显示全部楼层
将OSIntExit();注销呢
 楼主| jiahy 发表于 2018-8-15 16:59 | 显示全部楼层
注销,就可以进入发送中断
shimx 发表于 2018-8-15 17:03 | 显示全部楼层
任务都不能执行了
 楼主| jiahy 发表于 2018-8-15 17:06 | 显示全部楼层

是啊,所有的任务都不能执行了。
spark周 发表于 2018-8-15 17:09 | 显示全部楼层
有程序吗
 楼主| jiahy 发表于 2018-8-15 17:13 | 显示全部楼层

void IntUart0(void)   //Uart0接收中断
{                                                                                                                        
        #if OS_CRITICAL_METHOD == 3
        OS_CPU_SR  cpu_sr;
        #endif
        OS_ENTER_CRITICAL();                     
        OSIntNesting++;
        OS_EXIT_CRITICAL();

        
        ulStatus = UARTIntStatus(UART0_BASE, true);            //  读取当前中断状态
        UARTIntClear(UART0_BASE, ulStatus);                     //  清除中断状态
        
        if((ulStatus&UART_INT_RT)||(ulStatus&UART_INT_RX))//接收超时中断, 接收中断
        {
        我的程序
        }
        else if (ulStatus&UART_INT_TX)                             // 发送中断
          {
        我的程序
        }        
        else
        {
        }        
        OSIntExit();
}
liliang9554 发表于 2018-8-15 17:16 | 显示全部楼层
我也之前见过这个程序
午夜粪车 发表于 2018-8-15 17:22 | 显示全部楼层
清楚中断标志了么?
zhaoxqi 发表于 2018-8-15 17:26 | 显示全部楼层
这个的却是需要注意的,检查下接收中断口的吧
huangchui 发表于 2018-8-15 17:35 | 显示全部楼层
对,特别是相关的寄存器的配置的
 楼主| jiahy 发表于 2018-8-15 17:40 | 显示全部楼层

对,我看下
wuhany 发表于 2018-8-15 17:46 | 显示全部楼层
中断执行完是不是得清标志位啊
wuhany 发表于 2018-8-16 09:06 | 显示全部楼层

你的中断里面有多少的函数呢
uosc的时钟是怎么分配的。
 楼主| jiahy 发表于 2018-8-16 09:09 | 显示全部楼层

哦,那我就知道怎么回事了,多谢大家,结贴了哈
angerbird 发表于 2018-8-16 09:57 | 显示全部楼层
该中断需要软件清楚的
smilingangel 发表于 2018-8-16 09:59 | 显示全部楼层
该中断是可以多次响应的
chuntian2016 发表于 2018-8-16 10:43 | 显示全部楼层
中断设计的很重要的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

862

主题

9861

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部

862

主题

9861

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部