历史上的今天
返回首页

历史上的今天

今天是:2025年04月17日(星期四)

正在发生

2018年04月17日 | stm32 FSMC的函数解释

2018-04-17 来源:eefocus

介于网上找的库函数中文版没有FSMC的,所有只能在这边转载一下FSMC的函数解析,供像我这样的菜鸟学习

  1. typedef struct

  2. {

  3. uint32_t FSMC_Bank;//nor被分为四块,其中这个参数是说明对那个块编程

  4. uint32_t FSMC_DataAddressMux;//地址\数据是否复用

  5. uint32_t FSMC_MemoryType;//存储器类型

  6. uint32_t FSMC_MemoryDataWidth;//数据总线宽度 8位/16位 

  7. uint32_t FSMC_BurstAccessMode;//是否进行成组模式访问

  8. uint32_t FSMC_WaitSignalPolarity;//等待信号有效级性

  9. uint32_t FSMC_WrapMode;//该位决定控制器是否支持把非对齐的AHB成组操作分割成2次线性操作;该位仅在存储器的成组模式下有效。

  10. uint32_t FSMC_WaitSignalActive;//当闪存存储器处于成组传输模式时,NWAIT信号指示从闪存存储器出来的数据是否有效或是否需要插入等待周期。该位决定存储器是在等待状态之前的一个时钟周期产生NWAIT信号,还是在等待状态期间产生NWAIT信号。

  11. uint32_t FSMC_WriteOperation;//该位指示FSMC是否允许/禁止对存储器的写操作。

  12. uint32_t FSMC_WaitSignal;//当闪存存储器处于成组传输模式时,这一位允许/禁止通过NWAIT信号插入等待状态。

  13. uint32_t FSMC_ExtendedMode;//该位允许FSMC使用FSMC_BWTR寄存器,即允许读和写使用不同的时序。

  14. uint32_t FSMC_WriteBurst; //对于处于成组传输模式的闪存存储器,这一位允许/禁止通过NWAIT信号插入等待状态。读操作的同步成组传输协议使能位是FSMC_BCRx寄存器的BURSTEN位。

  15. FSMC_NORSRAMTimingInitTypeDef* FSMC_ReadWriteTimingStruct;//读时序配置指针

  16. FSMC_NORSRAMTimingInitTypeDef* FSMC_WriteTimingStruct;//写时序配置指针

  17. }FSMC_NORSRAMInitTypeDef

  18. typedef struct

    1. {

    2. uint32_t FSMC_AddressSetupTime;//这些位定义地址的建立时间,适用于SRAM、ROM和异步总线复用模式的 NOR闪存操作。

    3. uint32_t FSMC_AddressHoldTime;//这些位定义地址的保持时间,适用于SRAM、ROM和异步总线复用模式的 NOR闪存操作。

    4. uint32_t FSMC_DataSetupTime;//这些位定义数据的保持时间,适用于SRAM、ROM和异步总线复用模式的NOR闪存操作。

    5. uint32_t FSMC_BusTurnAroundDuration;//这些位用于定义一次读操作之后在总线上的延迟(仅适用于总线复用模式的NOR闪存操作),一次读操作之后控制器需要在数据总线上为下次操作送出地址,这个延迟就是为了防止总线冲突。如果扩展的存储器系统不包含总线复用模式的存储器,或最慢的存储器可以在6个HCLK时钟周期内将数据总线恢复到高阻状态,可以设置这个参数为其最小值。

    6. uint32_t FSMC_CLKDivision;//定义CLK时钟输出信号的周期,以HCLK周期数表示:

    7. uint32_t FSMC_DataLatency;//处于同步成组模式的NOR闪存,需要定义在读取第一个数据之前等待的存储器周期数目。 这个时间参数不是以HCLK表示,而是以闪存时钟(CLK)表示。在访问异步NOR闪存、SRAM或ROM时,这个参数不起作用。操作CRAM时,这个参数必须为0。

    8. uint32_t FSMC_AccessMode; //访问模式

    9. }FSMC_NORSRAMTimingInitTypeDef;


推荐阅读

史海拾趣

Harris公司的发展小趣事

二战后,随着全球经济的复苏和电气产品的爆炸性需求,Hammond迎来了前所未有的发展机遇。在1950年代和1960年代,Hammond积极扩展产品线,成为变压器、机架、机柜以及电气和电子行业外壳的领先供应商。同时,公司还进行了多次战略性收购,进一步巩固了其在北美电气OEM市场的地位,成为磁性材料的主要供应商之一。

Falco Electronics公司的发展小趣事

随着公司的发展,Falco Electronics开始积极拓展市场。公司不仅在国内市场取得了显著成绩,还积极开拓国际市场。同时,Falco Electronics还与其他行业领军企业开展战略合作,共同开发新产品、拓展新市场。这些合作不仅为公司带来了更多的商机,也提升了公司在行业内的地位和影响力。

DBM Optix公司的发展小趣事

随着全球对环保和可持续发展的重视,DBM Optix也积极响应这一趋势。公司在生产过程中注重节能减排、降低废弃物排放等措施,同时积极开发环保型产品,以满足客户对绿色环保的需求。此外,DBM Optix还积极参与各种环保活动和社会公益事业,为推动电子行业的可持续发展贡献自己的力量。这些举措不仅提升了公司的社会形象,也为公司的长远发展奠定了坚实的基础。

DUBILIER公司的发展小趣事

DUBILIER公司非常重视人才的培养和发展。公司建立了完善的人才培训体系,为员工提供各种培训和发展机会。通过内部培训和外部引进相结合的方式,DUBILIER公司培养了一支高素质、专业化的技术和管理团队。这些人才不仅为公司的发展提供了强大的支持,还为公司赢得了更多的商业机会和合作伙伴。

全志(Allwinner)公司的发展小趣事

全志科技的起源可以追溯到赵广民创立炬力公司的时期。作为“MP3之父”,赵广民带领炬力在短短几年内实现了MP3芯片出货量的突破,年销售额和净利润均取得了惊人的增长。然而,炬力的股权结构问题最终导致了赵广民的离职。他随后创建了全胜微电子有限公司,并在不久后遭遇不幸去世。但赵广民的创业精神和市场洞察力为全志科技的诞生奠定了坚实的基础。

亿佰特(EBYTE)公司的发展小趣事

亿佰特始终坚持以质量为核心的发展理念。公司建立了严格的质量控制体系,从原材料采购到生产制造,再到产品检验,每一个环节都严格把关。通过精细化的管理,亿佰特确保了产品的优良品质。同时,公司还注重售后服务,为客户提供全方位的支持。正是凭借卓越的品质和优质的服务,亿佰特赢得了客户的信赖和市场的认可。

问答坊 | AI 解惑

ad9851中文芯片资料

本帖最后由 paulhyde 于 2014-9-15 03:06 编辑 如题,很经典免费    …

查看全部问答>

半波整流 — 滤波电路的两种不同解法

结合半波整流 — 滤波电路 ,分别采用牛顿 — 拉夫逊法和 PSPICE进行求解 ,均得出了正确的结果.经比较 ,两种方法各有所长.尤其是当电路中的非线性元件比较多 ,元件之间的非线性关系比较复杂 ,采用牛顿 — 拉夫逊法难以得到递推表达式时 ,用 PSPICE求 ...…

查看全部问答>

omap3530 BSP中的Display驱动

板子是OMAP3530,BSP是从网上下的TI_EVM_3530,BSP中Device Drivers中的VGA Linear Framebuffer只支持x86的cpu,请问我要想添加这个组件的话该怎么办?必须要自己写一个能支持arm的vga驱动吗?我装vs2005的时候只选了ARMV4I,是不是再装上x86部分就 ...…

查看全部问答>

汇编有些指令在开启分段前后所作的事是不是不一样?

比如像lss、lds之类的指令在分段前得到的段地址和段内偏移,分段后得到的段选择符和段内偏移。是不是这样理解的?这些指令能做到吗?段选择符能直接这样就能得到吗?(请见谅,我没有分数不能给分,我最近在看linux内核,知道的大哥发表些见解)…

查看全部问答>

WINCE6下如何实现应用和驱动的内存共享

RT,应用和驱动间数据传输可以通过readfile,writefile实现,但是现在想通过内存共享的方式传递大量数据,不知道应用和内存的共享内存可不可以实现?或者有没有更好的应用和驱动间的传输数据的方法?请大家多多指导…

查看全部问答>

一直在用 EVC做界面,感觉提高的很慢,做的东西也是老样子,界面界面再界面。怎么样能让自己提高的快些呢??

一直在做用 EVC做界面,感觉提高的很慢,做的东西也是老样子,界面界面再界面。怎么样能让自己提高的快些呢?? 平台式 WIN CE 5.0…

查看全部问答>

求助,关于子窗口创建

我在主窗口的初始化中注册了子窗口类WNDDISPLAY, 并且注册成功,然而在主窗口的WM_CREATE处理函数中调用hwndChild = CreateWindowEx (WS_EX_CLIENTEDGE, WNDDISPLAY, TEXT(\"\"), WS_CHILD,              ...…

查看全部问答>

C语言,不能用强制转换,想将结构体内所有元素转化为unsigned short int型元素

typedef struct userinfo   {    char[10] username; //用户姓名    long user_serial;  //用户标示号    float user_fee;    //用户消费额,两位小数   } a; 1. 一 ...…

查看全部问答>

使用微软的mediaplayer控件编写播放器的问题

各位大侠:     怎么才可以把微软的mediaplayer控件里面的微软会标,不显示出来。 或者说,怎么才能把mediaplayer输出的视频流,才我自己定义的窗口内播放呢?…

查看全部问答>

怎样看无线电

本帖最后由 paulhyde 于 2014-9-15 03:28 编辑 教你看无线电图    …

查看全部问答>