본문 바로가기

AVR스터디

(12)
[ATtiny10] ADC, PWM 테스트 [ATtiny10] ADC, PWM 테스트 ATtiny 시리즈는 대부분의 코드가 호환된다. ATtiny10 ADC 소스코드//Read ADC Valueunsigned char AdcRead(unsigned char Channel){unsigned int value = 0; ADMUX = Channel&7;ADCSRA = ADCSRA|ADC_START_CONVERSION; while(!(ADCSRA & ADC_COMPLETE)); value = ADCL;return value;} ATtiny10 PWM 소스코드void InitPWM0_A(void){ Sbi(PWM0A_DDR, PWM0A_BIT); //Output for PWM //TCCR0A |= (PWM0B_CLEAR|PWM_MODEA_FAST); TC..
[ATmeag88] Timer2 테스트 - 8-bit Timer/Counter2 with PWM [ATmeag88] Timer2 테스트 - 8-bit Timer/Counter2 with PWM - Single Channel Counter - Clear Timer on Compare Match (Auto Reload) - Glitch-free, Phase Correct Pulse Width Modulator (PWM) - Frequency Generator - 10-bit Clock Prescaler - Overflow and Compare Match Interrupt Sources (TOV2, OCF2A and OCF2B) - Allows Clocking from External 32 kHz Watch Crystal Independent of the I/O Clock Timer2 초기화 #defin..
[AT90USB1287] Timer2 테스트 [AT90USB1287] Timer2 테스트 AT90USB1287의 타이머 관련 레지스터는 ATMega128과 약간 다른데 드라이버 코드를 수정할 필요가 있다. //--------------------------------------------------------------------------------------- #define TIMER2_VALUE (256-115) volatile unsigned int m_TimerTick = 0; //--------------------------------------------------------------------------------------- // Timer2 #define TIMER_STOP 0 #define TIMER2_CLK_DIVCLK 1..
AVR 개발환경 설정 - 무료 개발툴(WINAVR + AVR Studio) 이용 AVR 개발환경 설정 - 무료 개발툴 이용 개발 환경 설치 AVR 개발 환경 구축을 하기 위해 필요한 파일은 AVR을 컴파일 할 수 있는 WINAVR과 IDE 및 프로그래밍 툴인 AVR Studio 이고 아래링 크에서 다운 로드 가능하다. 1) WINAVR 다운로드 : http://winavr.sourceforge.net/download.html 2) AVR Studio 다운로드 : http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725 각 파일의 최신 버전을 다운로드 받아 설치한다. (별다른 설정 없이 각 파일을 디폴트 디렉토리에 설치하면 된다.) IDE환경 설정 및 기본 예제 컴파일 프로그램 설치가 완료 되었다면 AVRStudio를 실행한다. 새..
printf_P() 함수를 이용한 SRAM절약 printf_P() 함수를 이용한 SRAM절약 AVR에서 문자열은 일반 컴파일러와 다르게 SRAM에 저장이 된다. 특히나 램이 적은 MCU에서는 디버깅 출력을 위한 문자열 때문에 곤욕을 치루는데... printf_P()함수를 이용하면 쉽게 해결 할 수 있다. printf("\n\n** String Test - Memory Alocated FLASH. **\n"); 일반적인 printf를 이용하면 문자열이 SRAM영역으로 잡힌다. #include printf_P(PSTR("\n\n** String Test - Memory Alocated FLASH. **\n")); printf_P()함수를 이용하면 문자열이 FLASH영역으로 잡히므로 램을 줄일 수 있다. 따지고 보면 아래과 같은 형식이다. 예전에는 이렇게..
[atmega128] 관련자료 모음 핀맵
AVR SPI관련 자료 - ATmega128, ATMega16, ATMega8 (예제 소스코드) AVR SPI관련 자료 - ATmega128, ATMega16, ATMega8 (예제 소스코드) AVR에서 SPI제어에 관련된 자료 정리 AVR SPI블록도 AVR ATMega128 SPI 핀맵 SPI핀 찾을것 없이 기록해 두면 편리할것 같다 관련 레지스터 SPSR • Bit 7 – SPIF: SPI Interrupt Flag 읽을수만 있는 레지스터로 SPI인터럽트 발생 여부를 나타낸다. • Bit 6 – WCOL: Write COLlision flag 오류 발생을 나타내는 비트 • Bit 5..1 – Res: Reserved Bits 사요하지 않는다. • Bit 0 – SPI2X: Double SPI Speed Bit SPI 클럭을 두배러 설정하는 비트 SPCR • Bit 7 – SPIE: SPI In..
Atmel AVR ISP 관련 자료 Atmel AVR ISP 관련 자료 STK500 표준 커넥터 AVR ISP MKII 표준 커넥터 프린트 포트용 AVR ISP 회로도