随着国产化的进程加快,很多项目使用的器件都要求国产化,最近公司项目需要使用兆易创新的GD32来做项目,之前有过一点stm32的基础,因此上手很快。正因为以前使用的是stm32标准库,因此使用GD的标准库时也会踩雷。网上搜了一下竟然没有人遇到过使用GD32标准库使能外设时钟出现问题的事情,可能我太菜了吧🙄。
以前用stm32的时候初始化多个gpio外设时可以一起使能时钟,因此我假装GD的也应该支持(我也就没去详看其封装好的接口),因为这样效率比较高,可是结果证明我错了。最近写SDRAM驱动时因为需要多个GPIO,因此我对这些GPIO的时钟一起使能了,后来对SDRSM的读写一直不正确,我将精力基本都放在配置参数上了,折腾了一天也没解决这个问题。后来在线调试发现时钟一起使能时GPIO对应的pin竟然不能工作!!!单独使能时钟的时候就能正常读写SDRAM了,卧槽,这特么也太坑了吧?
希望GD的标准库以后也能像STM32的那样可以一起使能外设时钟吧,我为我的愚蠢买了个大单,希望也能其他人一些参考吧。
前面的都是废话,最后强调一下:使用GD32的标准库使能外设时钟时一定要单独使能,不要通过或操作一起使能!!!
GD32F4xx使能外设时钟陷阱
最新推荐文章于 2024-06-28 13:21:48 发布