ist dieses programm zur auslesung von analogen signalen und zur ausgabe uber uart richtig? .include "8535def.inc" ;Definitionsdatei einbinden, .def temp =r19 .def hexl =r20 .def hexh =r21 ldi r17,RAMEND out SPL,r17 ldi temp,4000000/(9600*16)-1 ;Baudrate einstellen out UBRR,temp adc: ldi temp,$00 out ADMUX,temp ;choose channel 0 from ADC sbi ADCSR,ADSC ;Singlemode on rcall fertig ;wait until convert is finished in hexl,ADCL ;read lowbyte in hexh,ADCH ;read hibyte sts $60,hexl ;save low byte sts $68,hexh ;save high byte ;----------------------- ;ADC aktivieren, In 2 ;----------------------- ldi temp,$01 out ADMUX,temp ;choose channel 1 from ADC sbi ADCSR,ADSC ;Singlemode on rcall fertig ;wait until convert is finished in hexl,ADCL ;read lowbyte in hexh,ADCH ;read hibyte sts $70,hexl ;save low byte sts $78,hexh ;save high byte ;------------------------------------------------------------ ;werte aus den speicher und dem UART Register ubergeben. ;------------------------------------------------------------ lds r16,$60 rcall serout lds r16,$68 rcall serout lds r16,$70 rcall serout lds r16,$78 rcall serout rjmp adc ;next conversion fertig: sbis ADCSR,ADIF ;wait until conversion is finished,ADCSR:ADC Control and Status Register rjmp fertig ;beendet ret serout: sbis USR,UDRE ;wait until UDR is ready for the next byte out UDR,r16 ret
warum gehst du nicht uber register statt speicher beispiel: .include "8535def.inc" .def temp =r19 ldi r16,RAMEND out SPL,r16 ldi temp,4000000/(9600*16)-1 ;set baudrate out UBRR,temp adc: ldi temp,$00 out ADMUX,temp ;choose channel 0 from ADC sbi ADCSR,ADSC ;Singlemode on rcall fertig ;wait until convert is finished in r20,ADCL ;read lowbyte rcall serout in r20,ADCH ;read highbyte rcall serout ldi temp,$01 ;choose channel 1 from ADC out ADMUX,temp sbi ADCSR,ADSC ;Singlemode on rcall fertig in r20,ADCL rcall serout in r20,ADCH rcall serout rjmp adc ;next conversion fertig: sbis ADCSR,ADSC rjmp fertig ret serout: sbis USR,UDRE rjmp serout out UDR,r20 ret
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.