(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设置成快速。这点我在实践中感到非常关键,但很少有人给以明确说明,网上的代码也没这么做。
奉上我的代码,我在其中对设置的参数进行了校验。 |