きっと明日もいい天気

メモ用ブログ

PIC作業日誌2

16F88以外のPICも触り始めたのでそれについて備忘録的に書いていく(つもり)

9/20以降 

interrupt on change(IOC)が使えるマイコンを探した結果、秋月でPIC16F18313を見つける

8ピンはカッコイイ(小学生並みの感想) とりあえずいくつか注文

 

10月ぐらい

届いたのでいろいろ弄る

いつもの通りネットからサンプルコードを持ってこようとするが日本語記事が少ない

仕方なくデータシートとかとかを見てLチカしたりする

数日後フォトランジスタNJL7502lを使った計数機を作り始める

IOC割り込みができず数日悩む

→原因はPORTの情報を読んでないことだった(書籍のサンプルコードを読んでいて気付いた)

→while文の中で「char buff=PORTA」を入れて割り込み成功

データシートはちゃんと読まないといけない

 

このフォトトランジスタはアナログ出力なのでシュミットトリガーを挟んだ

6回路ぐらい入った大きいDIP使うのもアレだったんで面実装の奴を買ってみた

またChan氏のサイトにあったUEW配線を試してみた

f:id:piyo10:20161106124255j:plain

きたない

 

次にシリアル出力を試した

これは作業日誌1のコードをほぼそのまま流用し終わり

(SPBRGの値を変えただけ)

あと10進数の数字を桁ごとに分割して送るのはロスが大きいのでint→unsigned charに変換し送信した

 

10/25ぐらい

シリアルでの出力では満足できなかったのでI2C通信でデータを送ることにした

データシートと格闘しつつ書きあげたけどうまくいかない

藁をもつかむ思いでネット検索したところあっさりmicrochipのフォーラムが見つかりそこにあったコードをコピーしておしまい

うまくいかなかった原因はピンの設定

SSP1割り込みができなかった時点でこの辺が怪しいと気づいていたが..

TRISAbits.TRISA1=1;
TRISAbits.TRISA2=1;
RA1PPSbits.RA1PPS=0b11001;//SDA
RA2PPSbits.RA2PPS=0b11000;//SCL
SSP1DATPPSbits.SSP1DATPPS = 0x0001;
SSP1CLKPPSbits.SSP1CLKPPS = 0x0002;

下二行が抜けていたせいでうまくいっていなかった

データシートの見間違えには気をつけよう(テーテーテーッ)

 

11月の初めにようやく完成形になった