sggt/App/APP_WU/Inc/eeprom_spi.h

51 lines
1.8 KiB
C

/*
* @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