dataflash.h

来自「PWM输出控制三路步进电机」· C头文件 代码 · 共 54 行

H
54
字号
//dataflash.h
#ifndef DATAFLASH_H
#define DATAFLASH_H

#include <avr/io.h>
#include <avr/delay.h>
#include "main.h"
void df_init(void);
void write_st_enb(void);

static uint8_t spi_write(uint8_t data);
static void df_wait_busy(void);
void read_array_to_ram(uint16_t page,uint8_t line,uint16_t counter);
void write_page_to_df(uint16_t page,uint8_t line,uint16_t counter);
uint8_t write_wel(uint8_t data);

#define uchar unsigned char
#define uint unsigned int
#define FLASH_MOSI 	PB5
#define FLASH_MISO 	PB6
#define FLASH_SCK	PB7
#define FLASH_CS	PB4
#define FLASH_WP	PB1
#define FLASH_HOLD	PB0

#define UNSELECT_CHIP PORTB|=_BV(FLASH_CS)
#define SELECT_CHIP PORTB&=~_BV(FLASH_CS)

#define DF_PAGE_SIZE 256
uchar DF_READ_BUFFER [0x100];
uchar DATA_WRITE_DF[0x100];

#define BUFFER_1_READ 0x03 // low frequence read

#define DF_PAGE_TO_BF 0x0B

#define WRITE_ENB 0x06		//WEL order

#define PAGE_WRITE 0x02		//4K BYTES write

#define READ_ST_REG 0x05

#define WRITE_ST_REG 0x01

#define STATUS_REGISTER 0x05

#define PAGE_ERASE 0x60

#define BLOCK_ERASE 0x20	//4K bytes erase
uchar iii;
uint16_t lll;
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?