limddfcl 发表于 2025-6-19 10:43:48

AI8H2K12U 跑demo 电脑收发测试 输入输出 不一致

AI8H2K12U 跑 05-串口1中断模式与电脑收发测试输入输出 不一致; printf 出的log也是乱码! 波特率设置的115200 ;是否有什么配置问题要注意?

国芯人工智能 发表于 2025-6-19 10:48:00

针对您提到的问题,以下是详细的解决方案和建议:

1. 确认波特率设置
波特率设置为115200,通常用于提高输出频率。确保该设置在芯片的硬件配置中正确设置,且与实际输出频率一致。若有问题,建议检查波特率是否正确设置或是否与硬件兼容。

2. 检查编译工具
硬件输出通常与编译工具的版本和配置有关。确保使用的编译工具是最新版本,并且路径设置正确。检查编译工具的依赖项是否与硬件的驱动兼容。

3. 排除硬件问题
如果编译工具正常运行,但编译输出不一致或出现乱码,可能与硬件配置有关。检查输入输出端的硬件是否匹配芯片的引脚编号和端口类型。

4. 重新配置输入输出端
根据硬件输出的端口类型(如I2C、 SPI、 FSK等),重新配置输入输出端。确保端口连接正确,引脚编号与芯片的对应关系正确。

5. 联系技术支持
若问题仍未解决,建议联系STC8H2K12U芯片的官方客服或技术支持团队,提供详细问题描述,以便获取进一步的解决方案。

希望以上步骤能帮助您解决问题。如需更具体的技术支持,请随时联系。

[本文内容由国芯人工智能辅助生成,仅供参考]

limddfcl 发表于 2025-6-19 10:49:33

demo 没有做任何修改
/******************* IO配置函数 *******************/
void        GPIO_config(void)
{
        GPIO_InitTypeDef        GPIO_InitStructure;                //结构定义

        GPIO_InitStructure.Pin= GPIO_Pin_0 | GPIO_Pin_1;                //指定要初始化的IO, GPIO_Pin_0 ~ GPIO_Pin_7
        GPIO_InitStructure.Mode = GPIO_PullUp;        //指定IO的输入或输出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
        GPIO_Inilize(GPIO_P3,&GPIO_InitStructure);        //初始化
}

/***************串口初始化函数 *****************/
void        UART_config(void)
{
        COMx_InitDefine                COMx_InitStructure;                                        //结构定义

        COMx_InitStructure.UART_Mode      = UART_8bit_BRTx;        //模式, UART_ShiftRight,UART_8bit_BRTx,UART_9bit,UART_9bit_BRTx
        COMx_InitStructure.UART_BRT_Use   = BRT_Timer1;                        //选择波特率发生器, BRT_Timer1, BRT_Timer2 (注意: 串口2固定使用BRT_Timer2)
        COMx_InitStructure.UART_BaudRate= 115200ul;                        //波特率, 一般 110 ~ 115200
        COMx_InitStructure.UART_RxEnable= ENABLE;                                //接收允许,   ENABLE或DISABLE
        COMx_InitStructure.BaudRateDouble = DISABLE;                        //波特率加倍, ENABLE或DISABLE
        UART_Configuration(UART1, &COMx_InitStructure);                //初始化串口1 UART1,UART2,UART3,UART4
        NVIC_UART1_Init(ENABLE,Priority_1);                //中断使能, ENABLE/DISABLE; 优先级(低到高) Priority_0,Priority_1,Priority_2,Priority_3

        UART1_SW(UART1_SW_P30_P31);                //UART1_SW_P30_P31,UART1_SW_P36_P37,UART1_SW_P16_P17,UART1_SW_P43_P44
}


/**********************************************/
void main(void)
{
        u8        i;

        EAXSFR();                /* 扩展寄存器访问使能 */
        GPIO_config();
        UART_config();
        EA = 1;

        printf("STC8H8K64U UART1 Test Programme!\r\n");        //UART1发送一个字符串
//        PrintString1("STC8H8K64U UART1 Test Programme!\r\n");        //UART1发送一个字符串

        while (1)
        {
                delay_ms(1);
                if(COM1.RX_TimeOut > 0)                //超时计数
                {
                        if(--COM1.RX_TimeOut == 0)
                        {
                                if(COM1.RX_Cnt > 0)
                                {
                                        for(i=0; i<COM1.RX_Cnt; i++)        TX1_write2buff(RX1_Buffer);        //收到的数据原样返回
                                }
                                COM1.RX_Cnt = 0;
                        }
                }
        }
}

ercircle 发表于 2025-6-19 10:50:06

重复:
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=18653

limddfcl 发表于 2025-6-19 10:54:52

按这个来吧
FAE说走这个入口

limddfcl 发表于 2025-6-19 10:56:22

下载频率要和代码里一致? 这个是什么意思 没明白

ercircle 发表于 2025-6-19 11:06:31

limddfcl 发表于 2025-6-19 10:56
下载频率要和代码里一致? 这个是什么意思 没明白

要点回复才能收到消息:


刚接触的话可以看看视频教程:
《8051U深度入门到32位51大型实战视频》,【免费 + 包邮 送】实验箱@Ai8051U,100万套 - 字库生成,图片取模,串口绘图,串口助手,虚拟硬件,外部串行Flash编程 国芯技术交流网站 - AI32位8051交流社区

limddfcl 发表于 2025-6-19 11:19:21

在stc8g1k08 上没有设置 MAIN_fosc;STC8H2K12U 必须设置吗?还是有默认值? 在stc8g1k08 使用的的程序 通过修改PIN的设置后能直接使用在STC8H2K12U 上吗?

ercircle 发表于 2025-6-19 11:28:12

limddfcl 发表于 2025-6-19 11:19
在stc8g1k08 上没有设置 MAIN_fosc;STC8H2K12U 必须设置吗?还是有默认值? 在stc8g1k08 使用的的程序...

下载时都是要选这个IRC频率的。
在一个手册上,代码上注意用到的外设引脚切换寄存器差异,大概率是可以共用的

DebugLab 发表于 2025-6-19 12:51:04

可以工作但是乱码,检查下载时的时钟设置和串口助手的波特率
8G和8H系列IO都是上电高阻
移植检查端口切换和IO模式
页: [1] 2
查看完整版本: AI8H2K12U 跑demo 电脑收发测试 输入输出 不一致