zoukankan      html  css  js  c++  java
  • 嵌入式中的寻址地址设置,以使用FSMC接LCD控制器为例

    看一段代码:

    #define SSD1963_BASE ((u32)(0x6C000000)) //SSD1963设备基址
    #define SSD1963_REG_BASE ((u32)(0x6C000000)) //SSD1963寄存器基址
    #define SSD1963_RAM_BASE ((u32)(0x6C000008)) //SSD1963 RAM基址
    
    #define LCD_WR_REG(index)  (*(volatile u16 *)(SSD1963_REG_BASE) = index)
    #define LCD_WR_Data(value)  (*(volatile u16 *)(SSD1963_RAM_BASE) = value) //写RAM
    #define SSD1963_READ_RAM(addrptr) (*(addrptr) = *(volatile u16*)(SSD1963_RAM_BASE)) //读RAM

    LCD控制器最基本的地址设置:命令地址SSD1963_REG_BASE和数据地址SSD1963_RAM_BASE。

    要知道这两个地址的设置,

    第一. 查看你连接LCD驱动器的接口。 打开MCU的user manual,而不是reference manual(一般情况)。 找到memory map,找到你连接的接口的起始地址。比如我用FSMC BANK1的第一段地址就是0X60000000。这样就找到了第一个地址。. 第二个地址就打开你LCD控制器的数据手册,看控制器的命令位占多少,我的SSD1963占8位所以数据的位置就是起始位置偏移8位,也就是0X60000008

    memory map 需要细看清了,是驱动的开发必不可少的图!

    后面诸如外部sram,flash 这些都会有地址的操作,学以致用,活学活用。

  • 相关阅读:
    SpringBoot基础
    开始一个新的springboot项目checklist
    五项修炼: 终生学习者
    价值流分析-改进方法论
    伯努利方程
    会计语言
    svg蒙版mask
    从svg到计算机图形学
    xflux 调节屏幕色温
    处理器架构
  • 原文地址:https://www.cnblogs.com/bandynewer/p/2576587.html
Copyright © 2011-2022 走看看