GD32F20x系列使用问题总结

GD单片机近几年越来越火了,既有他自身相比与ST的价格优势,也有支持国货的信仰加成。然而一个新的东西,或者说一个相对较新的东西,在使用的友好性和资料的完整性方面还有很长的路要走。

现将个人使用过程中碰到过的问题总结一下

1、jlink烧录和调试问题

这个问题非常坑!以致于后面在错误的道路上浪费了大量的时间,后面会详细说明这个问题。起因是用jlink烧录F20x的时候发现偶尔烧不进去,而在其他ST芯片甚至GD32F10X系列都完全正常。在尝试过换jlink驱动版本、修改烧录速率各种方法都没有解决问题后,叫来了GD的技术支持,一番折腾最终也只是将烧录速率定在了较稳定的200Khz,期间对方提出是不是烧录线太长了,我一看烧录线只有不到20cm,直觉应该没问题(后面证实就是这个问题!),就没放在心上。

折腾完后感觉200khz的话,慢点就慢点吧,虽然有时还烧录失败,将就着也能用用,后面坑爹的就来了。调试外部PHY的过程中发现读PHY状态寄存器的值不稳定,有时正常有时不正常,第一反应就是复位有问题,于是各种查问题,排查复位电路,加软件复位,加延时。。。此处省略1W字,最终!还是没解决。

直到某一天,突然心血来潮把烧录线剪掉了一半,然后试了下发现正常了!把烧录速率改回去也能正常烧录,问题解决。

2、版本库的问题

1.0的库没有USB!1.0的库没有USB!请用最新的2.0的库!

2.0的库跟1.0的库完全不一样!2.0的库跟1.0的库完全不一样!打个比方在V1.0里叫USART1的到V2.0就变成了USART0,TM1则变成了TM0,你一个不注意就中招了!而且官网居然找不到对应最新V2.0的datasheet,这点做的真的差。

3、提供的demo有一些BUG

举个栗子,在设置定时器的PWM输出时,有一个结构体

但是在初始化的时候却漏了两个参数导致无PWM输出,这让我想起之前在F10X用USB的时候出现的一个问题,当时出现了USB枚举挑机器的问题,也就是有的机器工作正常有的不正常,反馈给原厂后最终他们查明是USB的库初始化的时候漏了一句初始化。

原文地址:https://www.cnblogs.com/zwj412/p/9797141.html