历史上的今天
返回首页

历史上的今天

今天是:2025年03月17日(星期一)

正在发生

2020年03月17日 | stm32驱动液晶(ILI9320) 源自正点原子

2020-03-17 来源:eefocus

FSMC笔记:


STM32 的 FSMC 存储块 1( Bank1)被分为 4 个区,每个区管理 64M 字节空间,每个区都有独立的寄存器对所连接的存储器进行配置。 Bank1 的 256M 字节空间由 28 根地址线( HADDR[27:0])寻址。这里 HADDR 是内部 AHB 地址 总线,其 中 HADDR[25:0] 来自外部存储器地 址FSMC_A[25:0],而 HADDR[26:27]对 4 个区进行寻址 。


当 Bank1 接的是 16 位宽度存储器的时候: HADDR[25:1] 指向 FSMC[24:0] 。因此HADDR需要左移一位,才能使 HADDR[24:0] 指向 FSMC[24:0] 。因为HADDR增加或者减少是从最低位开始的, HADDR[25:1] 指向 FSMC[24:0] ,所以HADDR[24:0] 指向 FSMC[24:0]需要向左移动一位    


当 Bank1 接的是 8 位宽度存储器的时候:   HADDR[25:0] 指向 FSMC[25:0] 。 


内部的AHB总线(通过HADDR)控制外部存储器地 址FSMC_A[27:0]。。。。。。。

液晶模块通过RS信号来判断是输入的数据还是命令,这点正点原子是这样处理的。让FSMC_A[10]连接到RS,块1区4的地址为0x6c00,0000 FSMC_A[10]的偏移地址是:


0x6c00,0000|(1<<(10+1))=0x6c00,0800。


LCD->LCD_REG=CMD; //写命令     这时FSMC_A[10]=0;

LCD->LCD_RAM=DATA; //写数据   这时FSMC_A[10]=1;

而读的时候反过来操作就可以了,如下所示:

CMD= LCD->LCD_REG; //读 LCD 寄存器

DATA = LCD->LCD_RAM; //读 LCD 数据 


下面是相关的7个基本函数:


//写寄存器函数

//regval:寄存器值

void LCD_WR_REG(u16 regval)

{

LCD->LCD_REG=regval; //写入要写的寄存器序号

}

//写 LCD 数据

//data:要写入的值

void LCD_WR_DATA(u16 data)

{

LCD->LCD_RAM=data;


//读 LCD 数据

//返回值:读到的值

u16 LCD_RD_DATA(void)

{

vu16 ram; //防止被优化

ram=LCD->LCD_RAM;

return ram;


//写寄存器

//LCD_Reg:寄存器地址

//LCD_RegValue:要写入的数据

void LCD_WriteReg(u16 LCD_Reg, u16 LCD_RegValue)

{

LCD->LCD_REG = LCD_Reg; //写入要写的寄存器序号         写过寄存器后,再往ram里写数据,数据最终会被写到寄存器里面。

LCD->LCD_RAM = LCD_RegValue; //写入数据     //LCD->LCD_REG = LCD_Reg; //写入要写的寄存器序号相当于一个选择开关,这个开关会打开各个寄存器,使数据总线数据连上相应被打开的寄存器

}

//读寄存器

//LCD_Reg:寄存器地址

//返回值:读到的数据

u16 LCD_ReadReg(u16 LCD_Reg)

{

LCD_WR_REG(LCD_Reg); //写入要读的寄存器序号                    我做这个笔记的主要目的是因为这个延时函数的存在,写过寄存器序号后,过5us寄存器的值会被加载到数据总线

delay_us(5);

return LCD_RD_DATA(); //返回读到的值

}

//开始写 GRAM

void LCD_WriteRAM_Prepare(void)

{

LCD->LCD_REG=lcddev.wramcmd;

}

//LCD 写 GRAM

//RGB_Code:颜色值

void LCD_WriteRAM(u16 RGB_Code)

{

LCD->LCD_RAM = RGB_Code;//写十六位 GRAM


完毕

推荐阅读

史海拾趣

EAO公司的发展小趣事

在技术创新方面,EAO公司一直走在行业前列。公司拥有一支高素质的研发团队,不断探索新技术、新材料和新工艺在电子产品中的应用。通过技术创新,EAO公司不断推出具有市场竞争力的新产品,满足客户不断变化的需求。同时,公司还积极与高校、科研机构等合作,共同推动电子行业的科技进步。

Frequency Electronics Inc公司的发展小趣事

为了进一步扩大市场份额,高频电子积极实施全球化战略。公司在全球范围内建立了销售网络和服务体系,与众多国际知名企业建立了长期合作关系。同时,高频电子还针对不同地区的市场需求,定制化开发符合当地标准的产品和服务。这些努力使得高频电子的产品和服务能够覆盖全球多个国家和地区,为公司带来了稳定的收入来源和持续增长的动力。

Highland Electronics Co Ltd公司的发展小趣事

High Tech Chips Inc深知人才是企业发展的核心竞争力。因此,公司一直将人才战略放在企业发展的重要位置。公司不仅吸引了大量来自国内外顶尖高校的优秀人才加盟,还建立了完善的人才培养体系和激励机制。通过举办技术交流会、设立创新基金等方式激发员工的创新潜能和工作热情。这些举措为公司的发展奠定了坚实的人才基础和技术储备。

德尔创(Dersonic)公司的发展小趣事

随着业务的逐步扩展,德尔创意识到品质对于品牌的重要性。因此,公司投入大量资金用于提升生产设备的精度和稳定性,同时加强了对原材料采购和质量控制的管理。这些措施使得德尔创的产品质量得到了显著提升,客户满意度也大幅提高。此外,公司还积极开展品牌宣传活动,通过参加行业展会、举办技术交流会等方式提升品牌知名度和影响力。

Base Two (2) Systems公司的发展小趣事

Base Two (2) Systems公司自创立之初,便以技术创新为核心竞争力。在创始团队的带领下,公司研发团队不断攻克技术难关,成功研发出一系列具有领先水平的电子产品。这些产品不仅性能卓越,而且具有广泛的应用前景,为公司在市场上赢得了良好的口碑。

兆易创新(GigaDevice)公司的发展小趣事

Base Two (2) Systems深知技术创新的重要性,因此不断加大对研发的投入。公司引进了一批高端研发人才和先进设备,为研发团队提供了强有力的支持。在研发团队的努力下,公司不断推出新产品,并对现有产品进行升级改进,以满足市场的不断变化和客户的多样化需求。

问答坊 | AI 解惑

NAND Flash的名字可以修改名称吗

在注册表里面把NAND Flash文件夹的名称全部修改后,打开资源管理器发现NAND Flash的名字并没有有改,不通过修改bsp可以修改名称吗?…

查看全部问答>

wince BSP 的开发

有人做过 wince bsp的开发吗? 我想在PC104上 定制wince内核 可是 厂家没有提供 BSP 这个比较头疼 有大侠 做过 BSP 定制吗? 小弟 MSN : yh052720@163.com QQ : 10648820 …

查看全部问答>

高手帮忙!xxx_Init 初始化的结构体 到xxx_Open 怎么好多成员变了阿

还请高手帮帮忙,郁闷死我了。。。 我的设备结构体如下, typedef struct {     CHANEL chA;   //A通道     CHANEL chB;    //B通道     DWORD  Xtal;   //晶振频率 &nbs ...…

查看全部问答>

请大虾们帮我看看阿 我的中断怎么老进不去阿

请大虾们帮我看看阿 我的中断怎么老进不去阿: 我用的是LPC2119芯片 用于检测频率信号 可是中断老是进不去 请大家帮我看看 是不是那地方配置有问题呢? #include \"config.h\" uint16 Fdiv; uint8 p; uint8 flag_ri; uint32 T1temp0,T1temp ...…

查看全部问答>

请教有关 JTAG 、按钮上拉电阻、UART 外围电路问题

大家好,刚接触LM3S,有几个问题想请教大家: 看fengzhang2002的帖子加仿真器是什么意思,没有明白?我原以为把JTAG的脚引出,然后直接接ULINK2来调试和编程,不知道这样行不行?这样是不是只需要7根线就行了? 另外,像按钮这些,是不是可以通过 ...…

查看全部问答>

富士通开发板DIY:晒一下厨房DIY的成果和进度

厨房部分的功能全部调试完毕,只差无线调试和串口调试了!烟雾部分:模拟开关:温湿度部分:步进电机部分:整体:各部分心得会逐步分享,请大家指正!…

查看全部问答>

火焰传感器

本帖最后由 paulhyde 于 2014-9-15 04:02 编辑 今年TI杯可能用到火焰传感器吗?  …

查看全部问答>

欧洲的几个频段划分

Frequency bands commonly designated to Short Range Devices within 25 MHz to 1 000 MHz Frequency Bands/FrequenciesApplicationsTransmit and Receive26,995 MHz, 27,045 MHz, 27,095 MHz,27,145 MHz, 27,195 MHz,34,995 MHz to 35,225 MHz, ...…

查看全部问答>