*
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
/* vim: set ai et ts=4 sw=4: */
|
||||
#ifndef __SDCARD_H__
|
||||
#define __SDCARD_H__
|
||||
|
||||
#include "stm32h7xx_hal.h"
|
||||
|
||||
#define SDCARD_SPI_PORT hspi3
|
||||
#define SDCARD_CS_Pin GPIO_PIN_15 // Arduino shield: D4
|
||||
#define SDCARD_CS_GPIO_Port GPIOA
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// call before initializing any SPI devices
|
||||
void SDCARD_Unselect();
|
||||
|
||||
// all procedures return 0 on success, < 0 on failure
|
||||
|
||||
int SDCARD_Init();
|
||||
int SDCARD_GetBlocksNumber(uint32_t* num);
|
||||
int SDCARD_ReadSingleBlock(uint32_t blockNum, uint8_t* buff); // sizeof(buff) == 512!
|
||||
int SDCARD_WriteSingleBlock(uint32_t blockNum, const uint8_t* buff); // sizeof(buff) == 512!
|
||||
|
||||
// Read Multiple Blocks
|
||||
int SDCARD_ReadBegin(uint32_t blockNum);
|
||||
int SDCARD_ReadData(uint8_t* buff); // sizeof(buff) == 512!
|
||||
int SDCARD_ReadEnd();
|
||||
|
||||
// Write Multiple Blocks
|
||||
int SDCARD_WriteBegin(uint32_t blockNum);
|
||||
int SDCARD_WriteData(const uint8_t* buff); // sizeof(buff) == 512!
|
||||
int SDCARD_WriteEnd();
|
||||
|
||||
// TODO: read lock flag? CMD13, SEND_STATUS
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // __SDCARD_H__
|
||||
Reference in New Issue
Block a user