本文整理汇总了C++中sFLASH_CS_LOW函数的典型用法代码示例。如果您正苦于以下问题:C++ sFLASH_CS_LOW函数的具体用法?C++ sFLASH_CS_LOW怎么用?C++ sFLASH_CS_LOW使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了sFLASH_CS_LOW函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: 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);
}
示例2: 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();
}
示例3: 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();
}
示例4: 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();
}
示例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, 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();
}
示例6: 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;
}
示例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, 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();
}
示例8: 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;
}
示例9: 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();
}
示例10: 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();
}
示例11: 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();
}
示例12: sFLASH_Init
/**
* @brief Initializes SPI Flash
* @param void
* @return void
*/
void sFLASH_Init(void)
{
/* Initializes the peripherals used by the SPI FLASH driver */
sFLASH_SPI_Init();
/* Disable the write access to the FLASH */
sFLASH_WriteDisable();
/* Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/* Send "Write Enable Status" instruction */
sFLASH_SendByte(sFLASH_CMD_EWSR);
/* Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
/* Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/* Send "Write Status Register" instruction */
sFLASH_SendByte(sFLASH_CMD_WRSR);
sFLASH_SendByte(0);
/* Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
}
示例13: sFLASH_WriteEnable
/**
* @brief Enables the write access to the FLASH.
* @param None
* @retval None
*/
void sFLASH_WriteEnable(uint32_t WriteAddr)
{
if(WriteAddr >= sFLASH_MEMORYSIZE)
/*!< Select the FLASH: Chip Select low */
sFLASH_CS2_LOW();
else
/*!< 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();
}
示例14: 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);
}
示例15: sFLASH_EraseBulk
/**
* @brief Erases the entire FLASH.
* @param None
* @retval None
*/
void sFLASH_EraseBulk(void)
{
/* Enable the write access to the FLASH */
sFLASH_WriteEnable();
/* Bulk Erase */
/* Select the FLASH: Chip Select low */
sFLASH_CS_LOW();
/* Send Bulk Erase instruction */
sFLASH_SendByte(sFLASH_CMD_BE);
/* Deselect the FLASH: Chip Select high */
sFLASH_CS_HIGH();
/* Wait till the end of Flash writing */
sFLASH_WaitForWriteEnd();
}