rt-thread-official/bsp/airm2m/air32f103/libraries/AIR32F10xLib/inc/air32f10x_otp.h

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