发表我的STM32F407ZGT6战果,主要是一些底层驱动,拿出来让兄弟们少走弯路。

2019-07-20 17:16发布

 (1)AT24C512 I2C驱动,这个代码我也是参照了别人的。没想到这个搞不好也可以引起 HardFault_Handler , 贼难找, 苦不堪言。
     主要参照:http://www.amobbs.com/thread-3636005-1-1.html
(2)SSD1963 FSMC 驱动
    这主要是没仔细研究SSD1963的手册。另外,其手册有2个版本,如果你不幸下载了旧版本的,那基本要注定悲剧,对着别人的代码注释看越看越糊涂。
    很多人说SSD1963不稳定,我觉得基本是初始化没搞定。我现在怎么搞都没问题。但我最终的方案是用SRAM做全屏缓冲,这样即掩饰了刷屏慢的缺点也没了拉屏的闪烁感。
    SSD1963在PLL初始化前,请将FSMC初始化为慢速状态。如果SSD1963的晶振是10M,在PLL锁定前只能以5M以下的速度对寄存器进行操作。
    初始化完成后,此时SSD1963的时钟可以配置成120M,再将FSMC设置成快速。这点我在实践中感到非常关键,但很少有人给以明确说明,网上的代码也没这么做。
    奉上我的代码,我在其中对设置的参数进行了校验。          
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。