lkc8210 发表于 2023-8-30 16:58 竟然还有这中情况吗?给SBUF赋值完8位数据后,TI并不会马上置1是吗?while(F_T1_OK)就是限制程序将Ce_Arry1( );全部赋值给SBUF后,才执行Ce_Arry2( );吗? |
谢谢,这行while语句直接救命!我是这样理解这段代码的,SBUF = T1BUF[0]这行代码就是开启串口1发送中断-->TI = 1,既然进入了串口中断,不应该是把剩下的0x2-6逐一赋值给SBUF吗?可是现实执行效果是直接跳出了中断,执行了第二个S1OUT( ),请问可以告诉我哪里考虑有误吗?还有while(F_T1_OK)没有语句块,为啥可以跳出循环呀,可以解释一下吗吗? |
Hephaestus 发表于 2023-8-30 14:30 我的理解是S1OUT( );中,F_T1_OK=1,之后进入串口1发送中断,直到将测试数组1全部发完,如果不是这样考虑的话,请问该往哪个方向想? |
逻辑时序混乱。 |
我想要的效果是按下按键后,显示屏显示:01 02 03 04 05 06 07 07 06 05 04 03 02 01 ,但是现实效果却是01 06 05 04 03 02 01,而且开头的01还是测试数组1的 0x01,不知道哪里出错了。。。 |