1 /* Define to prevent recursive inclusion -------------------------------------*/ 2 #ifndef __AIR32F10x_OTP_H 3 #define __AIR32F10x_OTP_H 4 5 #ifdef __cplusplus 6 extern "C" { 7 #endif 8 9 /* Includes ------------------------------------------------------------------*/ 10 #include "air32f10x.h" 11 12 /** @addtogroup air32f10x_StdPeriph_Driver 13 * @{ 14 */ 15 16 /** @addtogroup OTP 17 * @{ 18 */ 19 20 #define OTP_PAGE_NUM (32) 21 #define OTP_POWERON_TIME (200) 22 23 enum OTP_ADDRESS{ 24 OTP_ADDRESS_0 = 0, 25 OTP_ADDRESS_1, 26 OTP_ADDRESS_2, 27 OTP_ADDRESS_3, 28 OTP_ADDRESS_4, 29 OTP_ADDRESS_5, 30 OTP_ADDRESS_6, 31 OTP_ADDRESS_7, 32 OTP_ADDRESS_8, 33 OTP_ADDRESS_9, 34 OTP_ADDRESS_10, 35 OTP_ADDRESS_11, 36 OTP_ADDRESS_12, 37 OTP_ADDRESS_13, 38 OTP_ADDRESS_14, 39 OTP_ADDRESS_15, 40 OTP_ADDRESS_16, 41 OTP_ADDRESS_17, 42 OTP_ADDRESS_18, 43 OTP_ADDRESS_19, 44 OTP_ADDRESS_20, 45 OTP_ADDRESS_21, 46 OTP_ADDRESS_22, 47 OTP_ADDRESS_23, 48 OTP_ADDRESS_24, 49 OTP_ADDRESS_25, 50 OTP_ADDRESS_26, 51 OTP_ADDRESS_27, 52 OTP_ADDRESS_28, 53 OTP_ADDRESS_29, 54 OTP_ADDRESS_30, 55 OTP_ADDRESS_31, 56 }; 57 58 #define IS_OTP_ADDRESS(ADDRESS) (((ADDRESS) == OTP_ADDRESS_0) || ((ADDRESS) == OTP_ADDRESS_1) || ((ADDRESS) == OTP_ADDRESS_3) || ((ADDRESS) == OTP_ADDRESS_5) \ 59 ((ADDRESS) == OTP_ADDRESS_6) || ((ADDRESS) == OTP_ADDRESS_7) || ((ADDRESS) == OTP_ADDRESS_8) || ((ADDRESS) == OTP_ADDRESS_9) \ 60 ((ADDRESS) == OTP_ADDRESS_10) || ((ADDRESS) == OTP_ADDRESS_11) || ((ADDRESS) == OTP_ADDRESS_12) || ((ADDRESS) == OTP_ADDRESS_13) \ 61 ((ADDRESS) == OTP_ADDRESS_14) || ((ADDRESS) == OTP_ADDRESS_15) || ((ADDRESS) == OTP_ADDRESS_16) || ((ADDRESS) == OTP_ADDRESS_17) \ 62 ((ADDRESS) == OTP_ADDRESS_18) || ((ADDRESS) == OTP_ADDRESS_19) || ((ADDRESS) == OTP_ADDRESS_20) || ((ADDRESS) == OTP_ADDRESS_21) \ 63 ((ADDRESS) == OTP_ADDRESS_22) || ((ADDRESS) == OTP_ADDRESS_23) || ((ADDRESS) == OTP_ADDRESS_24) || ((ADDRESS) == OTP_ADDRESS_25) \ 64 ((ADDRESS) == OTP_ADDRESS_26) || ((ADDRESS) == OTP_ADDRESS_27) || ((ADDRESS) == OTP_ADDRESS_28) || ((ADDRESS) == OTP_ADDRESS_29) \ 65 ((ADDRESS) == OTP_ADDRESS_30) || ((ADDRESS) == OTP_ADDRESS_31)) 66 67 68 void OTP_PowerOn(uint32_t Time); 69 void OTP_PowerOff(void); 70 void OTP_WriteByte(uint8_t Addr,uint8_t Data); 71 void OTP_SetTime(uint16_t Time); 72 73 #endif 74