spiflash是8pins的flash存储器,用到的有AT45DB041和AT45DB161,存储容量后者约有2MB大小。通过读取手册可知,对161进行读写数据有2种方式
1 通过buffer向主存里边写数据,
2 直接向主存里边写数据。
要实现写一个字节的话必须把先把写进去的数据读到buffer里然后带着这些数据重新烧进去,否则会出现错误。如果利用前者调用buffer进行写单字节时,必须要满足几件事
首先把主存页里的 数据读出来;其次把要写的单字节数据写到buffer里;最后再把buffer里的数据写进主存里。
用到的三个命令字分别是0x55 ,0x87(0x84),0x86(0x83).
关键字:spiflash 存储器读写 一个字节
引用地址:
关于spiflash存储器读写一个字节的问题方案
推荐阅读最新更新时间:2024-03-16 14:32
STM32串口发送数据第一个字节丢失的解决办法
1.代码 void Uart1SendData(uint8_t Sdata) { while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET); USART_SendData(USART1, Sdata); } 2.分析 发送数据前先执行 while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET); 即可解决。
[单片机]
解决串口开启DMA接受却只能接收到第一个字节的问题
设备: 单片机:STM32G070 MDK:V5.25 问题描述: 发现串口接受不到数据,只能接受到第一个字节。 MX_USART4_UART_Init(); HAL_Delay(200); HAL_UART_Receive_DMA(&huart4, UART_DMA_RXBuf, UART_RX_BUF_SIZE); 原因分析: 在单片机执行完串口初始化之后,并没有立马开启DMA接收,在这个时间差之内如果有数据发过来就会导致这个问题 解决方案: 在完成串口初始化之后,立马开启DMA接收,中间不能有较大的空挡时间差即可。 MX_USART4_UART_Init(); // HAL_Delay(200);
[单片机]
X5045组成的看门狗电路及51读写x5045存储器的程序
X5045是一种集看门狗、电压监控和串行EEPROM 三种功能于一身的可编程控制电路.特别适合应用在需要少量存储器,并对电路板空间需求较高场合, X5045具有电压监控功能,可以保护系统免受低电压的影响,当电源电压降到允许范围(4.2V)以下时,系统将复位,直到电源电压返回到稳定值为止。X5045的存储器与CPU 通过串行通信方式接口(SPI),可以存放512个字节数据.可擦写100万次,数据可保存100年. 下图是X5045与具有手动复位的8051微控制器的连接 注意:图上的芯片写着是X5043,实际上这是X5045的接法 下边是51读写x5045存储器的程序 //x5045和51的连接方法
[单片机]
基于X5045的看门狗电路及51读写x5045存储器的程序
X5045是一种集看门狗、电压监控和串行EEPROM 三种功能于一身的可编程控制电路.特别适合应用在需要少量存储器,并对电路板空间需求较高场合, X5045具有电压监控功能,可以保护系统免受低电压的影响,当电源电压降到允许范围(4.2V)以下时,系统将复位,直到电源电压返回到稳定值为止。X5045的存储器与CPU 通过串行通信方式接口(SPI),可以存放512个字节数据.可擦写100万次,数据可保存100年. 下图是X5045与具有手动复位的8051微控制器的连接 注意:图上的芯片写着是X5043,实际上这是X5045的接法 下边是51读写x5045存储器的程序 //x5045和51的连接方法 sbit CS = P
[单片机]