■ BASCOM-AVR の使用方法 ■


 AVRマイコン用 BASICコンパイラ、「BASCOM-AVR」の、操作方法とプログラミングの解説です。

 BASCOM-AVR (DEMO) のインストール
 
   AVR用BASICコンパイラ、BASCOM-AVR 試用版のインストール方法です。
   試用版のため、コンパイル後のプログラム容量に4KByteの制限があります。

 
 
簡単なプログラムの作成から、書き込みまでの操作方法を、実例で解説します。
 

       プログラミングの流れ   (ポートに接続した、LEDを点滅させます)
 
プログラムの概略と、命令文・ラベル・変数・式・演算子の書式を解説します。
 

       プログラムの概略と書式
 
SRAM、XRAM、ERAMの、種別と用途。
  フレーム、ソフトウェア・スタック、ハードウェア・スタックの、役割について解説します。
 

       メモリーの種類と使用方法
 
入出力(I/O)ポートを、制御する方法を解説します。
 

       入出力(I/O)ポートの使用方法
 
ハードウェア タイマーの、使用方法・設定方法を解説します。   
 

       ハードウェア タイマー の使用方法
 
BASICプログラムの中に、アセンブラ命令を記述する方法を解説します。
 

       インライン・アセンブラの使用方法
 
CFカードやSD/MMCカードの、ファイルシステムを管理・制御する方法を解説します。
 

       AVR-DOS (Disk Operating System) の使用方法
 
 
命令文のリファレンス・マニュアル。          
 

指示命令 (コンパイラ)  $で始まる、コンパイラへの指示や制御に関する命令
変数の宣言・操作・変換  変数の宣言と、操作・変換に関する命令
I/O、メモリー、DATA行 関連  ポートの制御、メモリーアクセス、DATA行 関連の命令
進行制御命令  プログラムの流れを制御する命令
内蔵ハードウェア制御命令  タイマーやA/D等の、ハードウェアを制御する命令
キャラクタLCD 関連  キャラクタ(テキスト)タイプの液晶表示器を制御する命令
グラフィックLCD 関連  グラフィック・タイプの液晶表示器を制御する命令
シリアル通信 関連  シリアルポート(RS-232C)の通信を制御する命令
I2C デバイスの制御命令  I2C (TWI) デバイスを制御する命令
1-Wireデバイスの制御命令  1-Wire デバイスを制御する命令
時刻と日付に関する命令  時計機能を利用するための命令
算術関数 演算子 関連  関数や算術演算を行う命令
拡張デバイスの制御命令  赤外線リモコン 等を制御する命令
インライン・アセンブラ 関連  インライン・アセンブラを使用する際に利用する命令
AVR-DOS 関連の命令  AVR-DOSで、各種のディスクを管理・制御する命令
 

       (以降、制作中)
 
アルファベット順  アルファベット順の命令一覧 

 
別 表
レジ ファイル リスト  ($regfile命令用 「.DAT」ファイル)
エラー コード リスト  エラー番号とエラーメッセージ表


 
BASCOM-AVR 試用版(Demo Version)と、AVRチップの選択。

 ・BASCOM-AVRは、フラッシュメモリー(プログラムメモリー)が8KByte以上あるチップの場合、
  ジャンプ命令を、近くの飛び先にもかかわらず、相対ジャンプ(RJMP)ではなく、絶対番地
  ジャンプ(JMP)を使うので、プログラム容量が大きくなります。
 ・また、割り込みベクタ領域も、2倍必要になります。
 
 ・これにより、フラッシュを8KByte以上搭載のチップでは、全く同じプログラムでも、8KByte以下の
  チップより、コンパイル容量がかなり増えてしまいます。
 
 ・4KByteの使用制限内で、少しでも多くのプログラムを試したい場合は、フラッシュメモリーが
  8KByte以内のAVRチップを選択することが得策です。



 
BASCOM-AVR (製品版) のアップデート方法。

 ・BASCOM-AVR 製品版のアップデート方法は、英文のみの案内と多少複雑な操作を
  要求されますので、下記ページを参照して下さい。
 
BASCOM-AVRのバージョンアップ方法詳細 (すんさんのページ)
http://ekousaku.web.fc2.com/bascom_install.html



 
BASCOM-AVRのバグ情報。 (Version 1.11.9.9)

 ・コメントの記載、REM命令の書式。

 ・プログラム・ソースのコメント欄に、日本語を表記する場合の注意。

 ・キャラクタLCDのカーソル表示命令、CURSORの異常動作

 ・ソフトウェア I2Cの、SCLクロック速度設定(CONFIG I2CDELAY)が正常にできない。

 ・RND()命令のパラメータを2の乗数にした場合に、乱数の規則性がある。

 
● Demo Version 1.11.8.7 -> Demo Version 1.11.9.1 で修正されたバグ。


 ・SET、RESET、TOGGLE命令で、変数の代わりに配列を使用した場合の異常動作。
 
 ・ATmega8515、ATmega8535の、TIMER0プリスケール(前段分周)の設定が正常にできない。
 
 ・TIMER1のPWMモードで、カウンターの上限値に、9ビットが設定できない。

● Version 1.11.9.1 -> Version 1.11.9.5 で修正されたバグ。

 ・SET、RESET、TOGGLE命令で、ロング型の配列を使用した場合の異常動作。
 
 ・FOR-NEXT命令の、Step値が正常に動作しない。
 
 ・ATmega164P、324P、644P のTIMER2モード設定で、動作選択が正常にできない。
 
 ・ATmega48/88/168の、TIMER2 Async(外部発振素子接続)設定ができない。
  
 ・ATtiny2313の、TIMER0 比較出力 [OC0x] 選択 Compare x = oc0x で、PD6,PD5が出力になる。

● Version 1.11.9.5 -> Version 1.11.9.8 で修正されたバグ。

 ・ATmega88Pで、割り込みが動作しない。
 
 ・ATmega88Pで、時計用のConfig Clock = Soft 命令が動作しない。
 
 ・ATmega164P・ATmega644Pで、時計用のConfig Clock = Soft 命令が動作しない。
 
 ・ATtiny2313の[POWERDOWN]命令が、正常に動作しない。 POWER mode命令を使用する。
 
 ・ATmega88等のチップで、ウォッチドッグ・リセット発生時の、LCD関連命令による動作不良。

● Version 1.11.9.8 -> Version 1.11.9.9 で修正されたバグ。

 ・TIMER0とTIMER1のPWMモードで、比較出力[OC0x]ピンの出力選択が逆に設定される。
 
 ・ATtiny2313で、POWERDOWNとIDLE命令が使えない。
 
 ・ATmega88Pで、新しい「POWER mode」命令が使えない。
 
 ・グラフィックLCD用ライブラリ「glcdKS108.lib」を、ATmega128等のPortFで使用できない。
 
 ・カラーLCD用ライブラリ「LCD-EPSON.LBX」を、ATmega128等のPortFで使用できない。




   電子工作の部屋 Top へ 前のページへ戻る