历史上的今天
返回首页

历史上的今天

今天是:2024年09月29日(星期日)

正在发生

2018年09月29日 | STM32f4---TFTLCD显示实验代码(04)

2018-09-29 来源:eefocus

   //  引脚复用映射设置

   GPIO_PinAFConfig(GPIOD,GPIO_PinSource0,GPIO_AF_FSMC);//PD0,AF12

   GPIO_PinAFConfig(GPIOD,GPIO_PinSource1,GPIO_AF_FSMC);//PD1,AF12

   GPIO_PinAFConfig(GPIOD,GPIO_PinSource4,GPIO_AF_FSMC);

   GPIO_PinAFConfig(GPIOD,GPIO_PinSource5,GPIO_AF_FSMC);  

   GPIO_PinAFConfig(GPIOD,GPIO_PinSource8,GPIO_AF_FSMC);  

   GPIO_PinAFConfig(GPIOD,GPIO_PinSource9,GPIO_AF_FSMC);

   GPIO_PinAFConfig(GPIOD,GPIO_PinSource10,GPIO_AF_FSMC);

   GPIO_PinAFConfig(GPIOD,GPIO_PinSource14,GPIO_AF_FSMC);

   GPIO_PinAFConfig(GPIOD,GPIO_PinSource15,GPIO_AF_FSMC);//PD15,AF12

  

   GPIO_PinAFConfig(GPIOE,GPIO_PinSource7,GPIO_AF_FSMC);//PE7,AF12

   GPIO_PinAFConfig(GPIOE,GPIO_PinSource8,GPIO_AF_FSMC);

   GPIO_PinAFConfig(GPIOE,GPIO_PinSource9,GPIO_AF_FSMC);

   GPIO_PinAFConfig(GPIOE,GPIO_PinSource10,GPIO_AF_FSMC);

   GPIO_PinAFConfig(GPIOE,GPIO_PinSource11,GPIO_AF_FSMC);

   GPIO_PinAFConfig(GPIOE,GPIO_PinSource12,GPIO_AF_FSMC);

   GPIO_PinAFConfig(GPIOE,GPIO_PinSource13,GPIO_AF_FSMC);

   GPIO_PinAFConfig(GPIOE,GPIO_PinSource14,GPIO_AF_FSMC);

   GPIO_PinAFConfig(GPIOE,GPIO_PinSource15,GPIO_AF_FSMC);//PE15,AF12

  

   GPIO_PinAFConfig(GPIOF,GPIO_PinSource12,GPIO_AF_FSMC);//PF12,AF12

   GPIO_PinAFConfig(GPIOG,GPIO_PinSource12,GPIO_AF_FSMC);

 

   //FSMC 初始化

   readWriteTiming.FSMC_AddressSetupTime = 0XF; //地址建立时间为16个HCLK

   readWriteTiming.FSMC_AddressHoldTime = 0x00;    //地址保持时间模式A 未用到  

   readWriteTiming.FSMC_DataSetupTime = 24;//数据保存时间为25个HCLK  

   readWriteTiming.FSMC_BusTurnAroundDuration = 0x00;

   readWriteTiming.FSMC_CLKDivision = 0x00;

   readWriteTiming.FSMC_DataLatency = 0x00;

   readWriteTiming.FSMC_AccessMode = FSMC_AccessMode_A;    //模式 A  

     

writeTiming.FSMC_AddressSetupTime =8;    //地址建立时间(ADDSET)为 8个 HCLK  

   writeTiming.FSMC_AddressHoldTime = 0x00; //地址保持时间    

   writeTiming.FSMC_DataSetupTime = 8;    //数据保存时间为6ns*9 个 HCLK=54ns

   writeTiming.FSMC_BusTurnAroundDuration = 0x00;

   writeTiming.FSMC_CLKDivision = 0x00;

   writeTiming.FSMC_DataLatency = 0x00;

   writeTiming.FSMC_AccessMode = FSMC_AccessMode_A;    //模式 A  

 

   FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM4;

//这里我们使用NE4 ,也就对应BTCR[6],[7]。

   FSMC_NORSRAMInitStructure.FSMC_DataAddressMux  

=FSMC_DataAddressMux_Disable; // 不复用数据地址

   FSMC_NORSRAMInitStructure.FSMC_MemoryType =FSMC_MemoryType_SRAM;

// FSMC_MemoryType_SRAM;   

   FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth  

= FSMC_MemoryDataWidth_16b;//存储器数据宽度为16bit    

   FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode  

=FSMC_BurstAccessMode_Disable;// FSMC_BurstAccessMode_Disable;  

   FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity  

=FSMC_WaitSignalPolarity_Low;

FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait

=FSMC_AsynchronousWait_Disable;  

   FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;    

   FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive  

=FSMC_WaitSignalActive_BeforeWaitState;   

   FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;

  //存储器写使能

   FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;    

   FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Enable;  

// 读写使用不同的时序

   FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;  

   FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &readWriteTiming;  

//读写时序

   FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &writeTiming;  //写时序

 

   FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);  //初始化 FSMC 配置

      

       //使能 FSMC

   FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE);  //  使能BANK1

delay_ms(50); // delay 50 ms   

   lcddev.id = LCD_ReadReg(0x0000);


推荐阅读

史海拾趣

eLED.com Corp公司的发展小趣事

eLED.com Corp是一家专注于LED(发光二极管)领域的电子公司,成立于XX世纪初。公司创始人XX先生,在半导体行业拥有多年的研发经验,他看到LED技术在照明和显示领域的巨大潜力,于是决定创立eLED.com Corp。公司初期主要致力于LED产品的研发和生产,凭借其高效率和长寿命的特点,逐渐在市场上获得认可。

为了进一步提升产品质量和技术水平,eLED.com Corp不断投入研发资金,引入先进的生产设备和技术人才。通过与高校和研究机构的合作,公司成功开发出一系列具有自主知识产权的LED产品,逐渐在行业中树立了良好的口碑。

BELDEN公司的发展小趣事

在发展过程中,BELDEN公司积极实施国际化战略,不断拓展海外市场。公司在全球范围内设立了多个分支机构和销售网络,覆盖了北美、欧洲、亚洲等多个地区。通过与国际知名企业的合作与交流,BELDEN不断引进先进的技术和管理经验,提升了自身的研发能力和管理水平。同时,公司还针对不同地区的市场需求,推出了定制化的产品和服务,赢得了广大客户的信任和好评。

GISMA Steckverbinder GmbH公司的发展小趣事

GISMA深知客户需求的重要性,因此始终将客户需求放在首位。公司拥有一支专业的研发团队和客户服务团队,能够根据客户的具体需求量身定制产品,提供从设计到生产的全方位服务。这种定制化服务模式不仅赢得了客户的广泛赞誉,也进一步巩固了GISMA在电子行业中的市场地位。通过深入了解客户需求,GISMA不断优化产品设计和生产流程,为客户提供更加优质的产品和服务。

CDE [ CORNELL DUBILIER ELECTRONICS ]公司的发展小趣事

在电子行业的早期,创始人William Dubilier凭借其敏锐的洞察力和创新精神,于1909年创立了CDE公司。Dubilier首次使用一种名为云母的玻璃状矿物,开发出一种新型电容器,这一创新为CDE公司的诞生奠定了基石。自那时起,CDE便以电容器为专业方向,不断追求技术突破和产品创新。

高通(GENITOP)公司的发展小趣事

随着全球市场的不断拓展,超霸电池的销售网络遍布亚洲、欧洲和北美等多个国家和地区。公司始终坚持绿色环保的生产理念,研发出无汞无镉的电池产品,可随生活垃圾丢弃而不会对环境造成影响。此外,超霸电池还积极参与环保事业,旗下多家工厂获得了UL美国安全试验所废弃物零填埋认证。这些举措不仅彰显了超霸电池的社会责任感,也为其在国际市场上树立了良好的品牌形象。

Amveco Toroidal Power Products公司的发展小趣事

品质是企业的生命线。Amveco公司深知这一点,因此始终将品质管理放在企业发展的首位。公司建立了严格的质量管理体系,从原材料采购到产品出厂的每一个环节都进行严格把控。同时,公司还注重品牌建设,通过广告宣传、参加行业会议等方式提升品牌知名度和美誉度。这些努力使得Amveco公司的环形变压器在市场上树立了良好的品牌形象。

问答坊 | AI 解惑

关于信号传输协议中的Blanking(空白)

我在BT.656(一个视频数据传输协议)的数据传输协议中看到,对数据的传输格式规定有相当大小的Blanking部分,占到整个数据传输块的很大一部分,我弄不清这个Blanking有什么用处呢?…

查看全部问答>

在linux 的内核态中能访问 tty 终端吗?

tty 终端是给用户层访问的文件,那如果我在linux驱动里要访问tty终端,这可行吗?应该怎么做呢?…

查看全部问答>

现在嵌入开发的前景如何,想去参加一下培训

现在嵌入开发的前景如何,想去参加一下培训 主要目的是想转行做开发…

查看全部问答>

美资闪存公司Sr. AE职位(服务器环境的底层软件开发背景)

美资闪存公司Sr. AE职位(服务器环境的底层软件开发背景) JD如下,最重要的是服务器环境下的底层软件开发经验,如Driver、BIOS等,熟悉C或汇编。其他plus的要求:对于Linux内核了解,懂得内核级的内存管理及相应改进,以适应和开展服务器环境下Fla ...…

查看全部问答>

embedded vb 如何把它编译的程序,转成cab阿。在线等

embedded vb 如何把它编译的程序,转成cab阿。在线等 我初次是用这个软件,在他的模拟ppc 2002上已经可以使用了,但是我想安装在真实的机器上测试,不知道怎么弄   希望搞人指教…

查看全部问答>

stm32f103ze的I2C不行

程序代码如下: 初始化后寄存器如下:起始地址是0x40005800 00000001     00000024  00004000 00000000 00000000    00000000   00000000 00000708 00000035 我不喜欢用提供的函数, ...…

查看全部问答>

新手提问--想学ARM但是不知道先学ARM7或ARM9好还是先学STM32好--有51和avr经验

想学ARM但是不知道先学ARM7或ARM9好还是先学STM32好。我现在一直在用的是51和AVR。…

查看全部问答>

谁设计的PCB,有才呀!

这样的PCB,设计的人太有才了 …

查看全部问答>