STM32f4---TFTLCD显示实验代码(04)

发布者:superstar10最新更新时间:2018-09-29 来源: eefocus关键字:STM32f4  TFTLCD  显示实验 手机看文章 扫描二维码
随时随地手机看文章

   //  引脚复用映射设置

   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);


关键字:STM32f4  TFTLCD  显示实验 引用地址:STM32f4---TFTLCD显示实验代码(04)

上一篇:STM32f4---TFTLCD显示实验代码(03)
下一篇:STM32f4---TFTLCD显示实验代码(02)

推荐阅读最新更新时间:2024-03-16 16:14

STM32F4更新W25Q16字库源程序
一开始我下载了读取SD卡的程序,但液晶显示屏幕上没反应,于是我就下载了这个关于更新字库的程序,就有反应了。 本实验将实现如下功能:开机的时候先检测W25Q16中是否已经存在字库,如果存在,则按次序显示汉字(三种字体都显示)。如果没有,则检测SD卡和文件系统,并查找SYSTEM文件夹下的FONT文件夹,在该文件夹内查找UNIGBK.BIN、GBK12.FON、GBK16.FON (这几个文件的由来,我们前面已经介绍了)。在检测到这些文件之后,就开始更新字库,更新完毕才开始显示汉字。通过按按键KEY0,可以强制更新字库。同样我们也是用DS0来指示程序正在运行。 需要拷贝到SD卡根目录文件 1,在系统(或字库)更新的时候,必须用到SY
[单片机]
<font color='red'>STM32F4</font>更新W25Q16字库源程序
STM32F4xx_GPIO常用设置
1、初始化时钟:   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE, ENABLE); 2、输出设置:   GPIO_InitTypeDef GPIO_InitStructure;   GPIO_StructInit(&GPIO_InitStructure);   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_9;   GPIO_Init
[单片机]
S3C2440 测试程序(六) LCD显示实验2_触摸小图片切换大图片
实验效果: 点击屏幕中的6副小图片,可将该小图片切换成全屏图片。 1、欲实现小图片,需将原来图片压缩,此处压缩成原来的1/8。代码如下: void Paint_Bmp_Small(int x0,int y0,int h,int l,int k,unsigned char bmp ) { //从 至 为止被显示被压缩了1/k的图片 int x,y; U32 c; int p = 0; h = h/k; l = l/k; for( y = 0 ; y l ; y++ ) // l=240/k { for( x = 0 ; x
[单片机]
第16章 STM32F429必备的HAL库API
16.1 初学者重要提示 对于一些常用的函数,大家一定要熟练的掌握都实现了什么功能,比如HAL_Init,HAL_RCC_OscConfig,HAL_RCC_ClockConfig等。最好的办法是把这些函数的源码读一遍。 16.2 那些是必备的API 这里我们通过一个简单的初始化流程来了解STM32F4的工程模板所必备的库文件和API: 第1步:系统上电复位,进入启动文件startup_stm32f429xx.s,在这个文件里面执行复位中断服务程序。 在复位中断服务程序里面执行函数SystemInit,此函数在文件system_stm32f4xx.c里面。 之后是调用编译器封装好的函数,比如用于MDK的启动文件是调
[单片机]
第16章 <font color='red'>STM32F4</font>29必备的HAL库API
stm32f4 定时捕获
Ⅰ、概述 本文基于上一篇文章“TIM输入波形捕获(脉冲频率)”的基础上进行拓展,上一篇文章主要是捕获波形的频率,本文主要拓展捕获波形的占空比。 笔者实验测试的方法和上一篇文章一样,通过信号发生器产生PWM信号,通过串口发送频率和占空比到上位机(上位机串口助手显示其数值)。(没有信号发生器的朋友可以结合上一篇文章PWM输出做信号源;在同一块板子上也可以使用不同定时器,将PWM输出引脚接在捕获输入引脚) 实验现象:不同频率的实验现象请看上一篇文章(该文章提供的工程笔者也是进行了大量不同频率的测试,误差在几Hz属正常范围)。 1000Hz、20% - 80%占空比现象: 1000Hz、51% - 58%占空比现象: 关于
[单片机]
<font color='red'>stm32f4</font> 定时捕获
STM32F4XX高效驱动篇1-UART
之前一直在做驱动方面的整理工作,对驱动的高效性有一些自己的理解这里和大家分享一下。并奉驱动程序,本程序覆盖uart1-8。 串口驱动,这是在每个单片机中可以说是必备接口。可以说大部分产品中都会使用,更有甚者一个产品中用到8个串口。这样一个高效的驱动是决定您产品优劣的关键因素。本文主要针对STM32F4XX系列芯片做的一个驱动接口层。以减少您在开发项目时驱动方面所花费时间,以及为程序达到高效的处理为目的。 从51,pic到现在的STM32,个人感觉STM32这方面做的非常突出,丰富的使用模式,强大的引脚映射功能,强大的处理能力等,给我留下的深刻的印象。 关于串口的使用方式,个人总结出以下三种: 1) 中断接收,状态查询发送:
[单片机]
STM32学习之:STM32F4XX的三大主体部分
三大模块:电源、IO口、时钟。 一、 首先,我们来看一下电源,下面是电源框图 从上面我们可以看出,电源给内部的三大关键部分供电,一是给ADC供电,这块无需多说,二是电池备份域,VBAT引脚可以连接到一个可选的待机电压由电池供电或由另一个来源,当V DD是断开时保留的备份寄存器的内容和供给的RTC。还一部分主要用来给数字逻辑部分供电,像唤醒逻辑、看门狗、IO等,给内核、内存和数字外设的供电需要在VDD之后加上一个电压调整器。 接下来介绍的就是低功耗模式了 默认情况下,微控制器是在运行模式后,一个系统或一个上电复位。在运行模式的CPU的时钟HCLK和程序代码执行,一些低功耗模式是可用的,以节省电力时,不需要保持运行的中央处理器
[单片机]
STM32F4学习笔记11——CRC循环冗余校验
关于CRC校验有以下几个方面 1.模2除(也就是异或)。 2.多项式与二进制关系(x的最高幂次对应二进制数的最高位,以下各位对应多项式的各幂次,有此幂次项对应1,无此幂次项对应0,x的最高幂次为R,转换成对应的二进制数有R+1位。)。 CRC基本原理 循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。 校验码的具体生成过程为:假设发送信息用信息多项式C(X)表示,将C(x)左移R位,则可表示成C(x)
[单片机]
<font color='red'>STM32F4</font>学习笔记11——CRC循环冗余校验
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved