xie2101 发表于 2026-1-8 19:08:04

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. 查看效果:

xie2101 发表于 2026-1-10 08:58:07

大佬们,我有个疑问啊,这3个口是互通的吗?
如果我连接link1d 和 usb同时连接时,
如果实验箱给电脑发数据, link1d和usb 同时接,电脑通过这两个接口收到了相同的数据?
电脑给实验箱发数据,link1d和usb同时接, 数据就出问题了,对吧?

我昨天这样接了,电脑端不断的收到乱码。对这里的逻辑有点理不清。

论坛的大佬 说过 这样一个问题,见链接:https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpost&pid=203954&ptid=22051

也就是说 link1d 主动拉高 从设备给它发数据的口,防止收到乱码数据。









xie2101 发表于 2026-1-10 10:25:26


实验箱 总共有 3 个 串口?

   



               

      

xie2101 发表于 2026-6-10 09:22:30


其实link1DtypeC和typeA这3个口都接入了 P3.0, P3.1。
当我把 link1d 和 typec 同时连接到电脑时,硬件上也没发生什么问题。



xie2101 发表于 2026-6-10 09:42:29

这个是uart2 和 uart3, 配合例程stc32g\14.2-串口2与串口3通信测试程序 使用。





xie2101 发表于 2026-6-10 09:44:46

还有一个db9接口的串口


页: [1]
查看完整版本: stc32g128k实验箱 例程 STC32G-DEMO-CODE-V9.6-10-串口1中断模式与电脑收发测试-C语