Currently I'm using 2.4 built on 10/28/2004 (have tried with one from 10/21/2004. My current issue is that when I upgrade from an older version 2.4 on 2/23/2004 atoi & atol no longer seem to work right.
they work right for most values, but when I run the following code, I get unexpected results.
void UART_ISR(void) interrupt 4
char SFR_PAGE = SFRPAGE;
// If it's time to transmit...
// Clear flag
// If a char came in
// if the queue is not full
// Buffer the char -- otherwise drop it.
// clear recv flag
The output I get from this code is:
it should be:
I'm using --model-large --stack-auto --pack-iram
(I have recompiled the large model libraries for this)
it also does this when I use just the standard included small model libraries.
Any help here? or is this an annoying bug?
Problem found. It was a bug in the compiler (I sumbitted a bug report) that deals with (s)printf.
adding a #define printf printf_fast to my code to use printf_fast fixes the issue for now.
Log in to post a comment.