/* * @Author: wujunchao wujunchao@wuxismart.com * @Date: 2025-03-17 14:38:22 * @LastEditors: wujunchao wujunchao@wuxismart.com * @LastEditTime: 2025-03-17 14:52:16 * @FilePath: \signal_generator\App\APP_WU\Inc\eeprom_spi.h * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ #ifndef _EEPROM_SPI_H #define _EEPROM_SPI_H #include "apps_gather.h" //模拟SPI, CS->PB9, WR->PD6, SCLK->PB3, MOSI->PB5, MISO->PB4 //CS->PB9 #define EEPROM_CS_H HAL_GPIO_WritePin(EEPROM_CS_GPIO_Port, EEPROM_CS_Pin, GPIO_PIN_SET) #define EEPROM_CS_L HAL_GPIO_WritePin(EEPROM_CS_GPIO_Port, EEPROM_CS_Pin, GPIO_PIN_RESET) //WR->PD6 #define EEPROM_WR_H HAL_GPIO_WritePin(EEPROM_WR_GPIO_Port, EEPROM_WR_Pin, GPIO_PIN_SET) #define EEPROM_WR_L HAL_GPIO_WritePin(EEPROM_WR_GPIO_Port, EEPROM_WR_Pin, GPIO_PIN_RESET) //SCLK->PB3 #define EEPROM_SCLK_H HAL_GPIO_WritePin(EEPROM_SCLK_GPIO_Port, EEPROM_SCLK_Pin, GPIO_PIN_SET) #define EEPROM_SCLK_L HAL_GPIO_WritePin(EEPROM_SCLK_GPIO_Port, EEPROM_SCLK_Pin, GPIO_PIN_RESET) //MOSI->PB5 #define EEPROM_MOSI_H HAL_GPIO_WritePin(EEPROM_MOSI_GPIO_Port, EEPROM_MOSI_Pin, GPIO_PIN_SET) #define EEPROM_MOSI_L HAL_GPIO_WritePin(EEPROM_MOSI_GPIO_Port, EEPROM_MOSI_Pin, GPIO_PIN_RESET) //MISO->PB4 #define EEPROM_MISO HAL_GPIO_ReadPin(EEPROM_MISO_GPIO_Port, EEPROM_MISO_Pin) #define WRITE_ENABLE 0x06 #define WRITE_DISABLE 0x04 #define WRITE_MEMORY 0x02 #define READ_MEMORY 0x03 #define READ_STATUS 0x05 void eeprom_spi_init(void); void eeprom_spi_writebyte(uint8_t wrt_data); uint8_t SPI_WriteReadByte(uint8_t data); uint8_t eeprom_spi_readbyte(void); void eeprom_writedata(uint8_t addr[3], uint8_t txd); uint8_t eeprom_readdata(uint8_t addr[3]); #endif