[][mobile][Homepage][BBS][Blog][YouTube][asablo]

過去の記事の検索が簡単にできるよ (・∀・) 例 ランチャー9
カスタム検索

PIC16F1939からPIC16F1827にマイグレーション2013/02/17 23:55:56



とある案件で開発中。納品物件はプログラムと回路図なので、ブレッドボードで開発していた。
キャラクターLCDやスイッチなどを付けることを見越して40ピンタイプのPIC16F1939を使用していたが、仕様がある程度決まって、周辺もI2Cとシリアル通信、数個のLED表示になったので、ピン数の少ないPICマイコンにマイグレーション(migration:移植)することにした。



移植先はPIC16F1827。PIC16F1939ではSSPがひとつだったのに対してこれはI2CやSPIのエンジンであるSSPグループが2つある。というわけで、ソースを少し変更することになる。
SSPxxxというレジスター名を全部SSP1xxxに置換してしまう。SSP2はUARTのピンと排他的に使うことになるので、今回は使用しなかった。

またUARTピンと重複しているのでRXDTSEL =1、TXCKSEL =1にに設定。これで、
 RB1→SDA
 RB4→SCL
 RB2→RXD
 RB5→TXD
と使えるようになった。これらの特別機能ピンを使う時は入力に切り替える。TXDだから出力と勘違いして動かなかったりした事があった。UARTやI2C設定に切り替えると自動的にポートがその機能にあった入出力に設定される。


16F1827に移植中

PORTもAとBだけになるので、それ以外の要らないポートは削除。数回エラーを取り除いたら、さほど苦労もせずにマイグレーション完了。けっこうあっさり終わるものだ。



I2Cの動作も問題なく動いている。



一日かけて、納品に耐えうるプログラムと手作り基板を作り上げたので、今まで使ったブレッドボードはこれにて役目を終える。



数十分かけて組み上げたブレッドボードは数分で分解。それと引き換えに回路図とプログラムが出来上がる。10年以上前はブレッドボードの使用に否定的だったが、今ならブレッドボード+PIC+PICkit3+USBシリアルでの構成が一番デバッグが楽でよく行う開発手法となった。資源の有効活用できるし、時間もさほど掛からない。

PICマイコンは、このPICを初めとした次世代14ビットPICであるF1000番を好んで使うようになった。書き込み速度は速いし、PICkit3でインラインでバッグができる。

PIC16F1827でも4Kワードも使えるので、#include <stdio.h>を組み込んで、

void putch(unsigned char c){
sci_PutByte(c);
}

と定義すれば、
printf("DATA=r:%5u ",sensordata[i]);

とか簡単に0~65535をUARTに出力できて便利。printfデバッグ+PICkit3によるトレースデバッグが低コストで開発期間が早い。PICに書いては動作させて、UARTからレジスタ内容を送り出す様にプログラムを書いて、デバッグを繰り返す開発だった数年前を考えると、個人宅環境で素晴らしいデバッグ環境が安価に揃うようになったものだ。






Google
www Blog HP BBS


air_variableサイトをまとめて検索 
カスタム検索
[][admin][mobile][Homepage][BBS][Blog][YouTube][asablo]