学习笔记hduxyc博客园_第1页
学习笔记hduxyc博客园_第2页
学习笔记hduxyc博客园_第3页
学习笔记hduxyc博客园_第4页
学习笔记hduxyc博客园_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

博客首新随联订随笔文章1评论7trackbacks<2014年12>日一1二2三3四4五5六6789博客首新随联订随笔文章1评论7trackbacks<2014年12>日一1二2三3四4五5六6789456718293搜常用链随笔档2011年5月阅读排行STM32FSMC45评论排行1.STM32FSMC推荐1.STM32FSMCSTM32FSMC学习笔FSMC全称“静态存储器控制器”使用FSMC控制器后,可以把FSMC提供的FSMC_A[25:0]作为地址线,而把FSMC提供FSMC_D[15:0]作为数据总地址各位对应FSMC_A[25:0],数据位对应地址各位对应FSMC_A[24:0],数据位对应FSMC包括4个模块AHB接口(包括FSMC配置寄存器NORPSRAM(LCDLCDPSRAM216DATARAM一个是CMDRAM)注:FSMCAHBAHBNOR或NANDLCDFSMCAHBFSMC0x600000000x9FFFFFFF4256M464MNORHADDR[27:26]64MNE[4:1]NE1- NE2- NE3- NE4-NE1连接每小块NOR/PSRAM第一块:60000000h--63ffffffhDATA长度为8位情况下,由地址线FSMC_A[25:0]决定每小块NOR/PSRAM第一块:60000000h--63ffffffhDATA长度为8位情况下,由地址线FSMC_A[25:0]决定DATA长度为16位情况下,由地址线FSMC_A[24:0]决第二块0000h--第二块0000h--第三块0000h--注:这里的HADDR是需要转换到外部设备的内部AHB地址线,每个地址对应一个字节单元8HADDR[25:0]与STM32CPUFSMC_A[25:0]64M16HADDR[25:1]与STM32CPUFSMC_A[24:0FSMC_A其他外设的地址总线引脚上例:STM32F10XXFCMS控制LCD的驱FSMC提供了所有的LCD控制器的信号16bit的数据FSMCNEx:分配给NOR的256M,再分为4个区,每个区用来分配一个外设,这四个外设的FSMCNOE:输出使能,连接LCD的RD脚。FSMCNWE:写使能,连接LCD的RW脚。FSMCAx:用在LCD显示RAM和寄存器之间进行选择的地址线,即该线用于选择LCD的注:RS0时,表示读写寄存器;RS1表示读写数据RAM。举例1:选择NOR的第一个存储区,并且使用FSMC_A16来控制LCD的RS引脚,则我们访LCD显示RAM的基址为0x60020000,访问LCD寄存器的地址为:0x60000000。因为数据长度为16bit,所以FSMC_A[24:0]对应HADDR[25:1] 举例2:选择NOR的第四个存储区,使用FSMC_A0控制LCD的RS脚,则访问LCD显示RAM的址为0x6c000002,访问LCD寄存器的地址为:0x6c000000例FSMCNOE:输出使能FSMCNEW:FSMC写使FSMCAx:连接RS,可用范围数据建立时间注:这里地址建立地址保持数据建立三个时间不知道怎么设出来的。。。。。我是根据别人的经验来设定的。高手知道这个设置不同有什么区别的话,请指教,谢谢:)staticvoid{FSMC_NORSRAMInitTypeDefstaticvoid{FSMC_NORSRAMInitTypeDefFSMC_NORSRAMInitStructure; FSMC SRAMBank /*FSMC_Bank1_NORSRAM4configuration*/FSMC_NORSRAMTimingInitStructure.FSMC_AddressSetupTime=1;函数名参数:无返回:无功能:配置LCD控制口线,FSMC管脚设置staticvoid{GPIO_InitTypeDef/*使能FSMCGPIODGPIOEGPIOFGPIOGAFIO时钟RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC,RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE|RCC_APB2Periph_GPIOF|RCC_APB2Periph_GPIOG|RCC_APB2Periph_AFIO,ENABLE);PD.10(D15),PD.14(D0),PD.15(D1)为复用推挽输出*/GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_14|GPIO_Pin_15;//|GPIO_Pin_7;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_Init(GPIOD,&GPIO_InitStructure);PE.14(D11),PE.15(D12)为复用推挽输出*//*PE3,PE4用于A19,A20,STM32F103ZE-EK(REV2.0)必须使能/*PE5,PE6用于A19,A20,STM32F103ZE-EK(REV2.0)必须使能GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Init(GPIOE,/*设置PF.00(A0RS))为复用推挽输出*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;GPIO_Init(GPIOF,&GPIO_InitStructure);/*设置PG.12(NE4LCD/CS复用推挽输出CE3(LCDCS)*/GPIO_InitStructure.GPIO_PinGPIO_Pin_12;GPIO_Init(GPIOG,GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_SetBits(GPIOB,GPIO_Pin_1);}Feed#1楼2012-08-1316:51Feed#1楼2012-08-1316:51好笔记。很明小结:这里使用的地址映射属于BANK1NOR/PSRAM1 所以DATA数据基址为0x6c000000又因为LCD的RS连接在FSMC_A0上所以CMD地址0x6c000002。配置好FSMC后,要写DATACMD关注- 粉 «上一篇:postedon2011-05-1711:21hduxyc阅读(38113)评论(7)编辑收绿色通道:好文要 关注 收藏该 与我联FSMC_NORSRAMTimingInitStructure.FSMC_AddressHoldTime=FSMC_NORSRAMTimingInitStructure.FSMC_DataSetupTime=FSMC_NORSRAMTimingInitStructure.FSMC_BusTurnAroundDuration=FSMC_NORSRAMTimingInitStructure.FSMC_CLKDivision=FSMC_NORSRAMTimingInitStructure.FSMC_DataLatency=0;FSMC_NORSRAMTimingInitStructure.FSMC_AccessMode=FSMC_AccessMode_B;/*ColorLCD LCDconfiguredasData/AddressMUX=MemoryType=DataWidth=WriteOperation=ExtendedMode=AsynchronousWait=Disable*/FSMC_NORSRAMInitStructure.FSMC_Bank=FSMC_Bank1_NORSRAM4;FSMC_NORSRAMInitStructure.FSMC_DataAddressMux=FSMC_DataAddressMux_Disable;FSMC_NORSRAMInitStructure.FSMC_MemoryType=FSMC_MemoryType_SRAM;FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth=FSMC_MemoryDataWidth_16b;FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode=FSMC_BurstAccessMode_Disable;FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity=FSMC_WaitSignalPolarity_Low;FSMC_NORSRAMInitStructure.FSMC_WrapMode=FSMC_WrapMode_Disable;FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive=FSMC_NORSRAMInitStructure.FSMC_WriteOperation=FSMC_WriteOperation_Enable;FSMC_NORSRAMInitStructure.FSMC_WaitSignal=FSMC_WaitSignal_Disable;FSMC_NORSRAMInitStructure.FSMC_ExtendedMode=FSMC_ExtendedMode_Disable;FSMC_NORSRAMInitStructure.FSMC_WriteBurst=FSMC_WriteBurst_Disable;FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct=/*---BANK3(ofNOR/SRAMBank0~3)isenabled*/FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4,ENABLE);}刷新评论刷新页面返回顶注册用户登录后才能发表评论,请刷新评论刷新页面返回顶注册用户登录后才能发表评论,请登录或注册,访问网站首页【免费课程】案例:模式的秘密---单例模【推荐】50万行VC++源码:大型组态工控、电力仿真CAD与GIS源码融云,免费为你的App加入IM功能——让你的App“聊”起来【推荐】最懂中文的H5前端框#7楼2013-08-1409:37正在学习支持(0)反对#6楼2013-02-0415:26支持(0)反对#5楼2013-01-1811:49西木STM32F103VE操作KGGIF1208U0C如何操作?例支持(0)反对#4楼2012-12-2023:37夸功能:配置LCD控制口线,FSMC管脚设置为staticvoid只看到你这里GPIOD的管脚是复用输出功能,其他的管脚没看到你有复用输出啊。支持(0)反对#3楼2012-12-2021:28夸自己做的转支持(0)反对#2楼2012-10-2521:18阿超应该有用,一会儿

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论