====== Clock ====== As with most digital electronics, an AVR also works at a constant frequency. A constant frequency assures the reliability of data exchange throughout the device. There are several methods for generating a clock signal for an AVR. **Internal RC Oscillator** [{{ :images:avr:avr_clock_ext_rc.png?150|Using an RC oscillator}}] This is a internal clock generator, which does not need any external components. Its main disadvantages are low frequency and inaccuracy. **External RC Oscillator** Works on the same principal as an internal RC oscillator and has no significant advantage over the internal one. **Crystal Oscillator** [{{ :images:avr:avr_clock_ext_crystal.png?150|Using a crystal oscillator}}] Crystal oscillators use a crystal (usually quartz) that vibrates at its resonant frequency in the electric field and has a piezoelectic quality to produce an electric field during mechanical deformation (vibration). Crystal oscillators enable a precision of nearly 0.001%, which does not depend on the temperature. **Ceramic Resonator** Ceramic resonators are similar to crystal oscillators, but are made from cheaper piezoelectric materials. Ceramic resonators are typically smaller than crystal oscillators, but are also less precise (~0.5%) and more sensitive to temperature changes. **External Clock Signal** [{{ :images:avr:avr_clock_ext_clock.png?150|Using an external clock signal}}] An external clock signal can be generated with any device, provided that the frequency and amplitude (voltage) are in the correct range. For example, an external clock signal generator can be used to provide a clock signal to several microcontrollers at once.