unsigned 를 int로 변경할때 코드상의 문제였나 해서 테스트를 해봤는데 -_-
헐.. 머야 이거.. 컴파일러 특성인가?
아무튼, cortex-m3 + keil 에서는 일단
음수일 경우(MSB가 0x80 이면)
이런식으로 구현해서 써야 할 듯 -_-
2013/02/04 - [Programming/C++ / STL] - unsigned char -> int 변환 주의사항
---
추가로 테스트 해보니 unsigned char가 아닌 char 일 경우에도
up convert시 음수에 대해서 제대로 키워주지 못하는 문제가 있다.
KEIL 컴파일러 문제이려나?
헐.. 머야 이거.. 컴파일러 특성인가?
int t1,t2,t3,t4; unsigned char t9=-1; t1 = t9; t2 = (char)t9; t3 = (int)t9; t4 = (int)(char)t9; printf("%d %d %d %d",t1,t2,t3,t4); //255,255,255,255
아무튼, cortex-m3 + keil 에서는 일단
음수일 경우(MSB가 0x80 이면)
if(t9 & 0x80) t1 = t9 | 0xFFFFFF00; else t1 = t9;
이런식으로 구현해서 써야 할 듯 -_-
2013/02/04 - [Programming/C++ / STL] - unsigned char -> int 변환 주의사항
---
추가로 테스트 해보니 unsigned char가 아닌 char 일 경우에도
up convert시 음수에 대해서 제대로 키워주지 못하는 문제가 있다.
KEIL 컴파일러 문제이려나?
'embeded > Cortex-M3 Ti' 카테고리의 다른 글
LM3S1968과 H-JTAG(wiggler) (0) | 2013.06.28 |
---|---|
cortex-m3 JTAG / X-LinkEx 1.1 (0) | 2013.06.11 |
LM3S - FlashProgram() (0) | 2012.11.06 |
TI Stellaris LM3S 시리즈 ICDI가 사라졌어요!!! (0) | 2012.09.22 |
stellarisware - UARTStdioInit() (4) | 2012.07.23 |