查看: 1555|回复: 2

[已解决] LPC845 UART 突然无法收发数据,且无法修改 INTENSET 寄存器...

[复制链接]

该用户从未签到

2

主题

5

帖子

0

注册会员

Rank: 2

积分
93
最后登录
2024-8-28
发表于 2024-6-7 15:21:13 | 显示全部楼层 |阅读模式
本帖最后由 oneday123 于 2024-6-19 10:29 编辑

LPC845的使用的是uart1和uart3,转485对外通信,小样本的时候未发现异常,现在样本数据多了后,偶然会出现一个问题,就是uart3会突然无法通信,通过log发现发送数据时进不了发送中断,发送中断一直使能的,此种状态下重新初始化uart3,然后再次发送,发现发送中断无法使能 INTENSET 无法修改一直为 0;上述问题可以通过复位单片机来恢复,但是我实在想不通为什么出现这种现象;
在uart3出现问题,MCU并没有死机,主循环一直正常运行,uart1也可正常通信,所以不是死在中断中的
我知道答案 目前已有2人回答
回复

使用道具 举报

  • TA的每日心情
    开心
    2020-6-18 08:45
  • 签到天数: 812 天

    连续签到: 1 天

    [LV.10]以坛为家III

    66

    主题

    4900

    帖子

    64

    金牌会员

    Rank: 6Rank: 6

    积分
    6324
    最后登录
    2025-8-6
    发表于 2024-6-8 09:21:50 | 显示全部楼层
    贴出来所有uart相关代码,才可以分析
    开心
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    5

    帖子

    0

    注册会员

    Rank: 2

    积分
    93
    最后登录
    2024-8-28
     楼主| 发表于 2024-6-11 09:44:03 | 显示全部楼层
    本帖最后由 oneday123 于 2024-6-19 10:31 编辑

    找出问题了,是因为在MRT定时器中断函数中一次只处理了一个通道的中断,但是实际可能会出现2个通道中断标志位同时置位的情况,修改中断函数,对每个通道的中断标志位都判断一次即可
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-1 01:12 , Processed in 0.077041 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表