jl7gmnのblog

yahooブログから移行してきました。アマチュア無線を中心としたブログです。

2013年07月

PICその29

いままで使用していたブラウザが調子悪くなり、WEBページ表示で落ちるようになってしまった。Google Chromeのブラウザでは、結構エラーが報告されているようだ。何度かアンインストールと再インストールを行ってみたが、相変わらずWEBページ表示(Yahoo japan)で落ちてしまう。結局WEBで対策をチェックしてみたが、どれも改善ならなかった。PCのセキュリティの影響もあるように書いているものもあったが、エラーがでるまでトラブル等は無かったので思い切ってブラウザを変更することにしました。現在はFirefoxでトラブルなしで動いています。もう少し使ってみてみようかという状態です。なので、PICは少し休憩!PCのセッティングも見直し中です。
イメージ 1

PICその28

MPLAB X IDEとXC8コンパイラーがバージョンアップしていたので、早速ダウンロードしアップディト・インストールした。(2013年6月26日(水)にアップディトされたようです。)

ちなみにそれぞれのバージョンは 以下の通りです。
MPLAB X IDE v1.85
XC 8 C Compiler V1.20

イメージ 1
MPLAB X IDE Release NotesはXC8の対応チップが全てわかるので便利!是非ともダウンロード
イメージ 2

早速、タイマー確認プログラムPIC12F683 で、XC8のアップディト後のコンパイルチェックを行いました。
イメージ 3
-------------------------------------------------------------------------------------------
Microchip MPLAB XC8 C Compiler V1.20
Copyright (C) 2013 Microchip Technology Inc.
License type: Node Configuration

:: warning: Omniscient Code Generation not available in Free mode

Memory Summary:
    Program space        used    47h (    71) of   800h words   (  3.5%)
    Data space           used     9h (     9) of    80h bytes   (  7.0%)
    EEPROM space         used     0h (     0) of   100h bytes   (  0.0%)
    Configuration bits   used     1h (     1) of     1h word    (100.0%)
    ID Location space    used     0h (     0) of     4h bytes   (  0.0%)


Running this compiler in PRO mode, with Omniscient Code Generation enabled,
produces code which is typically 40% smaller than in Free mode.
See http://microchip.com for more information.

make[2]: Leaving directory `C:/MPLAB_Project/PIC12F683_LESSON1-001.X'
make[1]: Leaving directory `C:/MPLAB_Project/PIC12F683_LESSON1-001.X'

BUILD SUCCESSFUL (total time: 10s)
Loading code from C:/MPLAB_Project/PIC12F683_LESSON1-001.X/dist/default/production/PIC12F683_LESSON1-001.X.production.hex...
Loading symbols from C:/MPLAB_Project/PIC12F683_LESSON1-001.X/dist/default/production/PIC12F683_LESSON1-001.X.production.elf...
Loading completed
-------------------------------------------------------------------------------------------
ちなみに前のバージョン1.12との比較もして見ました。以下の通りです。

Microchip MPLAB XC8 C Compiler V1.12
Copyright (C) 2012 Microchip Technology Inc.
License type: Node Configuration

:: warning: Omniscient Code Generation not available in Free mode

Memory Summary:
    Program space        used    53h (    83) of   800h words   (  4.1%)
    Data space           used     9h (     9) of    80h bytes   (  7.0%)
    EEPROM space         used     0h (     0) of   100h bytes   (  0.0%)
    Configuration bits   used     1h (     1) of     1h word    (100.0%)
    ID Location space    used     0h (     0) of     4h bytes   (  0.0%)


Running this compiler in PRO mode, with Omniscient Code Generation enabled,
produces code which is typically 40% smaller than in Free mode.
See http://microchip.com for more information.

make[2]: Leaving directory `C:/MPLAB_Project/PIC12F683_LESSON1-001.X'
make[1]: Leaving directory `C:/MPLAB_Project/PIC12F683_LESSON1-001.X'

BUILD SUCCESSFUL (total time: 14s)
Loading code from C:/MPLAB_Project/PIC12F683_LESSON1-001.X/dist/default/production/PIC12F683_LESSON1-001.X.production.hex...
Loading symbols from C:/MPLAB_Project/PIC12F683_LESSON1-001.X/dist/default/production/PIC12F683_LESSON1-001.X.production.cof...
Loading completed
-------------------------------------------------------------------------------------------
XC8 のバージョンアップするとProgram space が4.1%から3.5%に少なくなっています。最適化が少しされているのでしょうか?とにかくこんな短い簡単なプログラムでも少ないメモリで構成できれば、それに越したことは無いですね!アップディト・バージョンアップすべし!です。プログラムを考えて減らすより楽で良いです。ほんとに簡単なのは、有償バージョンにすればいい話なんですが......

とここまで順調に見えますが、実際はインストールは2回しています。1回目はオプションの設定でコンパイラをスキャンして新しいバージョンを選択した後にコンパイルがうまくいかない状態でした。プログラムデータフォルダのパスの設定がおかしくなったようでした。なので一旦削除して2回目のインストールを行って無事コンパイルOKとなっています。よくよく考えてみると、最初のアップディトの時に前のバージョンのMPLAB X IDEを削除しないでインストールしたのが、失敗の原因だったようです。2回目のインストール時には、なぜか最初のインストール時に出なかった前のバージョンを削除しろうんぬんとメッセージが出ました。
以上従来のMPLAB&コンパイル環境が変わらず設定完了というところです。

PICその27

前回のPIC12F683のTIMER0の確認で使用した回路とブレッドボード配線その他を忘備録用として記す。

確認で使用したPIC12F683と組んだ小型のブレッドボード
イメージ 1

ロジアナ接続の全体像
イメージ 3

TMR0がmainで設定されないときの出力ポートのタイミング約1.6sec
イメージ 2

TMR0を割り込みルーチン内で設定したOK時のタイミング理論計算値通り1.0sec
イメージ 4

確認で使用したPIC12F683の回路図
(確認は簡単な回路ほど良いと思う)
イメージ 5

TIMER0の使い方がほぼ前回の確認サンプルでわかった。また今回は手順はわかっても実際のプログラミング手法ではうまくいかないケースがありうることも!。サンプルプログラムはmikroCだったが、XC8ではそのままではうまくいかなかったようです。TMR0の設定値がmainルーチンで設定しているサンプルをもう少し見てみようと思う。またまだまだいろいろとタイマーの種類があるので、順次確認してみようか?!

アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード
  • ライブドアブログ