www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega 8515 C Programmierung


Autor: Florian idb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute,

hab da ein kleines Problem und zwar möchte ich gerne alles LEDs an PORT 
B
einschalten aber es klappt einfach nicht.

Hier mein Prog:

#include <avr/io.h>
#include <stdint.h>

int main (void) {

   DDRB = 0xff;


   while(1)
   {
   PORTB = 0xff;

   }

   /* wird nie erreicht */
   return 0;
}

Der Compiler und AVR Studio Funktionieren Korrekt da ich ein Programm 
geschrieben habe um ein Bit in den EEPROM zu schreiben was auch 
funktioniert nur das mit den Ports nicht.

Die Schaltung ist auch korrekt da es mit einem Assembler Prog. 
funktioniert.

MfG

Flo

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sicher, dass die LEDs low-side angeschlossen sind?

Autor: Florian idb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie meinst du das?Gibt es einen Unterschied?Denn mit dem Assembler 
Programm funktioniert es ja.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Florian idb wrote:
> Wie meinst du das?Gibt es einen Unterschied?Denn mit dem Assembler
> Programm funktioniert es ja.
Auch mit 0xFF im PORTB? Haste mal 0x55 in PORTB geschrieben? Dann müsste 
eigentlich jede zweite LED leuchten...

Ob eine LED high- oder low-side angeschlossen ist, entscheidet, ob die 
LED mit einer 0 oder einer 1 im PORTx-Register eingeschaltet wird...

Autor: Florian idb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahso.Ja habe im Assembler Programm auch 0xFF drin stehen.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Florian idb wrote:
> Ahso.Ja habe im Assembler Programm auch 0xFF drin stehen.
Tja, dann stimmt etwas anderes nicht...

Autor: Florian idb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So habe nun das Assembler Prog. mit 0xff getestet --> LED an
und im C Prog mit 0x00 --> LED auch an.

Das is doch komisch oder?

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Florian idb wrote:
> So habe nun das Assembler Prog. mit 0xff getestet --> LED an
> und im C Prog mit 0x00 --> LED auch an.
Hä? Wie das?

> Das is doch komisch oder?
Allerdings. Das Assemblerprogramm würde ich gerne mal sehen...

Autor: Florian idb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ldi R16,0xFF
out DDRB, R16

ldi R16, 0xFF
out PORTB, R16

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.