Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Atmel => Konuyu başlatan: crazy - 07 Mayıs 2016, 13:09:36

Başlık: ATMEGA 328P
Gönderen: crazy - 07 Mayıs 2016, 13:09:36
Merhaba  OCR_advance[] değerini  OCR1A  yerine PORTD0  pinine nasıl yükleyebilirim.
#include <avr/io.h>
#include <avr/interrupt.h>
#define STATE_COUNT (sizeof(OCR_advance)/sizeof(uint16_t ))
  volatile uint8_t state = 0;
  const   uint16_t  OCR_advance[] = {200,50,50,50,50,50,50,50,450,200};
 
  ISR(TIMER1_COMPA_vect)
  {
OCR1A  += OCR_advance[state];
  if (++state >= STATE_COUNT)
  state = 0;
  }
Başlık: Ynt: ATMEGA 328P
Gönderen: berkay_91 - 07 Mayıs 2016, 20:33:12
PORTD0=OCR_advance satirını for döngüsüne sokarak veya kullanacağınız fonksiyonda i değişkenin artmasını sağlayarak yapabilirsiniz ama bu değerin max. 8 bit(255) büyüklüğünde olması lazım aksiPORTD0 a değerin 255 e bölümünden kalan yüklenecektir...