PWM LED (AVR Studio)

C,C++,C#

Moderátori: psichac, Moderátori

sarisHD
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1238
Dátum registrácie: 03 Mar 2009, 00:00

PWM LED (AVR Studio)

Príspevok od používateľa sarisHD » 15 Feb 2011, 16:22

Ahojte!
Chcel by som vás poprosiť o radu mám napísaný program ovládanie jasu led pomocou PWM..Len že po každé ide od malého jasu k najvyššiemu a potom zase od 0 .
Len ja chcem aby išla od 0% po 100% a zase zo 100% po 0%.

Kód: Vybrať všetko

#include <avr/io.h>

#include <util/delay.h>

int main(void)

{

  DDRD = (1 << PD5 );
  TCCR1A = (1<<COM1A1) | (1<<WGM11);
  TCCR1B = (1<<WGM13) | (1<<WGM12) | (1<<CS10);
  ICR1 = 0x6FFF;
  OCR1A = 0x3FFF;

for (;;) {

int i;

for (i=0; i<65565; i++) {  //tu som si neistý z tým číslom či je správne 

OCR1A = i;         

_delay_ms(10);

}

for (i=65535; i>0; i--) {   //tu som si neistý z tým číslom či je správne

OCR1A = i;

_delay_ms(10);

}

}

return 0;

}
A potom aby sa jas ovládal Tlacitkami + a - ...
Kod prihodim hneť

Ďakujem!
0

sarisHD
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1238
Dátum registrácie: 03 Mar 2009, 00:00

Príspevok od používateľa sarisHD » 15 Feb 2011, 22:31

Problém vyriešený Ďakujem používateľovi Washu :wink:

Kód: Vybrať všetko

#include <avr/io.h>
#include <avr/iom16.h>
#include <util/delay.h>
#ifndef F_CPU
#define F_CPU 8000000
#endif
int main(void)

{

  DDRD = (1 << PD5 );
  TCCR1A = (1<<COM1A1) | (1<<WGM11);
  TCCR1B = (1<<WGM13) | (1<<WGM12) | (1<<CS10);
  ICR1 = 0x6FFF;
  OCR1A = 0xFFFF;

for (;;) {

long i;

for (i=0; i<0xFFFF; i+=100) {

OCR1A = i;         

_delay_ms(10);

}

for (i=0xFFFF; i>0; i-=100) {

OCR1A = i;

_delay_ms(10);

}

}

return 0;

}
0

Používateľov profilový obrázok
Napster050
Ultimate člen
Ultimate člen
Príspevky: 3048
Dátum registrácie: 01 Jan 2007, 00:00
Bydlisko: Turčianske Teplice
Vek: 33
Kontaktovať používateľa:

Re: PWM LED (AVR Studio)

Príspevok od používateľa Napster050 » 26 Nov 2011, 23:00

nejdem zakladať novú tému... mám malý blbý program v CodeVision AVR a ani za boha nemožem zistiť kde mam chybu. hadže mi to "error: ';' expected" na riadku kde je OCR0=temp;

Kód: Vybrať všetko

while (1)
      {
      // Place your code here
      for (temp=1;temp<255;temp++) 
      {
      OCR0=temp;
      delay_ms 500;
    };

      }
0
Navštívte nový web o audiotechnike a podeľte sa s nami !
http://www.vintageaudio.tk/
môj YouTube kanál

Používateľov profilový obrázok
zawin
Administrátor
Administrátor
Príspevky: 2643
Dátum registrácie: 17 Júl 2006, 00:00
Vek: 34
Kontaktovať používateľa:

Re: PWM LED (AVR Studio)

Príspevok od používateľa zawin » 26 Nov 2011, 23:06

Predpokladam ze chces volat funkciu v tom pripade:

Kód: Vybrať všetko

delay_ms(500);

0
Sú dve veci, ktoré sú nekonečné - vesmír a ľudská hlúposť. Ale s vesmírom som si ešte nie celkom istý. /Einstein/

Používateľov profilový obrázok
Napster050
Ultimate člen
Ultimate člen
Príspevky: 3048
Dátum registrácie: 01 Jan 2007, 00:00
Bydlisko: Turčianske Teplice
Vek: 33
Kontaktovať používateľa:

Re: PWM LED (AVR Studio)

Príspevok od používateľa Napster050 » 26 Nov 2011, 23:09

ahááá... a ja debil sa tu už 3 hodiny mordujem čo som to OCR strkal do všemožných slučiek a čo ja viem čoho ešte :lol:

ked som robil v bascome, tam to netrebalo :) tiež ten debilny "compiler" ukaže chybu inde
0
Navštívte nový web o audiotechnike a podeľte sa s nami !
http://www.vintageaudio.tk/
môj YouTube kanál

Používateľov profilový obrázok
Peťus
Ultimate člen
Ultimate člen
Príspevky: 3940
Dátum registrácie: 07 Mar 2009, 00:00
Bydlisko: Praha
Vek: 34
Kontaktovať používateľa:

Re: PWM LED (AVR Studio)

Príspevok od používateľa Peťus » 27 Nov 2011, 07:14

SarisHD: www.chiptron.wz.cz a tam jednoduché programy v C. Je tam i ochrana proti podtečení a přetečení
0
https://chiptron.cz - novinky ze světa elektro (Arduino, Raspberry Pi, STM32, ESP8266, ESP32,...)

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok