74 lines
2.5 KiB
C
74 lines
2.5 KiB
C
/* Define to prevent recursive inclusion -------------------------------------*/
|
|
#ifndef __AIR32F10x_OTP_H
|
|
#define __AIR32F10x_OTP_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
#include "air32f10x.h"
|
|
|
|
/** @addtogroup air32f10x_StdPeriph_Driver
|
|
* @{
|
|
*/
|
|
|
|
/** @addtogroup OTP
|
|
* @{
|
|
*/
|
|
|
|
#define OTP_PAGE_NUM (32)
|
|
#define OTP_POWERON_TIME (200)
|
|
|
|
enum OTP_ADDRESS{
|
|
OTP_ADDRESS_0 = 0,
|
|
OTP_ADDRESS_1,
|
|
OTP_ADDRESS_2,
|
|
OTP_ADDRESS_3,
|
|
OTP_ADDRESS_4,
|
|
OTP_ADDRESS_5,
|
|
OTP_ADDRESS_6,
|
|
OTP_ADDRESS_7,
|
|
OTP_ADDRESS_8,
|
|
OTP_ADDRESS_9,
|
|
OTP_ADDRESS_10,
|
|
OTP_ADDRESS_11,
|
|
OTP_ADDRESS_12,
|
|
OTP_ADDRESS_13,
|
|
OTP_ADDRESS_14,
|
|
OTP_ADDRESS_15,
|
|
OTP_ADDRESS_16,
|
|
OTP_ADDRESS_17,
|
|
OTP_ADDRESS_18,
|
|
OTP_ADDRESS_19,
|
|
OTP_ADDRESS_20,
|
|
OTP_ADDRESS_21,
|
|
OTP_ADDRESS_22,
|
|
OTP_ADDRESS_23,
|
|
OTP_ADDRESS_24,
|
|
OTP_ADDRESS_25,
|
|
OTP_ADDRESS_26,
|
|
OTP_ADDRESS_27,
|
|
OTP_ADDRESS_28,
|
|
OTP_ADDRESS_29,
|
|
OTP_ADDRESS_30,
|
|
OTP_ADDRESS_31,
|
|
};
|
|
|
|
#define IS_OTP_ADDRESS(ADDRESS) (((ADDRESS) == OTP_ADDRESS_0) || ((ADDRESS) == OTP_ADDRESS_1) || ((ADDRESS) == OTP_ADDRESS_3) || ((ADDRESS) == OTP_ADDRESS_5) \
|
|
((ADDRESS) == OTP_ADDRESS_6) || ((ADDRESS) == OTP_ADDRESS_7) || ((ADDRESS) == OTP_ADDRESS_8) || ((ADDRESS) == OTP_ADDRESS_9) \
|
|
((ADDRESS) == OTP_ADDRESS_10) || ((ADDRESS) == OTP_ADDRESS_11) || ((ADDRESS) == OTP_ADDRESS_12) || ((ADDRESS) == OTP_ADDRESS_13) \
|
|
((ADDRESS) == OTP_ADDRESS_14) || ((ADDRESS) == OTP_ADDRESS_15) || ((ADDRESS) == OTP_ADDRESS_16) || ((ADDRESS) == OTP_ADDRESS_17) \
|
|
((ADDRESS) == OTP_ADDRESS_18) || ((ADDRESS) == OTP_ADDRESS_19) || ((ADDRESS) == OTP_ADDRESS_20) || ((ADDRESS) == OTP_ADDRESS_21) \
|
|
((ADDRESS) == OTP_ADDRESS_22) || ((ADDRESS) == OTP_ADDRESS_23) || ((ADDRESS) == OTP_ADDRESS_24) || ((ADDRESS) == OTP_ADDRESS_25) \
|
|
((ADDRESS) == OTP_ADDRESS_26) || ((ADDRESS) == OTP_ADDRESS_27) || ((ADDRESS) == OTP_ADDRESS_28) || ((ADDRESS) == OTP_ADDRESS_29) \
|
|
((ADDRESS) == OTP_ADDRESS_30) || ((ADDRESS) == OTP_ADDRESS_31))
|
|
|
|
|
|
void OTP_PowerOn(uint32_t Time);
|
|
void OTP_PowerOff(void);
|
|
void OTP_WriteByte(uint8_t Addr,uint8_t Data);
|
|
void OTP_SetTime(uint16_t Time);
|
|
|
|
#endif
|