50 lines
1.7 KiB
C
50 lines
1.7 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);
|
|
void eeprom_spi_readbyte(uint8_t rd_data);
|
|
void eeprom_writedata(uint8_t addr[3], uint8_t txd);
|
|
void eeprom_readdata(uint8_t addr[3], uint8_t rxd);
|
|
|
|
#endif
|
|
|
|
|