Hallo,
hab mich jetzt auf die Weise durchgekämpft, wie du gesagt hast.
Hab zuerst einmal den Pin der LED gewechselt, denn den, wo ich die LED bis jetzt hatte wollt er nicht.
Dann bin ich nach und nach die Ini. durchgegangen. Folgendes macht er nicht richtig:
(nur eine LED blinkt ohne "Betriebsanzeige")Code:BANK_1 movlw b'01000000' movwf SPBRG ; Baudrate 19200
(beide LED blinken ohne "Betriebsanzeige")Code:BANK_1 bsf TXSTA, TXEN bsf PIE1, TXIE ; Sender-Interrupt zulassen
Damit die Sachen in Klammern verstanden werden, hier noch schnell, was mein Programm derzeit macht:
Wieso funkionieren nur die obigen Code-Teile nicht richtig?Code:; UP ; LED-Warten Warte_100 ; 100ms movlw b'1100100' movwf warte_ko Warte movlw b'11111001' movwf warte_1m LOOP_1m NOP ; 20Zyklen NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP decfsz warte_1m,f ; 1ms goto LOOP_1m decfsz warte_ko,f goto Warte return ; UP ; Blinken durch Auslesen aus EEPROM eeblinken bsf INTCON, GIE ; Interrupts allgemein zu lassen movfw adresse call eeread movwf PORTB incf adresse, f ; Adresse erhöhen btfsc adresse, 1 ; Adresse = '00000010' = 2 ?? clrf adresse ; zurück zur Adresse 0 call Warte_100 goto eeblinken return ; UP ; EEPROM auslesen eeread BANK_1 movwf EEADR bsf EECON1,RD movf EEDATA,w BANK_0 return ; UP ; EEPROM beschreiben eeschreiben BANK_1 movlw 0x00 movwf EEADR movfw zahl_2 movwf EEDATA bsf EECON1,WREN movlw 0x55 movwf EECON2 movlw 0xAA movwf EECON2 bsf EECON1,WR call Warte_100 movlw 0x01 movwf EEADR movfw zahl_3 movwf EEDATA bsf EECON1,WREN movlw 0x55 movwf EECON2 movlw 0xAA movwf EECON2 bsf EECON1,WR call Warte_100 BANK_0 return ; UP ; Rechnen eerechnen movlw d'20' movwf zahl_1 movlw d'4' subwf zahl_1,w movwf zahl_2 ; hier müsste jetzt 16 drin stehen movlw d'12' subwf zahl_1,w movwf zahl_3 ; hier müsste jetzt 8 drin stehen return ; UP ; LED-Betriebsanzeige LED_B movlw 0x0A movwf blin_10 LOOP_B bcf PORTA,2 call Warte_100 bsf PORTA,2 call Warte_100 decfsz blin_10,f goto LOOP_B return ; Hauptprogramm main call Ini_start call LED_B call eerechnen call eeschreiben call eeblinken end
Kann es sein, dass sie wegen irgendetwas übersprungen werden?
LG
Jen







Zitieren

Lesezeichen