搜索

分享GD32F10x的使用经验问题解决

[复制链接]
944|2
手机看帖
扫描二维码
随时随地手机跟帖
麻花油条|  楼主 | 2021-10-13 09:42 | 显示全部楼层 |阅读模式

下面的分享是

来自公司一款成熟产品的BUG,它生产有6年左右了,最近改用GD32的对应型,有GD32F(M3)和GD32E(M4),我们产品在STM32和GD32E通过PA0进入睡眠,再通过PA0唤

醒起来,能正常工作并测试良好!

但是在GD32F上,发现能进入睡眠,但是PA0唤醒不了CPU,为此用GD的固件库,独立测试

一下这个功能,      部份代码如下:

/*
    【--利用PA0,唤醒GD32的测试--】
    Firmware_Library_V2.1.2\Firmware\CMSIS下少文件,
    可在之前的版本复制过来,进行使用

    GD32发布的固件库V2.1.2有少文件现象,无语了!!!
   
*/
#include "main.h"
int main(void)
{   
    gd_eval_com_init(USART0); //初始化串口0
    printf("\r\n\r\n\r\nWAKEup PA0 TEST!\r\n");  //测试信息  
   
    gd_eval_key_init(KEY_TAMPER, KEY_MODE_GPIO); // PA0初化为普通按键KEY功能   
    led_config();   /*  LED灯配置,RB8灯 */   
   
    long cont;//计数器
    while(1){
      
        if(SET == gpio_input_bit_get(TAMPER_KEY_GPIO_PORT, TAMPER_KEY_PIN))// PA0为高电平,进入待机模式
        {
            printf("sleep\r\n");
            gd_eval_led_off(LED2); // RB8灯灭
            gd_eval_key_init(KEY_WAKEUP, KEY_MODE_EXTI);/* PA0脚重新初始化为PMU,外部中断唤醒功能 */
            rcu_periph_clock_enable(RCU_PMU);           /* 启用外围设备PMU时钟 */
            
            pmu_wakeup_pin_enable();                    /* 使能PA0唤醒 */
            pmu_to_standbymode(WFI_CMD);                /* 进入待机模式,等待PA0出现上升沿,程序会从MAIN()处执行 */
        }
        else//PA0为低电平时,正常工作模式
        {        
          cont=0x1000000;
          while(cont--);
          gd_eval_led_on(LED2); // RB8灯亮
          printf("RUNing\r\n");
        }
    }// while()
}// main()


这份代码在开发板上没有问题,但在产品上是有问题的,这肯定是一些硬件参数偏向临界值

,导致只在GD32F出现异常,或者GD32F就是容错性差一点.

最后找到问题了,PA0引脚的上升沿电平不是90度上升的,上升沿信号有斜坡,通过减小PA0脚上

的电容,减小上接电阻,已OK. 看来MCU的阻抗大小和电气兼容性,是换MCU要面对的重要问题。


使用特权

评论回复
内政奇才| | 2021-10-13 09:43 | 显示全部楼层
楼主。用过iic的从机发吗?

使用特权

评论回复
豌豆爹| | 2021-10-13 09:43 | 显示全部楼层

电气参数有点不兼容?这要是批量的产品改起来还是蛮费劲的。

使用特权

评论回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

本版热帖

本版活跃用户

优质原创写原创,赢大奖

编辑推荐

  • 1 呐咯密密 得到打赏 ¥310.00
  • 2 qbwww 得到打赏 ¥265.00
  • 3 yanzhengxin1 得到打赏 ¥200.00
  • 4 full_stack 得到打赏 ¥100.00
  • 5 laocuo1142 得到打赏 ¥55.00
  • 6 zhangjiantao 得到打赏 ¥50.00
  • 7 小叶三千 得到打赏 ¥50.00
  • 8 cjseng 得到打赏 ¥50.00
  • 9 改名了 得到打赏 ¥30.00
  • 10 HXM1593 得到打赏 ¥15.00
在线客服 快速回复 返回顶部 返回列表