Added new CONCAT() and CONCAT_EXPANDED() convenience macros.
This commit is contained in:
parent
7dc77a6abc
commit
7c3867da33
8 changed files with 53 additions and 51 deletions
|
@ -70,44 +70,44 @@
|
|||
* SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_ORDER_MSB_FIRST | SPI_SCK_LEAD_FALLING |
|
||||
* SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);
|
||||
* Dataflash_Init();
|
||||
*
|
||||
*
|
||||
* uint8_t WriteBuffer[DATAFLASH_PAGE_SIZE];
|
||||
* uint8_t ReadBuffer[DATAFLASH_PAGE_SIZE];
|
||||
*
|
||||
*
|
||||
* // Fill page write buffer with a repeating pattern
|
||||
* for (uint16_t i = 0; i < DATAFLASH_PAGE_SIZE; i++)
|
||||
* WriteBuffer[i] = (i & 0xFF);
|
||||
*
|
||||
*
|
||||
* // Must select the chip of interest first before operating on it
|
||||
* Dataflash_SelectChip(DATAFLASH_CHIP1);
|
||||
*
|
||||
*
|
||||
* // Write to the Dataflash's first internal memory buffer
|
||||
* printf("Writing data to first dataflash buffer:\r\n");
|
||||
* Dataflash_SendByte(DF_CMD_BUFF1WRITE);
|
||||
* Dataflash_SendAddressBytes(0, 0);
|
||||
*
|
||||
*
|
||||
* for (uint16_t i = 0; i < DATAFLASH_PAGE_SIZE; i++)
|
||||
* Dataflash_SendByte(WriteBuffer[i]);
|
||||
*
|
||||
*
|
||||
* // Commit the Dataflash's first memory buffer to the non-volatile FLASH memory
|
||||
* printf("Committing page to non-volatile memory page index 5:\r\n");
|
||||
* Dataflash_SendByte(DF_CMD_BUFF1TOMAINMEMWITHERASE);
|
||||
* Dataflash_SendAddressBytes(5, 0);
|
||||
* Dataflash_WaitWhileBusy();
|
||||
*
|
||||
*
|
||||
* // Read the page from non-volatile FLASH memory into the Dataflash's second memory buffer
|
||||
* printf("Reading data into second dataflash buffer:\r\n");
|
||||
* Dataflash_SendByte(DF_CMD_MAINMEMTOBUFF2);
|
||||
* Dataflash_SendAddressBytes(5, 0);
|
||||
* Dataflash_WaitWhileBusy();
|
||||
*
|
||||
*
|
||||
* // Read the Dataflash's second internal memory buffer
|
||||
* Dataflash_SendByte(DF_CMD_BUFF2READ);
|
||||
* Dataflash_SendAddressBytes(0, 0);
|
||||
*
|
||||
*
|
||||
* for (uint16_t i = 0; i < DATAFLASH_PAGE_SIZE; i++)
|
||||
* ReadBuffer[i] = Dataflash_ReceiveByte();
|
||||
*
|
||||
*
|
||||
* // Deselect the chip after use
|
||||
* Dataflash_DeselectChip();
|
||||
* \endcode
|
||||
|
@ -131,18 +131,16 @@
|
|||
|
||||
/* Public Interface - May be used in end-application: */
|
||||
/* Macros: */
|
||||
#if !defined(__DOXYGEN__)
|
||||
#define __GET_DATAFLASH_MASK2(x, y) x ## y
|
||||
#define __GET_DATAFLASH_MASK(x) __GET_DATAFLASH_MASK2(DATAFLASH_CHIP,x)
|
||||
#endif
|
||||
|
||||
/** Retrieves the Dataflash chip select mask for the given Dataflash chip index.
|
||||
*
|
||||
* \param[in] index Index of the dataflash chip mask to retrieve
|
||||
* \attention This macro will only work correctly on chip index numbers that are compile-time
|
||||
* constants defined by the preprocessor.
|
||||
*
|
||||
* \param[in] index Index of the dataflash chip mask to retrieve.
|
||||
*
|
||||
* \return Mask for the given Dataflash chip's /CS pin
|
||||
*/
|
||||
#define DATAFLASH_CHIP_MASK(index) __GET_DATAFLASH_MASK(index)
|
||||
#define DATAFLASH_CHIP_MASK(index) CONCAT_EXPANDED(DATAFLASH_CHIP, index)
|
||||
|
||||
/* Inline Functions: */
|
||||
/** Initializes the dataflash driver so that commands and data may be sent to an attached dataflash IC.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue