看寄存器,似乎没有可以修改这个位的操作,现在要做个项目,和客户的MCU通讯,他们的协议中,用奇偶位为0来表示帧头,1表示数据。我觉得可以用地址位来代替奇偶位,但是28035的地址位操作看起来好麻烦,现在还没彻底理解整个操作过程。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
用我的方案可以应对客户的协议,只是原来忽略了一个问题,如下代码
SciaRegs.SCICCR.bit.PARITYENA = 1; //启用奇偶校验
SciaRegs.SCITXBUF = 0; //发送数据
while(SciaRegs.SCIFFTX.bit.TXFFST); //等待FIFO为空,因为是帧头,所以仅在FIFO放入一个数
SciaRegs.SCICCR.bit.PARITYENA = 0; //关闭奇偶校验
如果按照这个代码运行,实际发送出去的数据是不带奇偶校验的。因为FIFO为空不代表数据已经发出去,所以发送数据时,实际奇偶校验就已经关闭了