블로그 이미지
송시혁

calendar

1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

Notice

Tag

Recent Post

Recent Comment

Recent Trackback

Archive

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가지는 예외.



 

posted by 송시혁