深渊 发表于 2024-9-25 21:02:23

8G1K08A-8PIN 串口复用问题请教



各位好,
    目前我在使用 8G1K08A-8PIN这颗芯片做产品,由于对单片机不是很熟悉,还请指导。
    目前我的原理图如下,


    1和3脚需要接一个串口外设,7和8脚用于和主机通信下发和上行串口信息。 5和6用来连接。1和3收到数据在发给7和8 ,所以可以做动态切换复用。应该能做到

    目前我尝试下载库函数和例程代码,但是没有将串口切换为对应引脚的宏定义 。 我能看到的是,没有对应的引脚复用,
   
UART1_SW(UART1_SW_P30_P31);      //UART1_SW_P30_P31,UART1_SW_P36_P37,UART1_SW_P16_P17,UART1_SW_P43_P44    我想请教,怎么样实现引脚的正确复用呢?具体流程是什么样的呢?我是不是下载错库了?



王昱顺 发表于 2024-9-25 22:13:42

你好,请使用这个代码进行配置,这个型号的配置在库函数中似乎是没有的

void PortSwitch(void)
{
        P_SW1 = (P_SW1 & ~0xc0) | 0x80;                //UART1/USART1: RxD(P5.4), TxD(P5.5)
}


深渊 发表于 2024-9-25 22:44:34

您好 我查看手册 找到对应的方法了 感谢

深渊 发表于 2024-9-25 22:58:59

请教一下这里的 EA=1是什么意思呢?
u8        i;

        EAXSFR();                /* À©Õ¹¼Ä´æÆ÷·ÃÎÊʹÄÜ */
        GPIO_config();
        UART_config();
        EA = 1;

深渊 发表于 2024-9-25 23:00:29

还有一个问题 我在这过程中需要将串口在13和78之间来回切换,是否需要额外的操作呢? 必须去去初始化?

邮箱 发表于 2024-9-25 23:04:11

深渊 发表于 2024-9-25 22:58
请教一下这里的 EA=1是什么意思呢?

总中断开关

深渊 发表于 2024-9-25 23:06:37

感谢

邮箱 发表于 2024-9-25 23:09:49

深渊 发表于 2024-9-25 23:00
还有一个问题 我在这过程中需要将串口在13和78之间来回切换,是否需要额外的操作呢? 必须去去初始化? ...

波特率一样,只切换端口就可以了

王昱顺 发表于 2024-9-25 23:15:36

深渊 发表于 2024-9-25 23:00
还有一个问题 我在这过程中需要将串口在13和78之间来回切换,是否需要额外的操作呢? 必须去去初始化? ...

不用重新初始化,初始化一次就够了
直接操作P_SW1,这里面有关于切换引脚的位,操作了以后自然就切换过去了

深渊 发表于 2024-9-25 23:41:16

好的 感谢
页: [1] 2
查看完整版本: 8G1K08A-8PIN 串口复用问题请教