Page 3 of 3

Re: PIC18F15Q41

Posted: Mon Sep 22, 2025 12:04 pm
by BenR
Hi Dirk,

Should be resolved for you now, many thanks for letting us know.

Re: PIC18F15Q41

Posted: Tue Sep 23, 2025 11:30 am
by DirkB
Hello Ben,

I have ported a project from the PIC18F14K22 to the PIC18F15Q41. All functions are OK, but the OSC speed feels like 1/10 or less. I set INTOSC to 64MHZ and inserted the C code OSCFRQ=0x08;. The problem persists. Could you create and post a small project with the settings 64MHz, Oscillator Start-up Timer on, everything else off? Which parameter is responsible for the Analog-to-Digital Converter RC Oscillator (ADCRC)? Have I overlooked something?

Thanks,
Dirk

Re: PIC18F15Q41

Posted: Tue Sep 23, 2025 2:47 pm
by DirkB
OK, the OSC speed feels like 1/100 or less.

Re: PIC18F15Q41

Posted: Fri Sep 26, 2025 4:00 pm
by DirkB
Hello Ben,

I have flashed a chip with a small program containing the components EEProm, Serial-EEPRom (i2c), Digital Pot (i2c), PWM, and UART (Midi). The timing is OK. PWM 62.5 KHz is correct. Clock out 16 MHZ (FOSC/4) is correct. The compiler runs without errors.
PWM works, interrupts work, digital potentiometer works. Internal EEProm does not work, Midi does not work. I wrote a routine that initializes the EEprom and the Serial-EEprom and writes a specific value to a specific address of the EEprom. The next time the program starts, this address is read. If the value is correct, the EEproms are not initialized. However, the EEPROMs are initialized at every restart. The value is not written. As soon as I add the i2c component to the project, the overall speed drops dramatically. Initialization takes about 2 seconds with the PIC18F14K22, but with the 18F15Q41 it takes 20 seconds or more, and the EEPROM does not write (or read?) the value to the address.
Otherwise, it looks very good.

Best regards,
Dirk

Re: PIC18F15Q41

Posted: Tue Sep 30, 2025 10:16 am
by medelec35
Hi Dirk
I have just tried the internal EEPROM and no issues with read or write.
Can you just try internal EEPROM with only UART,
then add suspected component that might be causing an issue.
Then you can still see if internal EEPROM is working or not.