STM32系列有FSMC模块的芯片类型不多,但是还是经常用的,最近就学习了下FSMC,有些心得贴出来希望能方便大家快速掌握FSMC,
关键词:FSMC 液晶 地址 左移
STM32的FSMC 连接外设 比如液晶,要把液晶分为两部分来对待,一部分是液晶寄存器,一部分是液晶显示的数据,可以当做显存吧。
因此用一个地址线 Ax 来区分当前连接的是寄存器还是显存,假使RS引脚为高时代表寄存器被选通,,
那么地址线上该位Ax就可以决定选通什么,
不过地址线是指导了,可是还有地址。
假设A0连接的是RS,那么选通液晶寄存器的尾地址是什么?
当传输是16位时,是0x???? 0002,不是0x???? 0001
看下面的图片说明(来自官方手册)
16位数据在内部使用【25:1】访问,8位数据地址时按照内部访问地址与外部实际连接地址一致
也就是实际地址数左移一位后的地址,或许也可以看做外部连接地址X2,
搞明白这点其他都好理解
举例:
9G的液晶移植例子中选用A16连接LCD的RS引脚
那么实际上连接的外部引脚地址是0x6001 0001,但是在通过内部CPU选择该地址时要用 0x6002 0001
对于RS的连接地址,CPU从内部访问它用的地址比外部实际地址左移了一位,这是在16位的访问模式下。
用户794933 2013-11-7 14:01