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.
下面是我用仿真器查看到的,SCITXBUF中的数据0x92正是我想发送的数据。但是使用逻辑分析仪对TXD引脚进行抓取,一直为高电平无变化。能否请大家帮忙看看是什么问题。
附SCIc的配置图:
可以参考我的配置,下面是可以的
SciaRegs.SCIFFTX.all=0xE040;
SciaRegs.SCIFFRX.all=0x204F;
SciaRegs.SCIFFCT.all=0x0;
SciaRegs.SCICCR.all =0x0007; // 1 stop bit, No loopback
SciaRegs.SCICTL1.all =0x0003; // enable TX, RX, internal SCICLK,
// Disable RX ERR, SLEEP, TXWAKE
SciaRegs.SCICTL2.all =0x0003;
SciaRegs.SCICTL2.bit.TXINTENA =1;
SciaRegs.SCICTL2.bit.RXBKINTENA =1;
// 9600 baud
SciaRegs.SCIHBAUD.all =0x0001;
SciaRegs.SCILBAUD.all =0x0087;
SciaRegs.SCICTL1.all =0x0023;
谢谢,我刚刚发现了问题所在:TXSHF上的数据还未完全发送完成,我就把发送使能关闭了,导致发送的数据异常。
但是如何判断TXSHF上的数据发送完成了呢?比如我发送的数据为0x8A,FIFO->TXSHF非常快,但是TXSHF会按照配置的波特率依次串行输出01010001,如何判断TXSHF已经将01010001全部发送完成了呢?
我在手册中找到了TXEMPTY,可以代表FIFO和TXSHF为空,但是对于我来说,这个太慢了,需要我下一个周期才能查询到TXEMPTY = 1。但是实际上在下一个周期之前就已经把数据都发送完了。我好像没有在手册上看到TXSHF为空时的中断标志位?您有找到吗?