21ic问答首页 - 遇到一个GD32E230C8T6奇怪的问题(初次上电无法启动)
遇到一个GD32E230C8T6奇怪的问题(初次上电无法启动)
uevol2022-04-06
这个电路之前用的是STM32G0C8T6,工作的一直没问题,最近发现GD32E230C8T6非常便宜就打样几块板回来,只更换了单片机,其他一个器件没动;现在遇到一个从没遇到过的问题:
1)完全断电的情况下,第1次上电无法启动,硬件复位也不行,只能重新断电再上电就正常启动,启动后,然后运行也没问题;
2)短时间断电(电容电未放完)的情况下重新上电也能启动;手动给电容放电后,再上电第一次也无法启动;
电路也比较简单,就锂电池供电,1路LDO3.3V供MCU和外设,一路LDO供TM1628A,搞了几天天,各种器件拆拆补补也没解决问题。
程序使用的内部IRC8M,没焊外部8M晶振,希望大家帮忙一起排查一下,谢谢!
尝试办法:用示波器测试了MOS开关,3.3V没有毛刺,有1K+0.1uF的缓启动电路;复位也尝试改为1uF+10K,问题也依旧,找不到方法了
1)完全断电的情况下,第1次上电无法启动,硬件复位也不行,只能重新断电再上电就正常启动,启动后,然后运行也没问题;
2)短时间断电(电容电未放完)的情况下重新上电也能启动;手动给电容放电后,再上电第一次也无法启动;
电路也比较简单,就锂电池供电,1路LDO3.3V供MCU和外设,一路LDO供TM1628A,搞了几天天,各种器件拆拆补补也没解决问题。
程序使用的内部IRC8M,没焊外部8M晶振,希望大家帮忙一起排查一下,谢谢!
尝试办法:用示波器测试了MOS开关,3.3V没有毛刺,有1K+0.1uF的缓启动电路;复位也尝试改为1uF+10K,问题也依旧,找不到方法了
赞0
解决方案2:官方提供的可以试试
2.1系统方面的注意事项2.1.1 HSE相关内容修改
在V3.x的库,启动时间宏定义在xxx32f10x.h头文件中;
在V3.0以前的库,其启动时间宏定义在xxx32f10x_rcc.c中(HSEStartUp_TimeOut);
修改前:
//#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500) /*!< Time out for HSE start up */
修改后:
#define HSE_STARTUP_TIMEOUT ((uint16_t)0xFFFF) /*!< Time out for HSE start up */
修改原因:
GD和STM32的晶振部分电路设计有一定的差异,两者对外部高速晶振的参数要求也不一样,
修改HSE_STARTUP_TIMEOUT宏定义可以保证晶振正常起振。当然你会在应用中发现有一些应用
不修改也能照常跑,这是由于晶振的参数差异造成了,为了保证程序的正常运行还是修改该宏定义。
评论
2022-05-30
赞0
评论
2022-05-02
赞0
评论
2022-05-01
赞0
评论
2022-05-01
赞0
评论
2022-05-01
赞0
评论
2022-05-01
赞0
评论
2022-05-01
赞0
评论
2022-05-01
赞0
评论
2022-04-07
您需要登录后才可以回复 登录 | 注册