Gast
#436525
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 !