PIC16LF18426 does not work correctly
Posted: Fri Feb 11, 2022 12:36 pm
Hi Martin and everyone
In one of my projects, I changed the micro for memory capacity problems:
from PIC16LF18325 to PIC16LF18426.
Unfortunately, the RXINT0 UART interrupt no longer works
and even the ADC is not working
The compiler gives me the following error:
https://www.matrixtsl.com
Avvio del compilatore...
C:\Program Files (x86)\Flowcode v8\pic\batch\pic_xc8_2.20_comp.bat 16LF18426 "C:\Users\BRUNOS~1\Desktop\SENSOR~1\Test\" "Extensometer _NTC_Pic16LF18426_1.0"
C:\Users\BRUNOS~1\Desktop\SENSOR~1\Test>"C:\Program Files\Microchip\xc8\v2.20\bin\xc8-cc.exe" -mcpu=16LF18426 "Extensometer _NTC_Pic16LF18426_1.0.c" -w=359,1273,1388 -fshort-float -fshort-double -std=c90 -Os
Extensometer_NTC_Pic16LF18426_1.0.c
16: error: (255) not a member of the struct/union ""
Extensometer_NTC_Pic16LF18426_1.0.c
19: error: (182) illegal conversion between types
int -> volatile union S893
Extensometer_NTC_Pic16LF18426_1.0.c
20: error: (255) not a member of the struct/union ""
Extensometer_NTC_Pic16LF18426_1.0.c
40: error: (255) not a member of the struct/union ""
Extensometer_NTC_Pic16LF18426_1.0.c
41: error: (199) logical type required
NOT volatile union S875
Extensometer _NTC_Pic16LF18426_1.0.c
41: error: (199) logical type required
NOT volatile union S893
Extensometer_NTC_Pic16LF18426_1.0.c
16: error: (255) not a member of the struct/union ""
Extensometer_NTC_Pic16LF18426_1.0.c
19: error: (182) illegal conversion between types
int -> volatile union S875
(908) exit status = 1
Error returned from [xc8.exe]
C:\Program Files (x86)\Flowcode v8\pic\batch\pic_xc8_2.20_comp.bat ha riportato il codice di errore 1
Autoclose turned off
I read, from the datasheet, that the UART interrupt is enabled by the PIE3 register and not the PIE1 register.
"// Name: Interrupt, Type: Interrupt: Enable RXINT0
st_bit (INTCON, GIE);
st_bit (PIE1, RCIE);
st_bit (INTCON, PEIE); "
For the ADC, on the other hand, I can't understand
Can you help me solve the problem?
Thank you very much
best regards
In one of my projects, I changed the micro for memory capacity problems:
from PIC16LF18325 to PIC16LF18426.
Unfortunately, the RXINT0 UART interrupt no longer works
and even the ADC is not working
The compiler gives me the following error:
https://www.matrixtsl.com
Avvio del compilatore...
C:\Program Files (x86)\Flowcode v8\pic\batch\pic_xc8_2.20_comp.bat 16LF18426 "C:\Users\BRUNOS~1\Desktop\SENSOR~1\Test\" "Extensometer _NTC_Pic16LF18426_1.0"
C:\Users\BRUNOS~1\Desktop\SENSOR~1\Test>"C:\Program Files\Microchip\xc8\v2.20\bin\xc8-cc.exe" -mcpu=16LF18426 "Extensometer _NTC_Pic16LF18426_1.0.c" -w=359,1273,1388 -fshort-float -fshort-double -std=c90 -Os
Extensometer_NTC_Pic16LF18426_1.0.c
Extensometer_NTC_Pic16LF18426_1.0.c
int -> volatile union S893
Extensometer_NTC_Pic16LF18426_1.0.c
Extensometer_NTC_Pic16LF18426_1.0.c
Extensometer_NTC_Pic16LF18426_1.0.c
NOT volatile union S875
Extensometer _NTC_Pic16LF18426_1.0.c
NOT volatile union S893
Extensometer_NTC_Pic16LF18426_1.0.c
Extensometer_NTC_Pic16LF18426_1.0.c
int -> volatile union S875
(908) exit status = 1
Error returned from [xc8.exe]
C:\Program Files (x86)\Flowcode v8\pic\batch\pic_xc8_2.20_comp.bat ha riportato il codice di errore 1
Autoclose turned off
I read, from the datasheet, that the UART interrupt is enabled by the PIE3 register and not the PIE1 register.
"// Name: Interrupt, Type: Interrupt: Enable RXINT0
st_bit (INTCON, GIE);
st_bit (PIE1, RCIE);
st_bit (INTCON, PEIE); "
For the ADC, on the other hand, I can't understand
![Sad :(](./images/smilies/icon_sad.gif)
![Sad :(](./images/smilies/icon_sad.gif)
Can you help me solve the problem?
Thank you very much
best regards