RC発振器
ほぼすべてのマイコンに内蔵されたクロック。タダで、すぐ立ち上がり、精度は抵抗とコンデンサ並みである。
周波数はコンデンサが抵抗を通して充電される速さで決まり、両者の値はプロセス、電圧、温度でずれる。そこでベンダーは出荷時に1個ずつ調整し、結果をキャリブレーションレジスタに保存する。AVRならOSCCAL、STM32ならHSIトリムビットだ。これで室温では1%前後になるが、寒さや暑さではもっと悪くなる。
大抵の用途には十分で、水晶が数ミリ秒かかるところを数マイクロ秒で起動する。UARTは送受信間の数%の誤差なら許容するが、それ以上は難しい。USBは±0.25%を要求する。一部のSTM32は、ホストが1ミリ秒ごとに送るSOFパケットに合わせて内蔵発振器をトリミングすることでこれを達成し、水晶そのものを省いている。