AI8051U使用UART3和spi后无法发送数据(已解决)
<p><img src="data/attachment/forum/202412/07/214924fnd0ef5b416dccmb.png" alt="image.png" title="image.png" /></p><p><img src="data/attachment/forum/202412/07/214946j05aadlaggdivxqq.png" alt="image.png" title="image.png" /></p>
<p>UART3利用的是timer3作为波特率发生器,并且口设置为p5.0 AND P5.1,只运行uart3初始化可以正常打印。<br />
但是打开TFTinit或者MT6701init函数后,uart3只能打印一个问号。<br />
下面为MT6701init函数,注释了spiconfig就可以正常打印。(其脚位并没有冲突)<br />
<img src="data/attachment/forum/202412/07/215312b58g2ph21qz8ze44.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/07/215325j77cobw7hppxv3x7.png" alt="image.png" title="image.png" /></p>
<p>请问这是为什么呢</p>
<p><img src="data/attachment/forum/202412/07/215420rhnrzqyho8qqq61e.png" alt="image.png" title="image.png" />不正常状态</p>
<p><img src="data/attachment/forum/202412/07/215447w2u9bhus1ibddru1.png" alt="image.png" title="image.png" />正常状态</p>
<p>刚刚使用仿真工具,发现其卡在发送的while(B_TX3_Busy);</p>
<p><img src="data/attachment/forum/202412/07/223207up6a9n9mus6rt7p7.png" alt="image.png" title="image.png" /><br />
这个中断函数进不去,因此B_TX3_Busy进不去<br />
刚刚把spiconfig的函数注释了,这个地方就进的去,很奇怪</p>
<p>求救,解决不了</p>
B_TX3_Busy何时被置1了? DebugLab 发表于 2024-12-7 22:45
B_TX3_Busy何时被置1了?
<p><img src="data/attachment/forum/202412/07/225018yqsgqji6666hhoo1.png" alt="image.png" title="image.png" /><br />
这只是历程中,设置标记中断的一个位,在发生数据后被置为1</p>
demon 发表于 2024-12-7 22:33
这个中断函数进不去,因此B_TX3_Busy进不去
刚刚把spiconfig的函数注释了,这个地方就进的去,很奇怪
...
这里是串口中断,当发送完就重新设置为0,就可以结束while进行下一步了 <p>求助,尚未解决</p>
demon 发表于 2024-12-7 22:51
这只是历程中,设置标记中断的一个位,在发生数据后被置为1
如果确定程序是停在“while (B_TX3_Busy);”这里
可以试着将PrintfString3函数中的
S3BUF = *puts;和B_TX3_Busy = 1;两个语句交换一下位置
改为
B_TX3_Busy = 1;
S3BUF = *puts;
以防止B_TX3_Busy = 1;执行前,提前进入了串口3的中断
虽然可能性较小,但也不是不可能 zhp 发表于 2024-12-8 14:22
如果确定程序是停在“while (B_TX3_Busy);”这里
可以试着将PrintfString3函数中的
S3BUF = *puts;和B_TX ...
修改了,没有用
页:
[1]
2