Frequently Asked Questions
Compiler Behavior
- How does the compiler handle converting between bytes and words?
- How does the compiler determine TRUE and FALSE on expressions?
- Why does the compiler use the obsolete TRIS?
- Instead of 800, the compiler calls 0. Why?
- Instead of A0, the compiler is using register 20. Why?
- What is the format of floating point numbers?
- How do I generate code compatible with ICD (or MPLAB® ICD 2, MPLAB® ICD 3, or MPLAB® ICD 4)?
- How do I make a pointer to a function?
- Why does the generated code that uses BIT variables look so ugly?
- How much time do math operations take?
- How are type conversions handled?
- How do you change the location of the Reset vector and Interrupt vector so I can develop my own Bootloader?
- Why does the .LST file look out of order?
- How do I make a stand-alone HEX file that runs without the debugger?
- Using Multiple Compilation Units
- Compiling a Program from an Existing File/Project
- Creating a Project with the PIC Project Wizard
Input/Output
- How does one map a variable to an I/O port?
- How does the PIC® MCU connect to an I2C device?
- Why does a program work with standard I/O but not with fast I/O?
- What is an easy way for two or more PIC® MCUs to communicate?
- How do I get getc() to timeout after a specified time?
- How can I pass a variable to functions like OUTPUT_HIGH()?
- Why isn't PortB, pin 3, working?
- Why don't I get any signals out of Port A?
- Why is the RS-232 not working right?
- Using Multiple RS-232 Ports on a PIC® MCU or PIC® DSC
- How does the PIC® MCU connect to a PC?
Interrupts
- How is the TIMER0 interrupt used to perform an event at some rate?
- What are the restrictions on function calls from an interrupt function?
- How can the RB interrupt be used to detect a button press?
- How can I use a delay_XX() routine in an interrupt without disabling interrupts?
- Why do I get a 'Interrupts disabled to prevent re-entrancy' warning?
- Why do the HIGH or FAST interrupts not work? (FAST is saving/restoring registers, or a non HIGH/FAST interrupt is being serviced high priority)
Memory
- How do I directly read/write to internal registers?
- How can a constant data table be placed in ROM?
- Why does the compiler show less RAM than there really is?
- How do I write variables to EEPROM that are not a byte?
- How can I create a custom variable definition that points to an external memory device? (or what is typemod?)
- How can I force the compiler to place a block of variables into a specific block of RAM?
- Why do I get an OUT OF ROM error when there seems to be ROM left?
- What can be done about an OUT OF RAM error?
MPLAB® IDE
- How do you view float variables inside MPLAB® IDE?
- How do I get CCS to work inside MPLAB® 8 IDE?
- How can I link an MPASM object into my project?
- How can I use my HEX files with MPLAB® tools to program my target?
- How can I use MPLAB® ICD 2, MPLAB ® ICD 3, MPLAB ® ICD 4, MPLAB ® PICkit™ 3, MPLAB ® PICkit™ 4 and MPLAB® REAL ICE™ with CCS Compiler?
- How do I create an MPLAB® X project that uses the CCS C Compiler?
- How do I fix the issue in MPLAB® X with getting Error#7 Invalid Pre-Processor directive Export requires IDE?
In-Circuit Programmers/Debuggers
- Troubleshooting CCS Programmer/Debugger Issues
- Connecting a CCS Programmer/Debugger to Your Atmel Hardware
- Connecting a CCS Programmer/Debugger to Your PIC® MCU Hardware
- Installing CCS Programmer/Debugger USB Drivers
- Using a CCS Programmer in Linux
- How much current can a CCS Programmer/Debugger supply?
Mach X Programmer/Debugger
- How do I troubleshoot Mach X issues?
- How do I connect the Mach X to my PIC® MCU hardware?
- What devices are supported by the Mach X Programmer?
ICD-S/U Programmer/Debugger
- How do I troubleshoot ICD-S/U issues?
- How do I connect the ICD-S/U to my PIC® MCU hardware?
- How can I find my ICD-S/U revision number?
- What is the speed difference between popular ICD units?
LOAD-n-GO Handheld Programmer/Debugger
Prime8 Production Programmer
Miscellaneous
- How do I do a printf to a string?
- How can I generate a random number?
- Jeremy Bentham's TCP/IP Lean code works in v2.xxx, but how do I get it to work in v3.xxx?
- Why do I get a 'File Version Mismatch'?
- Why doesn't my chip run with INTRC fuse?
- How can I load a new calibration constant?
- How do you program the MCP25050 chips on the CAN Bus Development Kit?
- Using a USB CDC Device in Linux
- How do I use the CCS Scenix compiler with the Parallax SX-Key emulator?
- Timeout error on E3mini prototyping board
Registration & Reference Numbers
- How do I register my compiler?
- Why do you need a specific user name for the compiler? Why not just register it to a company?
- I installed my new registration files but my files are too old.
- I just bought software but my reference number is invalid.
- I bought software six months ago but now my reference number is invalid.
- I did not receive the registration files you said you e-mailed.
- May I install my compiler at both work and home?
- How do I download using a Download Key?
- What is the difference between a Reference number and a Download Key?
Compiler Features & Compatibility
- Do you have a demo of your compiler?
- Will PCWH work with MPLAB® IDE?
- How can I use your compiler with MPLAB® IDE?
- Are built-in functions included with the command-line compiler?
- What is the advantage to using PCW vs. PCM with MPLAB® IDE?
- Can I simulate my code with PCW or PCWH?
- Does you compiler come with an assembler?
- Do you have any compilers that work with Linux OS?
- What versions of Windows will the compiler run under?
- I want to use a certain chip. Which compiler do I need?
- How do I use the CCS C Compiler under MacOS?
- How can I switch between multiple versions of the CCS compiler?
Maintenance & Additional User Licenses
- What are the benefits of purchasing maintenance?
- I have an IDE compiler. May I buy maintenance for a command-line compiler?
- How many days of download rights do I get with my software?
- I need more than one person to use the compiler. What do I do?
- How do I find my customer number?
- I cannot view my renewal offers?
- What is the policy for Additional User Licenses?
- What is the Software License Agreement?
Hardware
- What is the difference between ICD-S40 and ICD-Uxx?
- Can I use the ICD-Uxx with MPLAB® IDE?
- Is the CCS compiler compatible with the Tech-Tools device programmer?
Billing & Shipping
- May I fax over a purchase order?
- My account is frozen and I can no longer download updates.
- Do I have to pay for customs, duties, and taxes on a shipment?
Technical Support
- How long will I be able to receive technical support?
- How does Technical Support work?
- I found a bug in the compiler.
Education & Distribution
- Do you offer an Educational discount?
- Do you sell through distributors?
- How do I become a CCS distributor?