打印
[技术问答]

N76E003开串口中断会卡在printf

[复制链接]
1013|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
luqe|  楼主 | 2021-11-4 10:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码;将红色部分注释掉,才能用printf,不然只能用Send_Data_To_UART0发送。

void main (void)
{
        Set_All_GPIO_Quasi_Mode;
        InitialUART0_Timer3(9600);
        set_P06;set_P07;
        SCON |= 0x50;   
        set_ES;
        set_EA;
       
                        printf ("\n succes");
                        Send_Data_To_UART0('1');
       
        while(1);       
}

void SerialPort0_ISR(void) interrupt 4
{
/*************************/
                if(TI)
                {
                        TI=0;//  clr_TI;
                }
/*************************/
    if(RI)
    {  
        clr_RI;         
                         temp =SBUF;
    }
}


使用特权

评论回复
沙发
skyred| | 2021-11-4 13:49 | 只看该作者
卡在中断里?

使用特权

评论回复
板凳
luqe|  楼主 | 2021-11-4 16:44 | 只看该作者
卡在printf

使用特权

评论回复
地板
datouyuan| | 2021-11-5 09:04 | 只看该作者
printf()需要TI判断每个字符是否发送完成,中断优先清除了TI,所以卡在printf()。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

45

帖子

1

粉丝