[应用方案] 新唐51单片机----挖坑

[复制链接]
 楼主| 慢醇 发表于 2023-9-29 11:27 | 显示全部楼层 |阅读模式

定时器3中断与串口0中断冲突

      开启了串口0中断,同时开启了定时器3中断,串口0中断处理函数如下:


  1. void SerialPort0_ISR(void) interrupt 4
  2. {
  3.     if (RI==1)    //这个中断时接收跟发送共用的
  4.     {                                
  5.             UART_RxData(&UART_DevRx);         
  6.         clr_RI;
  7.     }
  8. }

以上中断处理函数中未清除发送完成产生的中断,如果在产生发送完成中断之后,使用定时器3中断。

     定时器3中断将不能响应。


 楼主| 慢醇 发表于 2023-9-29 11:27 | 显示全部楼层
串口0连续接收失败

    使用官方的DEMO:UART0_mode_3

    发现电脑串口连续发送10个字节数据,产生接收数据丢失的现象。

    但是间隔一定时间发送1个字节数据,发送一个10字节数据,没有数据丢失。
 楼主| 慢醇 发表于 2023-9-29 11:27 | 显示全部楼层
P1.2复位引脚设置为输入

    如下图设置

    592416516443b127f7.png
 楼主| 慢醇 发表于 2023-9-29 11:28 | 显示全部楼层
外部中断与引脚中断的使用

先看官方例程的代码:
 楼主| 慢醇 发表于 2023-9-29 11:28 | 显示全部楼层
Enable_INT_Port2;
Enable_BIT0_LowLevel_Trig;

P30 =1;
P05 = 0;

set_EPI;                //开启引脚中断
set_EX0;
set_EA;                        //global enable bit
 楼主| 慢醇 发表于 2023-9-29 11:28 | 显示全部楼层
在这里,如果只使用外部中断,不使用引脚中断,那么就不能开启引脚中断。否则会导致单片机卡死
您需要登录后才可以回帖 登录 | 注册

本版积分规则

133

主题

1381

帖子

6

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

133

主题

1381

帖子

6

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