本文整理汇总了C++中sFLASH_SendByte函数的典型用法代码示例。如果您正苦于以下问题:C++ sFLASH_SendByte函数的具体用法?C++ sFLASH_SendByte怎么用?C++ sFLASH_SendByte使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了sFLASH_SendByte函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: sFLASH_WaitForWriteEnd
/**
* @brief Polls the status of the Write In Progress (WIP) flag in the FLASH's
* status register and loop until write opertaion has completed.
* @param None
* @retval None
*/
void sFLASH_WaitForWriteEnd(uint32_t Addr)
{
uint8_t flashstatus = 0;
if(Addr >= sFLASH_MEMORYSIZE)
{
/*!< Select the FLASH: Chip Select low */
sFLASH_CS2_LOW();
}
else
{
/*!< Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
}
/*!< Send "Read Status Register" instruction */
sFLASH_SendByte(sFLASH_CMD_RDSR);
/*!< Loop as long as the memory is busy with a write cycle */
do
{
/*!< Send a dummy byte to generate the clock needed by the FLASH
and put the value of the status register in FLASH_Status variable */
flashstatus = sFLASH_SendByte(sFLASH_DUMMY_BYTE);
}
while ((flashstatus & sFLASH_WIP_FLAG) == SET); /* Write in progress */
/*!< Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
}
开发者ID:bearxiong99,项目名称:lamp_project_master,代码行数:39,代码来源:spi_flash.c
示例2: sFLASH_ReadStatus
unsigned int sFLASH_ReadStatus(void)
{
unsigned int Temp0 = 0;
/*!< Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/*!< Send "RDID " instruction */
sFLASH_SendByte(sFLASH_CMD_RDSR);
/*!< Read a byte from the FLASH */
Temp0 = sFLASH_SendByte(sFLASH_DUMMY_BYTE);
/*!< Read a byte from the FLASH */
//Temp1 = sFLASH_SendByte(sFLASH_DUMMY_BYTE);
/*!< Read a byte from the FLASH */
//Temp2 = sFLASH_SendByte(sFLASH_DUMMY_BYTE);
/*!< Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
//Temp = Temp0;
return Temp0;
}
开发者ID:ADTL,项目名称:AFGUI,代码行数:26,代码来源:at26df.c
示例3: sFLASH_SoftReset
/**
* @brief Enables the write access to the FLASH.
* @param None
* @retval None
*/
void sFLASH_SoftReset(void)
{
/*!< Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/*!< Send "Write Enable" instruction */
sFLASH_SendByte(sFLASH_CMD_RST0);
/*!< Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
//delay
//sFLASH_SendByte(sFLASH_DUMMY_BYTE);
/*!< Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/*!< Send "Write Enable" instruction */
sFLASH_SendByte(sFLASH_CMD_RST1);
/*!< Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
sFLASH_WaitForWriteEnd(0);
}
开发者ID:bearxiong99,项目名称:lamp_project_master,代码行数:31,代码来源:spi_flash.c
示例4: sFLASH_ReadID
/**
* @brief Reads FLASH identification.
* @param None
* @retval FLASH identification
*/
uint32_t sFLASH_ReadID(void)
{
uint32_t Temp = 0, Temp0 = 0, Temp1 = 0, Temp2 = 0;
/*!< Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/*!< Send "RDID " instruction */
sFLASH_SendByte(0x9F);
/*!< Read a byte from the FLASH */
Temp0 = sFLASH_SendByte(sFLASH_DUMMY_BYTE);
/*!< Read a byte from the FLASH */
Temp1 = sFLASH_SendByte(sFLASH_DUMMY_BYTE);
/*!< Read a byte from the FLASH */
Temp2 = sFLASH_SendByte(sFLASH_DUMMY_BYTE);
/*!< Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
Temp = (Temp0 << 16) | (Temp1 << 8) | Temp2;
return Temp;
}
开发者ID:vincentwilliam,项目名称:STM32F4XX_User_Lib,代码行数:31,代码来源:spi_flash.c
示例5: sFLASH_ReadBuffer
/**
* @brief Reads a block of data from the FLASH.
* @param pBuffer: pointer to the buffer that receives the data read from the FLASH.
* @param ReadAddr: FLASH's internal address to read from.
* @param NumByteToRead: number of bytes to read from the FLASH.
* @retval None
*/
void sFLASH_ReadBuffer(uint8_t* pBuffer, uint32_t ReadAddr, uint32_t NumByteToRead)
{
/* Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/* Send "Read from Memory " instruction */
sFLASH_SendByte(sFLASH_CMD_READ);
/* Send ReadAddr high nibble address byte to read from */
sFLASH_SendByte((ReadAddr & 0xFF0000) >> 16);
/* Send ReadAddr medium nibble address byte to read from */
sFLASH_SendByte((ReadAddr& 0xFF00) >> 8);
/* Send ReadAddr low nibble address byte to read from */
sFLASH_SendByte(ReadAddr & 0xFF);
while (NumByteToRead) /* while there is data to be read */
{
/* Read a byte from the FLASH and point to the next location */
*pBuffer++ = sFLASH_SendByte(sFLASH_DUMMY_BYTE);
/* Decrement NumByteToRead */
NumByteToRead--;
}
/* Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
}
开发者ID:spark,项目名称:firmware,代码行数:33,代码来源:spi_flash.c
示例6: sFLASH_WritePage
/**
* @brief Writes more than one byte to the FLASH with a single WRITE cycle
* (Page WRITE sequence).
* @note The number of byte can't exceed the FLASH page size.
* @param pBuffer: pointer to the buffer containing the data to be written
* to the FLASH.
* @param WriteAddr: FLASH's internal address to write to.
* @param NumByteToWrite: number of bytes to write to the FLASH, must be equal
* or less than "sFLASH_PAGESIZE" value.
* @retval None
*/
void sFLASH_WritePage(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite)
{
/*!< Enable the write access to the FLASH */
sFLASH_WriteEnable();
/*!< Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/*!< Send "Write to Memory " instruction */
sFLASH_SendByte(sFLASH_CMD_WRITE);
/*!< Send WriteAddr high nibble address byte to write to */
sFLASH_SendByte((WriteAddr & 0xFF0000) >> 16);
/*!< Send WriteAddr medium nibble address byte to write to */
sFLASH_SendByte((WriteAddr & 0xFF00) >> 8);
/*!< Send WriteAddr low nibble address byte to write to */
sFLASH_SendByte(WriteAddr & 0xFF);
/*!< while there is data to be written on the FLASH */
while (NumByteToWrite--)
{
/*!< Send the current byte */
sFLASH_SendByte(*pBuffer);
/*!< Point on the next byte to be written */
pBuffer++;
}
/*!< Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
/*!< Wait the end of Flash writing */
sFLASH_WaitForWriteEnd();
}
开发者ID:vincentwilliam,项目名称:STM32F4XX_User_Lib,代码行数:42,代码来源:spi_flash.c
示例7: sFLASH_ReadBuffer
/**
* @brief Reads a block of data from the FLASH.
* @param pBuffer: pointer to the buffer that receives the data read from the FLASH.
* @param ReadAddr: FLASH's internal address to read from.
* @param NumByteToRead: number of bytes to read from the FLASH.
* @retval None
*/
void sFLASH_ReadBuffer(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t NumByteToRead)
{
/*!< Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/*!< Send "Read from Memory " instruction */
sFLASH_SendByte(sFLASH_CMD_READ);
/*!< Send ReadAddr high nibble address byte to read from */
sFLASH_SendByte((ReadAddr & 0xFF0000) >> 16);
/*!< Send ReadAddr medium nibble address byte to read from */
sFLASH_SendByte((ReadAddr& 0xFF00) >> 8);
/*!< Send ReadAddr low nibble address byte to read from */
sFLASH_SendByte(ReadAddr & 0xFF);
while (NumByteToRead--) /*!< while there is data to be read */
{
/*!< Read a byte from the FLASH */
*pBuffer = sFLASH_SendByte(sFLASH_DUMMY_BYTE);
/*!< Point to the next location where the byte read will be saved */
pBuffer++;
}
/*!< Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
}
开发者ID:vincentwilliam,项目名称:STM32F4XX_User_Lib,代码行数:33,代码来源:spi_flash.c
示例8: sFLASH_WriteStatusForWrite
/**
* @brief Enables the write access to the FLASH.
* @param None
* @retval None
*/
void sFLASH_WriteStatusForWrite(void)
{
#if 1
/*!< Enable the write access to the FLASH */
sFLASH_WriteEnable(0);
/*!< Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/*!< Send "Write Enable" instruction */
sFLASH_SendByte(sFLASH_CMD_WRSR);
/*!< Send "Write Enable" instruction */
sFLASH_SendByte(0x00);
sFLASH_SendByte(0x02);
/*!< Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
sFLASH_WaitForWriteEnd(0);
#endif
/*!< Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/*!< Send "Write Enable" instruction */
sFLASH_SendByte(sFLASH_CMD_RDCR);
/*!< Send "Write Enable" instruction */
sFLASH_SendByte(sFLASH_DUMMY_BYTE);
/*!< Deselect the FLASH: Chip Select hig */
sFLASH_CS_HIGH();
}
开发者ID:bearxiong99,项目名称:lamp_project_master,代码行数:35,代码来源:spi_flash.c
示例9: sFLASH_GlobalUnprotect
void sFLASH_GlobalUnprotect(void)
{
sFLASH_WriteEnable();
sFLASH_CS_LOW();
sFLASH_SendByte(sFLASH_CMD_WRSR);
sFLASH_SendByte(0);
/*!< Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
}
开发者ID:ADTL,项目名称:AFGUI,代码行数:14,代码来源:at26df.c
示例10: sFLASH_StartReadSequence
/**
* @brief Initiates a read data byte (READ) sequence from the Flash.
* This is done by driving the /CS line low to select the device, then the READ
* instruction is transmitted followed by 3 bytes address. This function exit
* and keep the /CS line low, so the Flash still being selected. With this
* technique the whole content of the Flash is read with a single READ instruction.
* @param ReadAddr: FLASH's internal address to read from.
* @retval None
*/
void sFLASH_StartReadSequence(uint32_t ReadAddr)
{
/*!< Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/*!< Send "Read from Memory " instruction */
sFLASH_SendByte(sFLASH_CMD_READ);
/*!< Send the 24-bit address of the address to read from -------------------*/
/*!< Send ReadAddr high nibble address byte */
sFLASH_SendByte((ReadAddr & 0xFF0000) >> 16);
/*!< Send ReadAddr medium nibble address byte */
sFLASH_SendByte((ReadAddr& 0xFF00) >> 8);
/*!< Send ReadAddr low nibble address byte */
sFLASH_SendByte(ReadAddr & 0xFF);
}
开发者ID:vincentwilliam,项目名称:STM32F4XX_User_Lib,代码行数:25,代码来源:spi_flash.c
示例11: sFLASH_64KBEraseSector
/***********************************************
函数名称:sFLASH_64KBEraseSector
功 能:擦除W25Q64 FLASH的一个块。
入口参数:无
返 回 值:无
备 注:无
************************************************/
void sFLASH_64KBEraseSector(FLADDR SectorAddr)
{ //芯片写使能
sFLASH_WriteEnable();
//芯片使能
W25Q64_WCS_Clr();
//发送扇区擦除指令
sFLASH_SendByte(sFLASH_CMD_BE);
//发送24位地址
sFLASH_SendByte((SectorAddr & 0xFF0000) >> 16);
sFLASH_SendByte((SectorAddr & 0xFF00) >> 8);
sFLASH_SendByte(SectorAddr & 0xFF);
//芯片禁止
W25Q64_WCS_Set();
//等待写完成
sFLASH_WaitForWriteEnd();
}
开发者ID:tabs,项目名称:SmartEntry,代码行数:23,代码来源:FlashFunction.c
示例12: sFLASH_WriteEnable
/***********************************************
函数名称:sFLASH_WriteEnable
功 能:写使能。
入口参数:无
返 回 值:无
备 注:无
************************************************/
void sFLASH_WriteEnable(void)
{ //使能芯片
W25Q64_WCS_Clr();
//发送写使能指令
sFLASH_SendByte(sFLASH_CMD_WREN);
//禁止芯片
W25Q64_WCS_Set();
}
开发者ID:tabs,项目名称:SmartEntry,代码行数:15,代码来源:FlashFunction.c
示例13: sFLASH_WriteEnable
/**
* @brief Enables the write access to the FLASH.
* @param None
* @retval None
*/
void sFLASH_WriteEnable(void)
{
/*!< Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/*!< Send "Write Enable" instruction */
sFLASH_SendByte(sFLASH_CMD_WREN);
/*!< Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
}
开发者ID:vincentwilliam,项目名称:STM32F4XX_User_Lib,代码行数:16,代码来源:spi_flash.c
示例14: sFLASH_WriteDisable
/**
* @brief Disables the write access to the FLASH.
* @param None
* @retval None
*/
static void sFLASH_WriteDisable(void)
{
/* Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/* Send "Write Disable" instruction */
sFLASH_SendByte(sFLASH_CMD_WRDI);
/* Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
}
开发者ID:spark,项目名称:firmware,代码行数:16,代码来源:spi_flash.c
示例15: sFLASH_ReadID
/***********************************************
函数名称:sFLASH_ReadID
功 能:从W25Q64 FLASH读取器件ID号。
入口参数:无
返 回 值:unsigned int:读出的ID。
备 注:无
************************************************/
unsigned int sFLASH_ReadID(void)
{
unsigned int Temp = 0;
unsigned char Temp0 = 0, Temp1 = 0;
//使能flash
W25Q64_WCS_Clr();
//发送读flash id号指令
sFLASH_SendByte(sFLASH_CMD_RDID);
//发送24位地址 地址为0
sFLASH_SendByte(0);
sFLASH_SendByte(0);
sFLASH_SendByte(0);
//读取返回的数据
Temp0 = sFLASH_ReadByte();
Temp1 = sFLASH_ReadByte();
//禁止flash
W25Q64_WCS_Set();
//组合数据
Temp = (Temp0 << 8) | Temp1;
return Temp;
}
开发者ID:tabs,项目名称:SmartEntry,代码行数:28,代码来源:FlashFunction.c
示例16: sFLASH_WritePage
/***********************************************
函数名称:sFLASH_WritePage
功 能:向W25Q64 FLASH写入一页数据。
入口参数:pBuffer:存放写入的数据的缓冲区,
WriteAddr:开始写入的地址,
NumByteToWrite:写入的字节数
返 回 值:无:读出的数据。
备 注:无
************************************************/
void sFLASH_WritePage(unsigned char* pBuffer, FLADDR WriteAddr, unsigned int NumByteToWrite)
{//芯片写使能,写之前需写使能,否则无法写入
sFLASH_WriteEnable();
//芯片使能
W25Q64_WCS_Clr();
//发送写指令
sFLASH_SendByte(sFLASH_CMD_PAGEPRO);
//发送24位地址
sFLASH_SendByte((WriteAddr & 0xFF0000) >> 16);
sFLASH_SendByte((WriteAddr & 0xFF00) >> 8);
sFLASH_SendByte(WriteAddr & 0xFF);
//循环按字节写入
while (NumByteToWrite--)
{sFLASH_SendByte(*pBuffer);
pBuffer++;
}
//芯片禁止
W25Q64_WCS_Set();
//等待写完成
sFLASH_WaitForWriteEnd();
}
开发者ID:tabs,项目名称:SmartEntry,代码行数:30,代码来源:FlashFunction.c
示例17: sFLASH_EraseBlock32k
void sFLASH_EraseBlock32k(unsigned int SectorAddr)
{
__IO unsigned int status;
/*!< Send write enable instruction */
sFLASH_WriteEnable();
/*!< Sector Erase */
/*!< Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/*!< Send Sector Erase instruction */
sFLASH_SendByte(sFLASH_CMD_32K_ERASE);
/*!< Send SectorAddr high nibble address byte */
sFLASH_SendByte((SectorAddr & 0xFF0000) >> 16);
/*!< Send SectorAddr medium nibble address byte */
sFLASH_SendByte((SectorAddr & 0xFF00) >> 8);
/*!< Send SectorAddr low nibble address byte */
sFLASH_SendByte(SectorAddr & 0xFF);
/*!< Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
/*!< Wait the end of Flash writing */
sFLASH_WaitForWriteEnd();
}
开发者ID:ADTL,项目名称:AFGUI,代码行数:22,代码来源:at26df.c
示例18: sFLASH_EraseSector
/**
* @brief Erases the specified FLASH sector.
* @param SectorAddr: address of the sector to erase.
* @retval None
*/
void sFLASH_EraseSector(uint32_t SectorAddr)
{
/*!< Send write enable instruction */
sFLASH_WriteEnable();
/*!< Sector Erase */
/*!< Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/*!< Send Sector Erase instruction */
sFLASH_SendByte(sFLASH_CMD_SE);
/*!< Send SectorAddr high nibble address byte */
sFLASH_SendByte((SectorAddr & 0xFF0000) >> 16);
/*!< Send SectorAddr medium nibble address byte */
sFLASH_SendByte((SectorAddr & 0xFF00) >> 8);
/*!< Send SectorAddr low nibble address byte */
sFLASH_SendByte(SectorAddr & 0xFF);
/*!< Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
/*!< Wait the end of Flash writing */
sFLASH_WaitForWriteEnd();
}
开发者ID:vincentwilliam,项目名称:STM32F4XX_User_Lib,代码行数:27,代码来源:spi_flash.c
示例19: sFLASH_ReadBuffer
/***********************************************
函数名称:sFLASH_ReadBuffer
功 能:从W25Q64 FLASH读取一串数据。
入口参数:pBuffer:接收该字符串的缓冲区
ReadAddr:开始读的地址
NumByteToRead:读的字节数
返 回 值:无
备 注:无
************************************************/
void sFLASH_ReadBuffer(unsigned char * pBuffer, FLADDR ReadAddr, unsigned int NumByteToRead)
{//芯片使能
W25Q64_WCS_Clr();
//发送读命令
sFLASH_SendByte(sFLASH_CMD_READ);
//发送24位地址
sFLASH_SendByte((ReadAddr & 0xFF0000) >> 16);
sFLASH_SendByte((ReadAddr& 0xFF00) >> 8);
sFLASH_SendByte(ReadAddr & 0xFF);
//循环按字节读取
while (NumByteToRead--)
{
*pBuffer = sFLASH_ReadByte();
pBuffer++;
}
//芯片禁止
W25Q64_WCS_Set();
}
开发者ID:tabs,项目名称:SmartEntry,代码行数:31,代码来源:FlashFunction.c
示例20: sFLASH_EraseFlash
/***********************************************
函数名称:sFLASH_EraseSector
功 能:擦除W25Q64 FLASH整个芯片,
需要大概20s左右的时间。
入口参数:无
返 回 值:unsigned char:读出的数据。
备 注:无
************************************************/
void sFLASH_EraseFlash(void)
{ //芯片写使能
sFLASH_WriteEnable();
//芯片使能
W25Q64_WCS_Clr();
//发送扇区擦除指令
sFLASH_SendByte(sFLASH_CMD_CE);
//芯片禁止
W25Q64_WCS_Set();
//等待写完成
sFLASH_WaitForWriteEnd();
}
开发者ID:tabs,项目名称:SmartEntry,代码行数:21,代码来源:FlashFunction.c
注:本文中的sFLASH_SendByte函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论