728x90
반응형
오늘의 잡(?) 지식은 Ascii값을 Hex로 바꾸는 소스코드다. 내가 만듦. 일단 버그는 없다. 받아라 코드다.
uint32_t asciiToHex(uint8_t *str, uint16_t len)
{
uint32_t ret = 0;
uint16_t shift = 0;
for(int i = (len-1); i >= 0; i--) {
if(str[i] >= '0' && str[i] <= '9') {
ret += (str[i] - '0') << shift;
}
else if(str[i] >= 'A' && str[i] <= 'F') {
ret += ((str[i] - 'A') + 10) << shift;
}
else if(str[i] >= 'a' && str[i] <= 'f') {
ret += ((str[i] - 'a') + 10) << shift;
}
shift += 4;
}
return ret;
}
임베디드 환경에서 시리얼 통신을 할때 보통 Ascii 코드로 데이터를 주고받는다. 이 데이터에는 정수형, 실수형, 16진수 등 다양한 형식을 갖는 데이터가 있다. ascii to int, ascii to float는 있는데 ascii to hex는 없는 것 같다. 뭐 각자 알아서 만들어 써야지
만들어 쓰기 귀찮으면 이거 그냥 가져다 쓰면 된다.
오늘의 포스팅 끝 ㅎㅎㅎㅎㅎ
- 끝 -
728x90
반응형
'개발 관련 지식 및 Tool 사용방법' 카테고리의 다른 글
CABLE 굵기, 전선 굵기, 전선 스퀘어, 전선 sq, 케이블 굵기 (0) | 2022.04.28 |
---|---|
대기압, 표준대기압, hPa, 헥토파스칼, 대기압이란?, 압력의 단위 (2) | 2022.04.21 |
C 언어 __weak 함수, 함수 앞에 __weak, __weak callback 함수 (0) | 2022.04.10 |
Falling edge, Rising edge, 상승엣지, 하강엣지, 스위치 채터링(switch chattering) (0) | 2022.04.06 |
시리얼통신(UART, I2C, SPI 등) 로직 레벨 양뱡향 변환 회로(logic level Bidirectional circuit)5.0v to 3.3v or 3.3v to 5.0v (0) | 2022.03.24 |