查看: 2002|回复: 11

[求助] 请问lpc1768的cti的中断机制如何理解?

[复制链接]
  • TA的每日心情
    开心
    2020-12-18 10:54
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    40

    主题

    262

    帖子

    0

    高级会员

    Rank: 4

    积分
    977
    最后登录
    2024-3-10
    发表于 2020-9-20 22:17:34 | 显示全部楼层 |阅读模式
    比如我设置fifo深度=8,那么我电脑发送13个字节,那么后面的5个肯定是cti的中断了,那中断函数中,是单片机自己自动接收5个字节后,超过4个字符的时间没有在收到,是触发cti一次还是5次中断?
    如果是触发一次中断,是不是接收fifo肯定有5 个字节数据了?软件是不是可以连续读5次U1RBR即可将剩余的5个字节读取完成?

    如果是5次中断,这个怎么处理?不太明白,或者本来就是一个中断?

    大佬请指教,谢谢!!


    最佳答案

    这个好理解的 程序可以这样设计: 中断FIFO接收,RX trigger level譬如设置成8字节,那么每次进RDA中断只读7字节! 然后CTI中断只会进一次,把所有数据全读出来就好了 少读一个字节是因为:CTI发生的前提是中断接收F ...
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-10-21 09:49
  • 签到天数: 177 天

    [LV.7]常住居民III

    1

    主题

    244

    帖子

    0

    高级会员

    Rank: 4

    积分
    753
    最后登录
    2021-10-21
    发表于 2020-9-22 18:47:14 | 显示全部楼层
    这个好理解的
    程序可以这样设计:
    中断FIFO接收,RX trigger level譬如设置成8字节,那么每次进RDA中断只读7字节!
    然后CTI中断只会进一次,把所有数据全读出来就好了
    少读一个字节是因为:CTI发生的前提是中断接收FIFO里面有数据。譬如正好只收到8个字节,全读走了,应该是无法触发CTI中断了,那么就无法很快断帧了
    该会员没有填写今日想说内容.
    回复 支持 1 反对 0

    使用道具 举报

    该用户从未签到

    656

    主题

    6312

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    19947
    最后登录
    2024-4-19
    发表于 2020-9-21 14:03:40 | 显示全部楼层
    其实这取决于你的程序设计 2020-09-21_14-02-26.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-12-18 10:54
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    40

    主题

    262

    帖子

    0

    高级会员

    Rank: 4

    积分
    977
    最后登录
    2024-3-10
     楼主| 发表于 2020-9-21 14:16:32 | 显示全部楼层
    小恩GG 发表于 2020-9-21 14:03
    其实这取决于你的程序设计

    就是这个不理解啊~~
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-12-18 10:54
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    40

    主题

    262

    帖子

    0

    高级会员

    Rank: 4

    积分
    977
    最后登录
    2024-3-10
     楼主| 发表于 2020-9-21 14:20:39 | 显示全部楼层
    小恩GG 发表于 2020-9-21 14:03
    其实这取决于你的程序设计

    能举个例子吗?啥情况是1个中断?杀啥情况是5个中断?
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-12-18 10:54
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    40

    主题

    262

    帖子

    0

    高级会员

    Rank: 4

    积分
    977
    最后登录
    2024-3-10
     楼主| 发表于 2020-9-21 14:30:02 | 显示全部楼层
    小恩GG 发表于 2020-9-21 14:03
    其实这取决于你的程序设计

    如果我fifo深度设置为1,默认触发点 0(默认 1 字节或 0x01)
    那么cti中断还有效吗?
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-12-18 10:54
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    40

    主题

    262

    帖子

    0

    高级会员

    Rank: 4

    积分
    977
    最后登录
    2024-3-10
     楼主| 发表于 2020-9-22 15:39:32 | 显示全部楼层
    有谁能再解释下啊??
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-12-18 10:54
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    40

    主题

    262

    帖子

    0

    高级会员

    Rank: 4

    积分
    977
    最后登录
    2024-3-10
     楼主| 发表于 2020-9-23 08:36:42 来自手机 | 显示全部楼层
    楼上正解,多谢多谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-12-18 10:54
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    40

    主题

    262

    帖子

    0

    高级会员

    Rank: 4

    积分
    977
    最后登录
    2024-3-10
     楼主| 发表于 2020-9-23 09:08:28 | 显示全部楼层
    雨季莫忧愁 发表于 2020-9-22 18:47
    这个好理解的
    程序可以这样设计:
    中断FIFO接收,RX trigger level譬如设置成8字节,那么每次进RDA中断只读 ...

    多谢多谢的~~~
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-12-18 10:54
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    40

    主题

    262

    帖子

    0

    高级会员

    Rank: 4

    积分
    977
    最后登录
    2024-3-10
     楼主| 发表于 2020-9-23 11:41:36 | 显示全部楼层
    雨季莫忧愁 发表于 2020-9-22 18:47
    这个好理解的
    程序可以这样设计:
    中断FIFO接收,RX trigger level譬如设置成8字节,那么每次进RDA中断只读 ...

    实际时间为:[(字长度)×7-2]×8+[(触发值-字符数)×8+1]RCLk
    该时间的长短取决于 FIFO 中的字符数以及在3.5到4.5 字符的时间内的触发值
    他这个时间怎么算的??
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-20 12:20 , Processed in 0.197356 second(s), 32 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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