历史上的今天
返回首页

历史上的今天

今天是:2025年02月13日(星期四)

正在发生

2019年02月13日 | STM32与Flash AT45DB321D之间读写数据

2019-02-13 来源:eefocus

Flash这种芯片调试,首先必须要读出他的ID来,才能进行读写操作。


AT45DB321D 8192pages(512/528Bytes/Pages)大约4M左右,与单片机之间SPI通信。


大体流程就是先配置好spi,读出芯片ID,往flash里面写一个数据然后再把它读出来,可以通过串口把写入的数据打印出来。写入的过程就是先将数据写入到缓冲器(1或2),在从缓冲器写到指定页的指定地址(具体页地址和字节地址看芯片手册),读的过程也是一样,时序图都在芯片手册有。在这只放一段读ID的程序,详细代码参考的由振南修改的SPI_FLASH,放在我的Github里面。~~~Github~~~


#define Dummy_Byte    0xa5

uint8_t SPI_FLASH_ReadID(void)

{

  SPI_CS_LOW();

  SPI_WriteByte(0x9F);

  ID[0] = SPI_WriteByte(Dummy_Byte);

  ID[1]  = SPI_WriteByte(Dummy_Byte);

  ID[2]  = SPI_WriteByte(Dummy_Byte);

  ID[3]  = SPI_WriteByte(Dummy_Byte);

  SPI_CS_HIGH();

  if(ID[0]==0x1f&&ID[1]==0x27&&ID[2]==0x01&&ID[3]==0x00)

      return 0;

else

    return 1;

}


读出来ID后,ID每个字节都代表特定意思,记得第一个应该是代表atmel公司,后面就查手册吧。由振南的程序读和写都封装好了,不用考虑时序,测试可用。


推荐阅读

史海拾趣

對餘科技(DIOFIT)公司的发展小趣事

DIOFIT公司一直秉持着品质至上的生产理念,注重产品质量和用户体验。他们严格控制原材料采购和生产流程,确保每一款产品都符合高标准的质量要求。同时,DIOFIT公司还建立了完善的售后服务体系,及时解决用户在使用过程中遇到的问题,赢得了用户的信赖和好评。

台湾岱恩(DAIN)公司的发展小趣事

随着科技的不断发展,DIOFIT公司始终将技术创新作为发展的核心驱动力。他们不断投入研发资金,引进先进技术和人才,致力于研发具有自主知识产权的电子产品。在物联网、人工智能等前沿领域,DIOFIT公司取得了一系列突破性的成果,推出了一系列具有竞争力的产品,成为行业内的技术创新引领者。

ETAL公司的发展小趣事

ETAL公司成立于XXXX年,由一群富有远见和热情的电子工程师创立。他们看到了电子技术在全球范围内的广泛应用和巨大潜力,决定投身于这一行业。起初,ETAL主要专注于电子元器件的研发和生产,通过不断的技术创新和产品优化,逐渐在市场上树立了良好的口碑。

GSI Technology公司的发展小趣事

GSI Technology公司成立于1995年3月,总部位于加利福尼亚州的圣何塞(硅谷),自创立之初便专注于提供领先的电信和网络解决方案。公司采用先进的CMOS工艺技术,如0.25、0.15和0.13微米等,致力于开发低功耗、全功能、高性能的SRAM产品。通过不断的技术创新和产品优化,GSI Technology逐渐在高性能存储器市场占据了一席之地,为后续的快速发展奠定了坚实的基础。

Hanghsing Enterprise Co Ltd公司的发展小趣事

进入21世纪后,GSI Technology继续加大研发投入,不仅巩固了其在SRAM领域的领先地位,还成功扩展了产品线,包括同步突发SRAM、无总线周转SRAM等。同时,公司还推出了SigmaRAM、SigmaQuad、SigmaQuad II等系列产品,这些产品以其卓越的性能、高可靠性和低功耗特性,赢得了市场的广泛认可。此外,GSI还致力于提供超长产品支持生命周期和完整的售前售后服务,进一步增强了客户粘性。

Comtronic Gmbh-Verbindungstechnik公司的发展小趣事

从财务表现来看,GSI Technology在过去几年中取得了不俗的成绩。尽管在某些季度受到宏观经济环境和市场需求波动的影响,但公司整体营收和净利润均保持了稳定增长。特别是在2023年Q3财报中,尽管营收略低于市场预期,但公司依然展现出了强劲的发展潜力和市场竞争力。展望未来,GSI Technology将继续秉承创新、务实、高效的发展理念,不断推出更多高性能、高品质的存储器产品,为全球电子行业的发展贡献自己的力量。

问答坊 | AI 解惑

ce6.0 r3 s3c2451 休眠唤醒,死机

可以正常进入休眠,也可以退出休眠。 但是在唤醒的过程中,执行到一半系统挂掉了。 大部分时候,是在: zzzzzzzz APP_PowerUp. [HSMMC1] Power Up the HSMMC Host Controller [HSMMC1] Card is Inserted! 这端死机的。 经过测试,sd卡驱 ...…

查看全部问答>

解读定义DS1302的头文件中的函数问题

void DS1302InputByte(unsigned char d)         //实时时钟写入一字节(内部函数) {     unsigned char i;     ACC = d;     for(i=8; i>0; i--)     {      & ...…

查看全部问答>

低功耗的问题,请大虾帮忙分析

我的板子的静态电流很大在LPM3模式下有120UA左右,我现在把板子上所有的外围器件都卸掉了,就剩下单片机(MSP430F5438), 程序是:所有IO配置成输出拉低,我想应该没问题,电流120UA左右,囧。。。是不是还有什么东西会影响电流。。 void ...…

查看全部问答>

protel99se中文下载

那里有protel99se软件下载,我在网上找了很久也没有找到。…

查看全部问答>

最近在单片机遇到岔路

本人学生,学习单片机有2.3月了,有下面俩问题: 1、单片机应用广不广泛 2、出去后能不能在工作中应用 本人学习51的,用的是MedWinV3.0来编程的,期望大家回答下我的问题…

查看全部问答>

求linux中用QT调用ARM驱动的例程

  在学校参加本科生实践活动,想在ARM板上写一个简单的AD驱动,结果在QT图像界面显示,对于整个流程不是很熟悉,求前辈以前做过的项目代码,熟悉一下~   感谢对新人的栽培~~~…

查看全部问答>

关于ADC内部1.2V参照电压的问题

最近在做红外管触摸屏的时候碰到了一个这样的问题,同样的电路,用别人写好的程序,读取出来的每一个通道的值都比较稳定; 但是,我自己的程序,读取到的值,总是会出现间歇性的抖动,怀疑是电源电压不稳定,就想到用内部1.2V参照电压来修正读取的 ...…

查看全部问答>

用MSP430launchpad做四通道航模遥控器可行性讨论

拿到MSP430LAUNCHPAD时间很久了,一直在吃灰…… 计划做一个航模遥控器 (只遥控,不涉及PPM编码什么) 用P1.0 1.1 1.2 1.3做四路AD采样 四通道! P1.4 2.6 2.7驱动液晶显示 12864 P1.5 1.6 1.7做SPI口,与24L01。 接收机用TIMEA 模拟PWM信号 ...…

查看全部问答>

LM4665,LMV1012组成的高性能驻极体话筒

话筒的输出为高质量的数字信号 …

查看全部问答>

马克思V2.0来啦

本来做好有十几天了,一直忙没有拿出来晒晒 前级还是用上次的555+场管驱动电视机高压包, 本来想用ZVS的,搞了几天没成功,驱动板一直没输出,只好直接用上次的前级了 后面做了十级,一字排开,霸气有木有! 只是找不到合适的电源, ...…

查看全部问答>