goo blog サービス終了のお知らせ 

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

PICいろいろ

2016-11-25 09:08:44 | Weblog
PIC12F1822を使った開発中に気づいたことメモメモ




■(1)UART通信で、RCIFの値がとれない場合(RCIFフラグがたたない

TRISAの値が正しいか
 →入力のところが出力になっていないか?
 RXDTSELが0なら、RA1ピンは入力、1ならRA5ピンが入力(つまり1)になっていないといけない

・割り込みの設定
 RCIE = 1;
 だけでなく
   PEIE = 1;
   GIE = 1;
 もしておく




■(2)UsartのボーレートとSPBRGH、SPBRGLの値設定
以下のサイト参照

Usartのボーレート算出
http://www48.atpages.jp/cent22/Electronics/PIC/Usart_Calc_Baudrate/Usart_Calc_Baudrate.html

この表で、BRG16の設定は、その表の上(BAUDCON.3)にあるようにBAUDCONの3ビット目を0にするか、1にするかのこと
  BAUDCON = 0b00001000;
同様に、BRGHの設定はTXSTAの2ビット目
  TXSTA = 0b00100100;(のおわりのほうの100)
クロック(Clk source)は
 #define _XTAL_FREQ
で定義するだけでなくOSCCONレジスターで定義する※
OSCCON = 0b01110010;(の中ほどの1110が8MHz)
PLL(4倍にする、しない)は
 #pragma config PLLEN
で定義し
 #pragma config FOSC
で指定するけど、これがOSCCONの下位の値(終わり10は内部クロック)にも関係するので注意(※)

その表で書いてあるのは、4倍した場合、しない場合の周波数が載っている
ので、上記設定を元に、上述のサイトの数値を入れると吉

※参考
http://www.geocities.jp/zattouka/GarageHouse/micon/MPLAB/18F14K50/memo.htm


http://www.picfun.com/pic18/pic18xx02.html





■(3)12F1822と12LF1822の違い

・12LF1822は、省電力で動く
 IDE側で、12LF1822を選択すると、PICKIT3の入力電圧を変えてくれるが・・

・前に書いた

PICでの開発方法のまとめ
http://blog.goo.ne.jp/xmldtp/e/6ec32e5abe7d923caab046dc9b7dd698

にもとづき、サンプルソースに
http://www.geocities.jp/zattouka/GarageHouse/micon/MPLAB/12F1822/LEDblink/LEDblink.htm
を使う場合

#pragma config BORV = HI // 電源電圧降下常時監視電圧(2.5V)設定(HI)
をコメントにする
(つまり // #pragma config BORV = HI)

LVPをOFF→ON
(つまり #pragma config LVP = ON // 低電圧プログラミング機能使用する(ON))

にしておかないと動かない
この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Fintech(に限らないけど)の... | トップ | 女性監視するためにソフトを... »
最新の画像もっと見る

Weblog」カテゴリの最新記事