ATtiny25 PWM ADC

Gast #1907927
Lesenswert?

Hallo zusammen,

ich versuche gerade eine LED Lampe mittels ATtiny25 zu steuern. Die 
Platine mit Treibern ist soweit fertig, nur das Programm für den tiny 
fehlt mir und das will nicht so wie ich mir das vorstelle (ist auch mein 
erster Versuch mit nem µC).

Als Erstes möchte ich PB2 und PB3 als Ausgänge deklarieren und mittels 
PWM (die LEDs) dimmen.
Später soll mal ein Taster an den PB1 angeschlossen werden, über den ich 
die LED ein- bzw. ausschalten kann. Zum dimmen soll ein Poti an PB4 als 
ADC:

Da ich bisher noch nichts ans laufen bekommen habe, fange ich mal ganz 
oben an:

- Reicht es, wenn ich die Bibliotheken <avr/io.h> ; <avr/interrupt.h> 
und <util/delay.h> lade?

- evtl. habe ich schon mal die Ausgänge gesetzt, aber da lagen nur ~1.3V 
an, wäre das richtig (bei Vcc = 5V)? Inzwischen ist das Programm soweit 
verändert, dass es auch nicht mehr läuft.

- wie setzt man einen einzelnen Ausgang und wie bekomme ich da ein 
PWM-Signal drauf?

- muss das in eine (Leer)schleife, damit es läuft?

Das Datenblatt hab ich zwar, aber geholfen hat´s noch nicht. Das 
AVR-Tutorial habe ich auch schon gemacht, aber iwie klappts trotzdem 
nicht.

Das ganze wollte ich in AVR Studio erstellen und über einen USB-ISP 
Programmer auf den tiny bekommen. Die Verbindung dahin hat zumindest 
schon geklappt.

Würde mich sehr über eure Tipps freuen, da ich da schon längere Zeit 
dran sitze.

Viele Grüße

Michael
Gast #1907959
Lesenswert?

Danke für die schnelle Antwort.
Hier ein Versuch, nur einen Ausgang (PB1) mit nem Timer auszugeben, aber
das geht auch noch nicht.

***********************************************************
#include <avr/io.h>;
#include <avr/interrupt.h>;
#include <util/delay.h>;


int main(void)

{

DDRB = (1<<PB1); //PB1 als Ausgang

TCCR0A = (1<<COMPB1) | (1<<WGM01) | (1<<WMG00);

TCCR0B = (1<<CS01);

OCR0B = 0x7F;
while (1)
{
//leere Schleife (warum weiß ich auch nicht)
}
return (0);

}

***********************************************************

Ist da schon iwas Grundlegens falsch dran?
#1908013
Lesenswert?

Michael schrieb:
> oh, stimmt.
>
> bekomme aber trotzdem noch 4 fehlermeldungen. 'COMP01' und 'WMG00'
> undeclared (first use in this function) sind zwei davon. was bedeutet
> das?

Das du dich vertippt hast.

Das Ding heißt COM0B1
Ich buchstabiere:  C wie Caesar
                   O wie Otto
                   M wie Martha
                   Zero   wie 0, wei Null
                   B wie Bertha
                   Eins   wie 1, wie Eins

Und es heisst nicht  COMP01 und auch nicht COMPB1


Und das andere heißt WGM00 und nicht WMG00

Geee -  Emmmm   und nicht  Emmm - Geee

Soll ich das auch noch buchstabieren?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren