关于CH579F测试串口功能时,发现串口出现乱码的问题

在使用具有蓝牙模块的CH579,测试串口的时候,发现串口打印的数据时有时无,还出现乱码。

我是把电脑串口线的Rx和板子的PA9(TXD1)引脚连接,将Tx和PA8(RXD1)引脚连接,在串口助手调试时,应该显示字符串的则显示乱码;发送16进制的时候,显示的16进制和我发送的结果不一样(程序是串口助手发送什么就回显什么),请问一下官方技术人员,这是什么问题?

PS:尝试让电脑的串口线的GND连接CH579的GND,串口助手什么都不显示或者出现几个乱码字符然后什么都没显示,感觉卡住了;

还有,电脑串口线和CH579的串口管脚交叉连接时候,不能进行usb下载程序,是正常现象吗

UINT8 TxBuff[]="This is a tx exam\r\n";
UINT8 RxBuff[100];
UINT8 trigB;


int main()
{
    UINT8 len;
    
    GPIOA_SetBits(GPIO_Pin_9);
    GPIOA_ModeCfg(GPIO_Pin_8, GPIO_ModeIN_PU);	
    GPIOA_ModeCfg(GPIO_Pin_9, GPIO_ModeOut_PP_5mA);		
    UART1_DefInit();
    
    UART1_SendString( TxBuff, sizeof(TxBuff) );

    while(1)
    {
        len = UART1_RecvString(RxBuff);
        if( len )
        {
            UART1_SendString( RxBuff, len );            
        }
    }
  }
  
  官方主要代码

结果

前一句应该显示“This is a tx exam”;后面三句应该都是11 22 33 44 55,但结果都很乱

捕获.PNG



image.png

你好,我用我们例程实际测试是没有问题的,如果你这边串口乱码的话先排除一下是不是USB转串设备的问题。另外我们例程应该使用的是内部时钟,你可以用外部时钟做时钟源,排除一下是不是因为内部时钟不准导致的。


官方技术人员你好!我用的是这一款,请问例子也是用内部时钟的吗?这个板子是不是已经自带有外部时钟?现在我用的是CH579的相关文档来开发,是可以的是吧?个人试过USB转串口没问题


微信图片_20200825174902.png






是的 接了外部32M,你可以使用外部时钟测试一下。


谢谢啦!

我在时钟初始化函数中添加使用外部时钟


void SystemInit(void)

{

    R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG1;

    R8_SAFE_ACCESS_SIG = SAFE_ACCESS_SIG2;

    R16_CLK_SYS_CFG = (2<<6)|0x08;// 32M -> Fsys


    R16_CLK_SYS_CFG |= RB_CLK_OSC32M_XT;    //我添加的使用外部时钟32Mhz


    R8_SAFE_ACCESS_SIG = 0;

    

    mDelayuS(10);

    PowerMonitor( ENABLE );

}

结果显示还是乱码。


1598420941170491.png


下面是我的连接图。白线是电脑的串口的RX连接板子的TX(PA9管脚),除了右上角进行短接,其他的都没短接(不知道其他管脚用不用短接


微信图片_20200826135718.jpg


(板子串口引脚和电脑USB转串口线交叉连接时候,串口助手就不能打印了,所以只能单独连接板子的TX管脚,才能打印。)

麻烦请问官方技术人员,有没有关于这个板子的原理图和数据手册?虽然官方说这个和CH579差不多,可以使用CH579的资料,但是我感觉使用起来有点怪。



1、需要共地;

2、将USB转串工具的TX直连RX 然后连接电脑看看能不能实现串口数据回传;

3、留个邮箱,这个板子的原理图可以发给你。


非常感谢了,麻烦你了!刚看到消息。

  1. 共地是让电脑的串口的地线和板子的任意GND连接吧,试过了还是乱码。

  2. 试过了,我的USB转串口没问题,能回传。

  3. 邮箱:个人信息保护,已隐藏

再次感谢您了!


上电的时候,时钟有一定的稳定时间,如果在稳定前,就发送串口, 可能会有 乱码问题,你可以尝试,上电后加个delay试下看看,比如delay 2ms 之类的


楼主,你的问题解决了没


只有登录才能回复,可以选择微信账号登录