Frequent errors that may happen, from the initial creation of a program and onwards.
Strange timings: You declared an oscillator frequency, different from the oscillator actually attached to the microcontroller.
No oscillator: Keep in mind that, besides the frequency, you must also set the type of oscillator, internal or external.
No GCBASIC frequency stated: If not declared in your source program, GCBASIC uses a preset frequency suitable for operating the microcontroller as the
fastest practical.
External oscillators: It must be explicitly stated. If not stated, GCBASIC will attempt to set up the internal oscillator.
Ports: GCBASIC will set the ports automatically, but you may need to set the ports outputs or inputs when needed.
Analog levels: When applied on the ports defined as digital inputs, this can cause current consumption in the input buffer, which is outside
the device specifications. Beware.
Current drawn: Current taken from the microcontroller outputs, exceeding the maximum allowed (not all pins supply the same current). Beware
of drawing too much current.
Watchdog Timer (WDT): The WDT is a useful timer. Enable it to reset the microcontroller when processing gets stuck in a loop.
Interrupts: A badly controlled interrupt (in some cases) will prevent the execution of the entire program.
No action: The circuit is not powered.
Still no action: The microcontroller is not present or different from the device you expected.
Still no action: The microcontroller is inserted incorrectly in the appropriate socket.
Cannot program: Incorrect programmer, incorrect programmer parameters, or the circuit connections are incorrect.
Still cannot program: Values of excessively incorrect circuit resistances.
Serial communications: The TX and RX pins of the serial port are exchanged, and/or the connections with the level converter, TTL/RS232 or TTL/USB.
Still no serial communications: Serial speed different from the one set in the circuit with which it is intended to communicate, or vice versa.
No I2C/TWI: SDA and/or SCL pin exchanged on the I2C/TWI bus connection, and/or no pull-up resistors, and/or no common 0V reference.
Incorrect timing: Calculation of any timings related to the frequency of the external oscillator, without taking into account the division
by 4.
Strange numeric values: The variables declared are insufficient to contain the values to be processed - see Variable Types for the numeric range each variable type can hold.

