Am PortB binär ausgeben mit C

Gast #436525
Lesenswert?
• ▲
▼
Hallo !

um meine R/2R Netz zu testen habe ich in CodeVision so ein Prog 
geschrieben. Es sollte ne Rampe darstellen und das macht das Prog auch, 
aber die Rampe hat 5 grössere Treppen. Ich denke es liegt an Befehl den 
ich verwende DDRB=.... Das eigentlich wie ich glaube nur für 
Initialisierung benutz wird und nicht zur Ausgabe.

#include <mega16.h>

unsigned int i;

void main(void)
{
while (1)
      {

      for (i=256; i > 0; i--)
        {
          DDRB=i;
        };
      };
}




Ich habe das ganze noch mit asm Programm getestet:

.INCLUDE "m16def.inc"

; Register Definitionen
;
.DEF rmp = R16 ; Multipurpose Register
;
  ldi rmp,0xFF;  Alle Pins von Port B als Ausgang
  out DDRB,rmp ; in Datenrichtungsregister
sawtooth:
  out PORTB,rmp ; Inhalt von rmp an Port B ausgeben
  inc rmp ; erhöhen
  rjmp sawtooth ; und weiter fuer immer

und meine Rampe sieht da gerade aus.

In asm Programiere ich aber nicht und würde wie man Zahlen am Port 
ausgibt.
Danke !
#436558
Lesenswert?
• ▲
▼
DDRB konfiguriert den Port

PORTB macht eine Ausgabe auf dem PORT

PINB ist zum Einlesen des Ports gedacht

Du mußt Dich nur an das Asm-Prog halten oder machen was ich geschrieben 
habe:

> Also erst Datenrichtung setzen
> DDRB = 0xFF;

> Dann in der Schleife die Ausgabe
> PORTB = i;

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.