nobcha23の日記

PICマイコンやArduinoを使う電子回路遊びを紹介します

あった、えらった PIC16F88

またもや、見逃していた。ありましたね、エラッタが。PIC16F88は結構使われているから先輩WEBの見よう見真似でいけるというのは甘い考えでした。反省。。大体の先輩事例ではPIC16F84から入れ替えのため、発振子を使っており、内部RCオシレータの事例は少ない。UART使うとクロック精度無いと通信エラーになりやすく、INTOSCは敬遠される。・・・そういうことか・・・。
今回のエラッタではINTOSCでIOFSがセットされる(クロックが安定になる)まで4ms掛かるが、本当に安定になるのはさらに60ms後とある。そしてご丁寧にディレールーチンまで書いてあります。4MHzで0x6200まわす。
http://ww1.microchip.com/downloads/en/DeviceDoc/80171l.pdf
マイクロチップ社DS80171L P2
そしてそしてさらに念の行ったことには、8MHzの場合は60msまでの間は4MHzで動かして、そのあとIRCFビットを選択して8MHzに上げろとあります。うーーーん・・。
PIC16F88と言うチップはINTOSC(コンフィギュではINTCLKと言う表記でないと受け付けない)で8MHzも行けてこれは便利なんてのにだまされました。
マイクロチップ社のユーザーフォーラムではそれらしいコメントもあり、INTOSCの場合は電源入れてからクロック関係が安定するのは1秒ぐらい待ってからだよ・・・、などというREもあった。

昨日は時間無くデバッギングできず、とりあえず机上検討まで・・・。