.
Sigo con los inventos.
He intentado compilar el programa para un PIC18F46K20, tiene la ventaja sobre el origignal PIC18F4620, que el oscilador puede rodar más rápido, así podré poner un cuarzo de 3Mhz, que multiplicado x4 y otra vez x4, me da 48Mhz de señal de reloj que si admite el 46K20.
Cambio en el fuente el #include "p18f4620.inc" por #include "p18f46k20.inc", le doy a compilar y me da 3 errores, sobre estos 3 parámetros de la configuración, identifico el del oscilador y el del watchdog
CONFIG OSC = HSPLL
CONFIG BORV = 3
CONFIG WDT = OFF
Edito los archivos p18f4620.inc y p18f46k20.inc, y me encuentro que OSC lo cambian por FOSC, y WDT por WDTEN, ya son ganas de tocar los huevos, no podían haber dejado los nombres iguales, bueno los cambio y compilo ya sin los errores del oscilador y el watchdog.
Lo que desconozco por el momento es para que sirve BORV y que valor debo de poner, leyendo el contenido de p18f46k20.inc, me encuentro con esto, entiendo que en vez de 3, debo de poner 30, 27, 22 o 18, pero no se aún cual debo de elegir y porque
; Brown Out Reset Voltage bits:
; BORV = 30 VBOR set to 3.0 V nominal
; BORV = 27 VBOR set to 2.7 V nominal
; BORV = 22 VBOR set to 2.2 V nominal
; BORV = 18 VBOR set to 1.8 V nominal
En el INC del PIC18F4620, ponía esto, y en el fuente está seleccionado a 3:
; Brown Out Reset Voltage bits:
; BORV = 0 Maximum setting
; BORV = 1
; BORV = 2
; BORV = 3 Minimum setting
Sigo con el tema, a ver si consigo migrar el fuente del original PIC18F4620, a un PIC18 con más pines y más señal de reloj, de momento solo tengo por aquí un PIC18F46K20 para hacer pruebas, con este solo resolvería el problema de la señal de reloj, para poder trabajar con una señal de reloj más alta, imprescindible para poder emular al procesador CDP1802 en la placa original que lleva un cuarzo de 2.95Mhz.