关于FLASH存储器,请参考“常用存储器介绍”章节,实验中FLASH芯片的具体参数,请参考其规格书《W25Q256》来了解。24.1. SPI协议简介 SPI协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在ADC、LCD等设备与MCU间,要求通讯速率较高的...
spi1_flash_send_byte(0x02); spi1_flash_send_byte((uint8_t)((addr)>>16)); spi1_flash_send_byte((uint8_t)((addr)>>8)); spi1_flash_send_byte((uint8_t)addr);for(i =0; i < size; i++) { spi1_flash_send_byte(pdata[i]); } cs_high; spi1_flash_wait_for_write_end(...
(1); } /* 读取数据寄存器,获取接收缓冲区数据 */ return SPI_I2S_ReceiveData(FLASH_SPIx); } /** * @brief 使用SPI读取一个字节的数据 * @param 无 * @retval 返回接收到的数据 */ u8 SPI_FLASH_ReadByte(void) { return (SPI_FLASH_SendByte(Dummy_Byte)); } SPI_FLASH_SendByte发送单字节...
1)SPI_FLASH_CS_LOW(),拉低CS线,片选FLASH,以使能FLASH设备。 2)利用SPI_FLASH_SendByte()向Flash发送第一个命令字节编码W25X_DeviceID,该宏展开后为0xAB. 3)根据指令表,发送完这个指令后,后面紧跟着三个字节的dummy byte,我们把Dummy_Byte宏定义为0xFF,实际上改成其它编码都可以,无影响。 4)完整的命令在...
SPI Flash 首先它是个Flash,Flash是什么东西就不多说了(非易失性存储介质),分为NOR和NAND两种(NOR和NAND的区别本篇不做介绍)。SPI一种通信接口。那么严格的来说SPI Flash是一种使用SPI通信的Flash,即,可能指NOR也可能是NAND。但现在大部分情况默认下人们说的SPI Fla
SPI_FLASH_SendByte(0xFF); /* Deselect the FLASH: Chip Select high */ SPI2_Flash_CS_HIGH(); } //---flash读函数 void Flash_Read_Data(u32 addr, u32 len, u8* dst) { u8 adr1,adr2,adr3; u32 i = 0; // SPI2_SetSpeed(SPI_BaudRatePrescaler_4); adr1 = (addr...
/*** @brief 写使能* @param 无* @retval 无*/voidSPI_FLASH_WriteEnable(void){FLASH_SPI_CS_LOW;SPI_FLASH_SendByte(0x06);// 发送“Write Enable”指令,06hFLASH_SPI_CS_HIGH;}/*** @brief 扇区擦除* @param SectorAddr:擦除地址* @retval 无*/voidSPI_FLASH_SectorErase(u32SectorAddr){SPI_...
以SPI方式读写FLASH的基本流程如下: (1)设置SPI的工作模式。 (2)flash初始化。 (3)SPI写一个字节、写使能函数、写数据函数,读数据函数等编写。 (4)主函数编写。 一 设置SPI工作模式。 宏定义 #define SPI_FLASH_CS_LOW() GPIO_ResetBits(GPIOA,GPIO_Pin_4) ...
Tx, ENABLE);DMA_Cmd(DMA1_Channel3,ENABLE);}u8 sFLASH_ReadByte(void){return (sFLASH_SendByte...
SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。 SPI主从模式 SPI分为主、从两种模式,一个SPI通讯系统需要包含一个(且只能是一个)主设备,...