PIC18F46K22 UART Interrupt problem
Posted: Tue Feb 02, 2021 7:44 pm
Hi
I'm using a PIC18F46K22 to send and receive RS232 with Flowcode 8.
I have a compiler problem on receive when trying to use the circular buffer.
After failing to find the problem on my own code, I have downloaded UART_test.fcfx from this forum (published by chipfryer on the 9th April 2020) and get exactly the same compiler error.
C:\Program Files (x86)\Flowcode\Common\Compilers\pic\batch\pic_xc8_comp.bat 18F46K22 "C:\FLOWCO~1\" "UART_Test"
C:\FLOWCO~1>C:\PROGRA~2\Flowcode\Common\COMPIL~1\pic\batch\..\bin\xc8.exe --chip=18F46K22 "UART_Test.c" --MSGDISABLE=359,1273,1388 --FLOAT=32 --DOUBLE=32
Microchip MPLAB XC8 C Compiler (Free Mode) V1.45
Build date: Nov 15 2017
Part Support Version: 1.45
Copyright (C) 2017 Microchip Technology Inc.
License type: Node Configuration
using updated 32-bit floating-point libraries; improved accuracy might increase code size
C:\ProgramData\MatrixTSL\FlowcodeV8\CAL\PIC\PIC_CAL_Delay.c: 85: non-reentrant function "_delay_us" appears in multiple call graphs and has been duplicated by the compiler
C:\ProgramData\MatrixTSL\FlowcodeV8\CAL\PIC\PIC_CAL_Delay.c: 105: non-reentrant function "_delay_ms" appears in multiple call graphs and has been duplicated by the compiler
UART_Test.c: 7846: non-reentrant function "_FCD_04071_LCD__Cursor" appears in multiple call graphs and has been duplicated by the compiler
UART_Test.c: 8006: non-reentrant function "_FCD_04071_LCD__RawSend" appears in multiple call graphs and has been duplicated by the compiler
. . .
Memory Summary:
Program space used A34h ( 2612) of F000h bytes ( 4.3%)
Data space used 62h ( 98) of F37h bytes ( 2.5%)
Configuration bits used 7h ( 7) of 7h words (100.0%)
EEPROM space used 0h ( 0) of 400h bytes ( 0.0%)
ID Location space used 0h ( 0) of 8h bytes ( 0.0%)
Data stack space used 0h ( 0) of EB4h bytes ( 0.0%)
Whatever I've tried I cannot get rid of the 'non reentrant' messages above.
Any help appreciated.
Thanks. Clive
I'm using a PIC18F46K22 to send and receive RS232 with Flowcode 8.
I have a compiler problem on receive when trying to use the circular buffer.
After failing to find the problem on my own code, I have downloaded UART_test.fcfx from this forum (published by chipfryer on the 9th April 2020) and get exactly the same compiler error.
C:\Program Files (x86)\Flowcode\Common\Compilers\pic\batch\pic_xc8_comp.bat 18F46K22 "C:\FLOWCO~1\" "UART_Test"
C:\FLOWCO~1>C:\PROGRA~2\Flowcode\Common\COMPIL~1\pic\batch\..\bin\xc8.exe --chip=18F46K22 "UART_Test.c" --MSGDISABLE=359,1273,1388 --FLOAT=32 --DOUBLE=32
Microchip MPLAB XC8 C Compiler (Free Mode) V1.45
Build date: Nov 15 2017
Part Support Version: 1.45
Copyright (C) 2017 Microchip Technology Inc.
License type: Node Configuration
using updated 32-bit floating-point libraries; improved accuracy might increase code size
C:\ProgramData\MatrixTSL\FlowcodeV8\CAL\PIC\PIC_CAL_Delay.c: 85: non-reentrant function "_delay_us" appears in multiple call graphs and has been duplicated by the compiler
C:\ProgramData\MatrixTSL\FlowcodeV8\CAL\PIC\PIC_CAL_Delay.c: 105: non-reentrant function "_delay_ms" appears in multiple call graphs and has been duplicated by the compiler
UART_Test.c: 7846: non-reentrant function "_FCD_04071_LCD__Cursor" appears in multiple call graphs and has been duplicated by the compiler
UART_Test.c: 8006: non-reentrant function "_FCD_04071_LCD__RawSend" appears in multiple call graphs and has been duplicated by the compiler
. . .
Memory Summary:
Program space used A34h ( 2612) of F000h bytes ( 4.3%)
Data space used 62h ( 98) of F37h bytes ( 2.5%)
Configuration bits used 7h ( 7) of 7h words (100.0%)
EEPROM space used 0h ( 0) of 400h bytes ( 0.0%)
ID Location space used 0h ( 0) of 8h bytes ( 0.0%)
Data stack space used 0h ( 0) of EB4h bytes ( 0.0%)
Whatever I've tried I cannot get rid of the 'non reentrant' messages above.
Any help appreciated.
Thanks. Clive