stc32g128k实验箱 例程 STC32G-DEMO-CODE-V9.6-10-串口1中断模式与电脑收发测试-C语
这个是核心部分:
void UART1_int (void) interrupt 4
{
if(RI)
{
RI = 0;
RX1_Buffer = SBUF;
if(++RX1_Cnt >= UART1_BUF_LENGTH) RX1_Cnt = 0;
}
if(TI)
{
TI = 0;
B_TX1_Busy = 0;
}
}
烧写过程如下:
1. 实验箱和电脑连接方式。
2. 软件界面选择link1d ,然后选择自己的hex路径,最后烧写。
3. 查看效果:
大佬们,我有个疑问啊,这3个口是互通的吗?
如果我连接link1d 和 usb同时连接时,
如果实验箱给电脑发数据, link1d和usb 同时接,电脑通过这两个接口收到了相同的数据?
电脑给实验箱发数据,link1d和usb同时接, 数据就出问题了,对吧?
我昨天这样接了,电脑端不断的收到乱码。对这里的逻辑有点理不清。
论坛的大佬 说过 这样一个问题,见链接:https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpost&pid=203954&ptid=22051
也就是说 link1d 主动拉高 从设备给它发数据的口,防止收到乱码数据。
实验箱 总共有 3 个 串口?
其实link1DtypeC和typeA这3个口都接入了 P3.0, P3.1。
当我把 link1d 和 typec 同时连接到电脑时,硬件上也没发生什么问题。
这个是uart2 和 uart3, 配合例程stc32g\14.2-串口2与串口3通信测试程序 使用。
还有一个db9接口的串口
页:
[1]