w25x20cl.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //w25x20cl.h
  2. #ifndef _W25X20CL_H
  3. #define _W25X20CL_H
  4. #include <inttypes.h>
  5. #include "config.h"
  6. #define W25_STATUS_BUSY 0x01
  7. #define W25_STATUS_WEL 0x02
  8. #define W25_STATUS_BP0 0x04
  9. #define W25_STATUS_BP1 0x08
  10. #define W25_STATUS_TB 0x20
  11. #define W25_STATUS_SRP 0x80
  12. #if defined(__cplusplus)
  13. extern "C" {
  14. #endif //defined(__cplusplus)
  15. extern int8_t w25x20cl_ini(void);
  16. extern void w25x20cl_enable_wr(void);
  17. extern void w25x20cl_disable_wr(void);
  18. extern uint8_t w25x20cl_rd_status_reg(void);
  19. extern void w25x20cl_wr_status_reg(uint8_t val);
  20. extern void w25x20cl_rd_data(uint32_t addr, uint8_t* data, uint16_t cnt);
  21. extern void w25x20cl_page_program(uint32_t addr, uint8_t* data, uint16_t cnt);
  22. extern void w25x20cl_page_program_P(uint32_t addr, uint8_t* data, uint16_t cnt);
  23. extern void w25x20cl_sector_erase(uint32_t addr);
  24. extern void w25x20cl_block32_erase(uint32_t addr);
  25. extern void w25x20cl_block64_erase(uint32_t addr);
  26. extern void w25x20cl_chip_erase(void);
  27. extern void w25x20cl_rd_uid(uint8_t* uid);
  28. #if defined(__cplusplus)
  29. }
  30. #endif //defined(__cplusplus)
  31. #endif //_W25X20CL_H