#define UID_BASE ((uint32_t)0x1FFFF7E8U)
#define Get_Unique8(x) ((x >= 0 && x < 12) ? (*(uint8_t *) (UID_BASE + (x))) : 0)
#define Get_Unique16(x) ((x >= 0 && x < 6) ? (*(uint16_t *) (UID_BASE + 2 * (x))) : 0)
#define Get_Unique32(x) ((x >= 0 && x < 3) ? (*(uint32_t *) (UID_BASE + 4 * (x))) : 0)
/* 32bit 단위 */
printf("Get_Unique32 : %08X", Get_Unique32(0));
printf(":%08X", Get_Unique32(1));
printf(":%08X\r\n", Get_Unique32(2));
/* 16bit 단위 */
printf("Get_Unique16 : %04X", Get_Unique16(0));
printf(":%04X", Get_Unique16(1));
printf(":%04X", Get_Unique16(2));
printf(":%04X", Get_Unique16(3));
printf(":%04X", Get_Unique16(4));
printf(":%04X\r\n", Get_Unique16(5));
/* 8 bit 단위 */
printf("Get_Unique8 : %02X", Get_Unique8(0));
printf(":%02X", Get_Unique8(1));
printf(":%02X", Get_Unique8(2));
printf(":%02X", Get_Unique8(3));
printf(":%02X", Get_Unique8(4));
printf(":%02X", Get_Unique8(5));
printf(":%02X", Get_Unique8(6));
printf(":%02X", Get_Unique8(7));
printf(":%02X", Get_Unique8(8));
printf(":%02X", Get_Unique8(9));
printf(":%02X", Get_Unique8(10));
printf(":%02X\r\n", Get_Unique8(11));
'초보의 아웅다웅 설계하기 > STM32' 카테고리의 다른 글
SOFT SPI - nRF24L01/STM32F103 (0) | 2021.12.12 |
---|---|
nRF24L01 + STM32L073 (0) | 2021.12.05 |
[STM32]SW-DP를 버튼으로 사용하기 (0) | 2021.06.03 |
STM32H7과 KCMVP 암호모듈을 사용한 데이터 암호화 전송 (0) | 2021.02.16 |
STM32H7 hal Driver를 사용한 RX Interrupt (0) | 2021.02.11 |