Well that's something you're gonna have to stop fighting and adapt to. Functions need to be written in something closer to assembler than algebra. Otherwise they get pretty inefficient at least, and often erroneous. You will need to be very careful about the max/min numbers the data type can represent. Division is painfully slow. Integers do not have decimals. Many beginners jump right into "floating point- yeah I need decimals". But you'll find FP on a system with no Floating Point Unit is incredibly slow. Hundreds of times slower (or worse). In fact there are plenty of ways to work with decimals as "fixed point" that don't involve Floating Point calcs. Like if you need a single digit to the right of the decimal, just store the number as 10x larger than it is. 13.8=>138. 13.8 + 1 becomes 138+10. Danny Matthew Rhys-Roberts wrote: > Thanks - I'll try C18 student version to get me going, then see what > other varieties of HLL compiler are worth trying. > > After much low-level grovelling, I really need to express functions in > something more like algebra than assembler. > > Best regards, > > Matt Rhys-Roberts. > > > Tamas Rudnai wrote: > >>> Am I right in thinking that the C32 compiler will work for PIC18 series >>> >>> >> C32 is for 32bit PIC only, C30 is for 16bit PIC (24H, dsp series), and C18 >> is for 18F (high-end 8bit series). >> >> C18 is *not* based on gcc, you can download a free edition from Microchip >> site >> http://www.microchip.com/c18 >> >> Quote from that page: >> >> *Student Edition/Demo* >> The Student Edition is free! It has all the features of the full compiler >> and libraries. After 60 days, the optimizations related to procedural >> abstraction and to the extended instruction set of the newer PIC18XXXX >> devices will be disabled. Code compiled after the expiration date will >> function but may occupy more memory space. >> >> Tamas >> >> >> >> > > -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist