CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

New compiler version 5.100 bug

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
TimothyCarter



Joined: 08 Aug 2016
Posts: 22

View user's profile Send private message

New compiler version 5.100 bug
PostPosted: Wed Jan 20, 2021 1:21 pm     Reply with quote

I got the email and updated CCS to version 5.100 today (January 20, 2021). Now, when I try to compile a project for the 16f1847 it gives "Internal error - Contact CCS PR-CODE at 37/C/36 SCR=2074". I can go back to version 5.099 and it compiles just fine.

The reason for the re-compile is to switch to the low-power version of the PIC; 16F1847 -> 16LF1847 (neither will compile with version 5.100).

I'm not sure if it matters, but the warning seems to be happening after I call the read_adc() function - using the 10-bit ADC. -- at least that's the line that is pointed to when the error occurs.
_________________
“Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.”
- Eric S. Raymond


Last edited by TimothyCarter on Wed Jan 20, 2021 1:37 pm; edited 1 time in total
jeremiah



Joined: 20 Jul 2010
Posts: 1351

View user's profile Send private message

PostPosted: Wed Jan 20, 2021 1:55 pm     Reply with quote

I would report this to CCS ( official support is through email at [email protected] )
Ttelmah



Joined: 11 Mar 2010
Posts: 19529

View user's profile Send private message

PostPosted: Thu Jan 21, 2021 2:02 am     Reply with quote

CCS seem to have been 'fiddling' with the ADC handling on the last couple
of versions of compiler. My problems have all been with the ADC's on the
16bit PIC's, so it is interesting to see problems appearing with some of the
newer 8bit PIC's. 5.099, supports the LF chip, so I'd stick with this until
CCS come back to you. As Jeremiah says, you need to report this to
CCS themselves.

However have just tried a really basic 'read the ADC and display it', on
5.100, and it does not complain at the read_adc line. It is possible it is
something like a 'silly' that they have renamed a define and this is causing
a problem with your code.

Does this compile for you?
Code:

#include <16LF1847.h>
#device ADC=10
#use delay(internal=32000000)
#use RS232(baud=9600, XMIT=PIN_B2, RCV=PIN_B1, ERRORS, STREAM=UART)

void main()
{
   int16 adc_sum;
   int8 ctr;
   int32 voltage;
   setup_adc(ADC_CLOCK_DIV_32);
   setup_adc_ports(SAN0, VSS_VDD);
   set_adc_channel(0);   
   
   while(TRUE)
   {
      adc_sum=0;
      for (ctr=0;ctr<8;ctr++)
      {
         delay_us(5); //Tacq
         adc_sum+=read_adc();
      }
      adc_sum/=8; //generate 8 sample average
      voltage=((adc_sum*3300LL)+1617)/1024;
      //running on 3.3v generate voltage to display
      printf(UART,"%5.3LWV/n/r", voltage);
      delay_ms(500);
   }
}
TimothyCarter



Joined: 08 Aug 2016
Posts: 22

View user's profile Send private message

PostPosted: Thu Jan 21, 2021 9:27 am     Reply with quote

Ttelmah, that code does indeed work. I suspect it has nothing to do with the read_adc() function, that's just the line that gets highlighted because it is actually an "Internal Error - Contact CCS" and as such the compiler doesn't know what to show.

It's the exact same code that compiles with 5.099, yet does not with 5.100.

I now have another project where I am getting a "Floating point overflow" error with CCS's included math.h file (in version 5.100, but not in 5.099):

>> Actually the floating point error is an "Info"; I also get a "Internal Error - Contact CCS" when trying to compile for a PIC24fj256gb410.

The line it questions is:
Code:
// Overloaded function exp() for data type - Float64
float64 const pe_64[12] ={9.30741400474913e-011,-4.28655416283316e-011,
                          8.71486547014137e-009,9.84458531538385e-008,
                          1.32588296983536e-006,1.52489283823016e-005,
                          0.000154037598423921,0.00133335487036216,
                          0.00961812936407326,0.0555041086222122,
                          0.240226506962827,0.693147180559823};


again, this problem goes away with version 5.099: but I get the bug where
Code:
#device adc=12
doesn't work (which is fixed in 5.100).
_________________
“Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.”
- Eric S. Raymond
TimothyCarter



Joined: 08 Aug 2016
Posts: 22

View user's profile Send private message

PostPosted: Thu Jan 21, 2021 10:24 am     Reply with quote

Received this reply from CCS:

The problem you reported has been fixed and will be in the
next compiler release.

For both of my issues reported above.

CCS is always quick on the fixes, and so easy to work with.
_________________
“Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.”
- Eric S. Raymond
Ttelmah



Joined: 11 Mar 2010
Posts: 19529

View user's profile Send private message

PostPosted: Fri Jan 22, 2021 1:32 am     Reply with quote

and they have actually posted the version overnight. Very Happy
TimothyCarter



Joined: 08 Aug 2016
Posts: 22

View user's profile Send private message

PostPosted: Fri Jan 22, 2021 10:07 am     Reply with quote

Yeah, they're super-speedy over there Shocked Very Happy
_________________
“Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.”
- Eric S. Raymond
hmmpic



Joined: 09 Mar 2010
Posts: 314
Location: Denmark

View user's profile Send private message

PostPosted: Fri Jan 22, 2021 12:02 pm     Reply with quote

Maybe too speedy, sometimes its better to be a little slower but correct at the first time Laughing
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group