매우간단한 문제인데 삽질을 심하게 해서 적어둔다.
난 WINAVR 20080610 버전을 설치해두었다.
보통 PORT에서 한핀을 제어하기 위해서
PORTC = PORTC & 0x01; 이런식의 구문을 사용하는 경우가 많다.
그런데 전혀 제어가 되지 않아서 한참 보다가...
avr-libc 문서를 보니..
원래 예전에는 sbi - Set Bit Instruction, cbi - Clear Bit ... 이런 명령어가 비트별로 제어하는 명령어가 있었는데
지금은 없어졌단다.
결론은 PORTC |= _BV(0); //PORTC의 0번 비트를 셋.
PORTC &= ~_BV(0); //PORTC의 0번 비트를 클리어.
이런식으로 써야 한다는 것.
WINAVR 혹은 AVRGCC는 공짜로 좋은것임에 틀림없지만 뭔가 너무 변화가 많은듯....
난 WINAVR 20080610 버전을 설치해두었다.
보통 PORT에서 한핀을 제어하기 위해서
PORTC = PORTC & 0x01; 이런식의 구문을 사용하는 경우가 많다.
그런데 전혀 제어가 되지 않아서 한참 보다가...
avr-libc 문서를 보니..
원래 예전에는 sbi - Set Bit Instruction, cbi - Clear Bit ... 이런 명령어가 비트별로 제어하는 명령어가 있었는데
지금은 없어졌단다.
결론은 PORTC |= _BV(0); //PORTC의 0번 비트를 셋.
PORTC &= ~_BV(0); //PORTC의 0번 비트를 클리어.
이런식으로 써야 한다는 것.
WINAVR 혹은 AVRGCC는 공짜로 좋은것임에 틀림없지만 뭔가 너무 변화가 많은듯....
'로봇 만들기 - AVR' 카테고리의 다른 글
마이크로마우스 : 스텝모터 테스트 (0) | 2017.12.15 |
---|---|
아두이노 캐릭터 LCD(CLCD)에 큰 글자 쓰기 (0) | 2015.08.03 |
시리얼 모니터 프로그램 (1) | 2009.01.08 |
2족 보행 로봇 (하반신만..) (1) | 2007.02.02 |
로봇의 프레임 재료의 선택 (2) | 2007.01.23 |