C8051F120串口问题?

[复制链接]
 楼主| jlgcumt 发表于 2011-11-19 20:52 | 显示全部楼层 |阅读模式
看数据手册,串口发送和接受要么全用查询,要么全用中断,不能发送用查询,接受用的中断?
HWM 发表于 2011-11-19 22:57 | 显示全部楼层
re LZ:

应该可以中断和查询同用。
 楼主| jlgcumt 发表于 2011-11-20 13:23 | 显示全部楼层
我看资料没有单独的发送和接收中断,只有一个UART0中断
DianGongN 发表于 2011-11-20 15:13 | 显示全部楼层
我用过的51串口中断收发都是共用一个入口地址。要中断,收发都用中断方式。
HWM 发表于 2011-11-20 16:19 | 显示全部楼层
我看资料没有单独的发送和接收中断,只有一个UART0中断
jlgcumt 发表于 2011-11-20 13:23


虽然只有一个中断,但发送和接收各有自己的标志位,可依此判别是发送还是接收。
 楼主| jlgcumt 发表于 2011-11-24 20:55 | 显示全部楼层
LS没明白我的意思,我说的是发送用查询,接受用中断,ARM就行!貌似这个片子做不到!
yhn1973 发表于 2011-11-25 08:11 | 显示全部楼层
当然可以。
dengm 发表于 2011-11-25 10:26 | 显示全部楼层
发送用查询,接受用中断,  可以用2道贩子:
      TI_B  BIT 20H.0
      ORG 000B
         NOP
         AJMP START

      ORG 23H
          JBC TI, UART_TI2
          JBC RI, UART_RI
UART_RI:         
        ; ........
        ; ........
         RETI
UART_TI2:
         SETB TI2
         RETI

START:
        ACALL UART_INI
        ;.......
        ;......
        CLR RI
        CLR TI
        CLR TI2
        SETB ES
        SETB EA
      
MAIN_LOOP:
        JNB TI2,  L_100
           CLR TI2
           ACALL UART_OUT
L_100:
         ;.....
         ;......
         LJMP MAIN_LOOP

      END
yhn1973 发表于 2011-11-25 10:32 | 显示全部楼层
楼上正解。如果主程序中查寻用JNB  TI,$指令,那么连二道贩子都不用。
 楼主| jlgcumt 发表于 2011-11-25 21:19 | 显示全部楼层
不错不错,多谢两位
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:善攻者,动于九天之上,善守者,藏于九地之下!

183

主题

733

帖子

4

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