Als je goed werkende code hebt voor een PIC16F876A en je loopt tegen de limieten aan betreft code size of RAM dan kun je overwegen om de PIC te vervangen voor een PIC18F2520.
Kopieer de File en en geen het een nieuwe naam ( bijvoorbeeld : Flitspaal_PIC18F2520 ).
In de code staan drie blokjes met assembly code. Hierin staan een paar specifieke PIC16 instructies die bij de PIC18 niet nodig zijn.
Principal
asm
{
BSF _status, RP0
BCF _status, RP1
BCF _txsta,2
MOVLW 64
MOVWF _spbrg
BCF _status, RP0
BCF _status, RP1
}
Transfert_PC ( twee blokjes )
asm
{
BCF _status, RP0
BCF _status, RP1
BSF _intcon,PEIE ;on valide les interruptions peripherique
}
asm
{
BSF _status, RP0
BCF _status, RP1 ; on passe en banque 1
BSF _txsta,2 ; on passe en grande vitesse
MOVLW 10
MOVWF _spbrg ; on charge 10 dans le registre SPBRG pour 115200 bauds
}
Verder moet je de setting en target goed zetten uiteraard.
Deze heb ik in het bijgevoegde plaatje afgebeeld.
Succes, en veel plezier!
Ben
edit : Correctie UART baudrate settings
edit : verkeerd ge-edit...