myflash.h
1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#ifndef __MYFLASH_H__
#define __MYFLASH_H__
#include "stm32f4xx.h"
#include "stm32f4xx_hal.h"
#include "stm32f4xx_hal_flash_ex.h"
// #include "dji_platform.h"
// #include "flash_if.h"
#define MY_DATA_WriteFlashAddress 0x0800C000 //存数据基地址,扇区三
#define WriteFlashAddress ADDR_FLASH_SECTOR_1
#define EndFlashAddress (ADDR_FLASH_SECTOR_2 -1)
#define FINE_TURN_START_ADDR ADDR_FLASH_SECTOR_3
#define FINE_TURN_END_ADDR (ADDR_FLASH_SECTOR_4 - 1)
#define MINADDRESS (ADDR_FLASH_SECTOR_1) //舵机行程最小值
#define MAXADDRESS (ADDR_FLASH_SECTOR_1+4) //舵机行程最大值
#define ZEROADDRESS (ADDR_FLASH_SECTOR_1+8) //舵机行程零值
#define SNADDRESS (ADDR_FLASH_SECTOR_1+0x0C) //序列号地址
#define SN_LOCK_ADDRESS (ADDR_FLASH_SECTOR_1+0x100) //激活标志地址
#define PITCH_FINE_TUNE_ADDR ((uint32_t)0x0800C100)
#define YAW_FINE_TUNE_ADDR ((uint32_t)0x0800C108)
#define LED_PARM_ADDR ((uint32_t)0x0800C200) //灯光模式、灯光亮度、爆闪频率
#define ALARM_PARM_ADDR ((uint32_t)0x0800C210) //警示灯模式、颜色1、颜色2
enum {
FLASH_OK = 0,
FLASH_ERROR
};
extern uint8_t snBuff[20];
void Get_State(uint32_t addr,int32_t* data);
void Flash_Write_Test(void);
void Flash_Read_Test(void);
uint8_t Write_Flash(uint32_t addr,int32_t *buff, uint8_t len);
void Read_Flash(uint32_t addr,int32_t *buff, uint8_t len);
void Read_Flash_Byte(int32_t *buff, uint32_t address);
void Read_Flash_Float(float *buff, uint32_t address);
void Flash_Write_Char(uint32_t addr, uint8_t *buff, uint8_t len);
void Flash_Read_Char(uint32_t addr, uint8_t *buff, uint8_t len);
void Flash_Read_Byte_Test(void);
void Flash_Write_Byte_Test(void);
void jz_Flash_Write(int32_t *buff,uint8_t len);
void jz_Flash_Read(int32_t *buff,uint8_t len);
#endif