woshigeshuai 发表于 2019-1-26 18:03:29

芯片手册里面一句英文,不知道理解的对不对。


这是MC68HC11很老的芯片手册里面的一句,串口发送完成中断

Clear the TC flag by reading SCSR with TC set and then writing to SCDR


TC=1的时候,读SCSR 会清除TC位。然后写不写数据给SCDR,TC位都是清0了。不知道这位理解对不对

沉默胜过白金 发表于 2019-1-26 18:14:30

我的理解是读并且写。

lingdianhao 发表于 2019-1-26 18:50:51

同意楼上,读状态寄存器并写数据寄存器才会清零。如果你数据真的发送完成了,在TC中断里面把TC中断关了就行。。

tim 发表于 2019-1-26 18:52:14

我也这么理解的

wye11083 发表于 2019-1-26 19:50:12

指的是读到tc为1再写。英语语法本身就容易产生断句问题。

huangqi412 发表于 2019-1-27 18:23:26

本帖最后由 huangqi412 于 2019-1-27 18:25 编辑

读是必须不读不知道发生了什么中断填数据清除中断

huangqi412 发表于 2019-1-27 18:29:50

读操作跟清除估计无关楼主可以试试低波特率下发一个字节延时一秒再发一个字节立马读中断寄存器 此时第二个字节没发完应该tc为0第一个字节的tc即使没读中断寄存器在填第二个字节时就变零了

styleno1 发表于 2019-2-21 15:21:57

看了下,TDRE也是这句,看样子是要2步:
Clear the TDRE flag by reading SCSR with TDRE set and then writing to SCDR.

要读的原因是:不置位不能写SCDR

qq78929709 发表于 2019-2-25 16:58:51

是读完再写才能清除,Clear the TC flag by “reading SCSR with TC set and then writing to SCDR”,注意是writing,writing只能接前面的by

just_lou 发表于 2019-2-25 20:23:21

我理解的是,当TC set时,读scsr,然后写SCDR。这样清除TC标志!拿不准只能试一试了

liurangzhou 发表于 2019-2-25 22:14:19

TC应该是SCSR中的一个位,应该是读SCSR,直到TC置位,然后写SCDR
页: [1]
查看完整版本: 芯片手册里面一句英文,不知道理解的对不对。