在线情况
楼主
  • 头像
  • 级别
    • 积分31
    • 经验5985
    • 文章202
    • 注册2006-05-28
    关于USART的发送中断标志UTXIFG的置/复位问题
    关于USART模块的发送中断标志UTXIFG的置/复位问题一直弄得不是很清楚,书上也没有说明白。我想问一下各位大侠UTXIFG在满足什么条件下会置位,又在什么条件下复位。谢谢!
    微控网感谢您的参与
    在线情况
    2
    • 头像
    • 级别
      • 积分31
      • 经验5985
      • 文章202
      • 注册2006-05-28
        我研究了一下,发现有三种情况可以置位:上电和SWRST信号后;当把数据送到UTXBUF中时,以及手动置位。在进入中断服务程序以及数据发送完时复位。但还是比较迷惑,象KKKCXF兄说的一样,在发送中断服务程序中,当我把数据送到UTXBUF中时,标志位置位,可是当发送完毕后,标志位仍然不复位。这样一来就麻烦了,中断服务程序一结束后马上又进入中断服务程序,造成了中断的无限循环。可是我若在主程序中发送数据,即在主程序中把数据送入发送缓存UTXBUF时标志位置位,当数据发送完后标志位马上又复位了。两种情况标志位的复位状况不同,不知道是什么原因。
      微控网感谢您的参与
      在线情况
      3
      • 头像
      • 级别
        • 积分31
        • 经验5985
        • 文章202
        • 注册2006-05-28
        回release,刚进UTX中断时会自动清掉标志位的,但如果在主程序中手动置位,此时进入中断程序自动复位,当把数据送入缓存准备发送时,标志位又置位了,发送完后不自动复位。应该在此时手动清除掉,避免结束中断程序后又进入中断。
        微控网感谢您的参与
        在线情况
        4
        • 头像
        • 级别
          • 积分31
          • 经验5985
          • 文章202
          • 注册2006-05-28
          分析得很精辟,佩服!
          微控网感谢您的参与
          在线情况
          5
          • 头像
          • 级别
            • 积分31
            • 经验5985
            • 文章202
            • 注册2006-05-28
              这样就是说UTXIFG总是置位的,只有在USART模块在发送数据的那一段时间才处于复位状态。
            [ 这个贴子最后由tubaozi01在2006-8-3 20:36:53编辑过 ]
            微控网感谢您的参与
            Powered by LeadBBS 9.2 .
            Page created in 0.1719 seconds with 7 queries.