在将AD结果寄存器的数据通过串口发送给串口调试工具时出现乱码,或者接受不到的现象是因为什么呢?

2019-11-30 10:27发布

<p> 我在采集了一路AD信号后,通过sci发送给串口调试工具,发现接受不到或者是乱码。代码是这样的:</p><br><p> for(;;)</p><p> &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;{</p><p> &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; while(AdcRegs.ADCST.bit.INT_SEQ1==0)</p><br><p> &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; {}</p><br><p> &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; AdcRegs.ADCST.bit.INT_SEQ1_CLR=1;</p><br><p> &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; SampleTable=(AdcRegs.ADCRESULT0&gt;&gt;4);</p><br><p> &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; scia_xmit(SampleTable);</p><br><p> &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; LoopCount++;</p><br><p> &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;}</p><br><p> void scia_xmit(int a)</p><p> {</p><br><p> &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;while(ScicRegs.SC</p><p>IF</p><p>FTX.bit.TXFFST!=0)</p><p> &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;{}</p><p> &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;SciaRegs.SCITXBUF=a;</p><p> }</p><br> <br><p> void scia_fifo_init()</p><p> {</p><br><p> &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;SciaRegs.SCIFFTX.all=0xE040;</p><br><p> &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;SciaRegs.SCIFFRX.all=0x204f;</p><br><p> &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;SciaRegs.SCI</p><p>FFC</p><p>T.all=0x0;</p><p> }</p><br><p> 请问是带代码有问题吗?还是说是,28335AD转化的结果是12位的,SCI通讯是八位的,两个数据不一样导致的呢?</p><br> <p><br></p>