2013. 4. 26. 16:34
임베디드/Arm2567SAM
short형으로 선언한 이유는 ??????
arm칩은 C언어 처럼 %d처럼 10진수 숫자를 출력을 하는
것은 불가능하다. 그래서 2자리이상의 숫자를 나타내기위해서는
문자열 배열을 선언한 다음, 출력하고자 하는 아스키코드를
선언한다면 가능한다. 아래는 Lcd.c의 해당하는 소스이다.
ucString[0]에서 '0'이라는 아스키코드에 usNum/10000에 몫이 더해지면
결과에 해당하는 숫자의 아스키코드를 받아 Lcd로 전송될 것이다.
main()함수에서 인자에 65535를 넣어 각자리에 해당하는 6,5,5,3,5를 출력한다.
출력 방법은 위의 소스를 참조한다. 또한가지의 방법이 더 있다.
(usNum/1000)%10으로 나누어도 같은 숫자가 나온다.
예를 들어서 usNum이 65535라고 가정한다면, 65535/1000 = 65이다.
65를 10으로 나눈 나머지는 5이다.
이런식동일한 방법으로 위의 소스를 보고 적용한다면 결국 차례대로
6,5,5,3,5의 나머지가 올것이다. 단, 맨처음과 마지막은 적용되지 않는다.
위의 소스이든, 다른 방법이든 2가지는 예외.
'임베디드 > Arm2567SAM' 카테고리의 다른 글
4월 29일 ADC 타이밍도 분석하기(미완성 내일 완성예정) (0) | 2013.04.29 |
---|---|
4월 29일 ADC컨버전 함수만들기 (0) | 2013.04.29 |
4월 26일 ADC (0) | 2013.04.26 |
4월 23일 capture.S와 Elf32 (0) | 2013.04.23 |
4월 22일 makefile전체적인 흐름. (0) | 2013.04.22 |