社区导航

 

搜索
查看: 3107|回复: 2

[原创] 2018新版cube之stm32f4 sd卡位图dma方式直写FSMC LCD(2)

[复制链接]

3603

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2018-3-3 00:38 | 显示全部楼层 |阅读模式
本帖最后由 huo_hu 于 2018-3-18 19:03 编辑

此内容由EEWORLD论坛网友huo_hu原创,如需转载或用于商业用途需征得作者同意并注明出处


这部分介绍fsmc驱动的lcd,我这个lcd的驱动芯片是ili9806,其他的ili9XX也都是可以的,硬件连接图
截屏2-1.jpg
上面的是控制信号接线,另外FSMC的0~15接lcd的数据线0~15。
硬件上有几点说明一下,这个ili9XXX芯片本身是可以设置总线宽度的,有的厂家制作的时候把这个设置固定了,有的厂家做的屏有飞线选择,要对着说明看一下,如果用8线也是可以的数据分两次打出去。还有一个是屏的背光电路,其实就是个升压电路,可以配合pwm来调整背光亮度,屏上没有要自己做这部分。
然后cube里配置成使用fsmc总线lcd接口
截屏2-2.jpg



这里面FSMC的控制管脚和数据管脚都是固定的,只有lcd register 的A18可以自己选择一下,用哪个都可以程序地址上有点差别
#define A16BIT   18
#define LCD_DATA_ADDR  (0x60000000+(uint32_t)(1<<(A16BIT+1)))
#define LCD_REGS_ADDR  (0x60000000)
液晶以这条信号线来区分是指令地址或者数据地址。我这里用的是16位数据宽度。
保存更新一下,cube已经帮你把fsmc配置好了,下一步就开始写液晶初始化程序了。这个初始化最开始的部分是对各个寄存器进行配置,因为各个厂家的寄存器值可能不一样,这部分只能找厂家要。类似的程序就是这样
#define A16BIT   18
#define LCD_DATA_ADDR  (0x60000000+(uint32_t)(1<<(A16BIT+1)))
#define LCD_REGS_ADDR  (0x60000000)

#define LCD_WR_REG(ind) { \
*(__IO uint16_t*)(LCD_REGS_ADDR)=ind; \
}

#define LCD_WR_DAT(dat) { \
*(__IO uint16_t *)(LCD_DATA_ADDR)=dat; \
}

#define LCD_RE_DAT (*(__IO uint16_t *)(LCD_DATA_ADDR))

#define write_command   LCD_WR_REG
#define write_data  LCD_WR_DAT
#define delay   HAL_Delay

void ILI9806_800_480_Init(void) {
HAL_Delay(100);
// EXTC Command Set enable register
write_command(0xFF);
write_data(0xFF);  
write_data(0x98);
write_data(0x06);

write_command(0xBA); // SPI Interface Setting
write_data(0x60);

write_command(0xBC); // GIP 1
write_data(0x01);
write_data(0x12);
。。。。。。。 这中间好长好长,我省略了

write_command(0x3A);
write_data(0x55); //55-16BIT,66-18BIT,77-24BIT

write_command(0x11);
delay(120);
write_command(0x29);
delay(25);

编译然后下载,(记得打开背光,不然什么也看不到),这个函数运行到最后部分就是0x29指令是开显示,这个时候如果看到屏幕上有好多花点,那恭喜你成功一大半了,至少硬件没问题了,那些花点是随机的内存数据。剩下的再改程序就行了。那些command的含义在手册里都有,指令很多但是绝大部分都用不到。
ILI9806G-Data Sheet 芯片手册.pdf (6.54 MB, 下载次数: 2)

回复

使用道具 举报

1991

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2018-3-3 01:31 | 显示全部楼层
点个赞

回复

使用道具 举报

253

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-3-7 09:29 | 显示全部楼层

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/4 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-6-7 16:44 , Processed in 0.139359 second(s), 24 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表