| TOP | ホーム | ページ一覧 |

No.14664 への▼返信フォームです。
 
光センサー 周波数+回転計 にアナログ入力
   投稿者: エコニカ    
2020/11/13(金) 22:02
No. 14664 引用
 
  はじめまして 

やっとAVRトレーニングボードをつくって、サンプルプログラムを
入れていじっている初心者です。

サンプルプログラムの”光センサー 周波数+回転計 プログラム”をいじって
上の段を温度表示にしようと思いまして Getadc命令を使ってみたのですが
なぜかGetadc命令を使うとエラーがでてしまいます。

このサンプルプログラムの中ではGetadc命令は使えないものなのでしょうか?

 
Re:光センサー 周波数+回転計 にアナログ入力  引用
  投稿者: O-Family    ..2020/11/13(金) 22:22  No.14665
  エコニカさん、ようこそ。

どのようなエラーが出ていますか?
エラーパネルの部分でマウスを右クリックすると、内容がコピーできます。

このプログラムはフラッシュを4Kbyte近く使っているので、BASCOM試用版では追加する内容量で、[エラー999]が出る可能性があります。
Re:光センサー 周波数+回転計 にアナログ入力  引用
  投稿者: エコニカ    ..2020/11/14(土) 00:51  No.14666
  よろしくお願いします。

エラーは
Error : 362 Line : -1301 SBIC or SBIS was used followed by IN, OUT, SBIC, SBIS, SBI or CBI that also need to be converted. [Sbi ADCSR,6] , in File : C:\PROGRAM FILES (X86)\MCS ELECTRONICS\BASCOM-AVR\LIB\MCS.LBX
Error : 362 Line : -1301 SBIC or SBIS was used followed by IN, OUT, SBIC, SBIS, SBI or CBI that also need to be converted. [Sbic ADCSR,6] , in File : C:\PROGRAM FILES (X86)\MCS ELECTRONICS\BASCOM-AVR\LIB\MCS.LBX
Error : 362 Line : -1301 SBIC or SBIS was used followed by IN, OUT, SBIC, SBIS, SBI or CBI that also need to be converted. [Sbi ADCSR,6] , in File : C:\PROGRAM FILES (X86)\MCS ELECTRONICS\BASCOM-AVR\LIB\MCS.LBX
Error : 362 Line : -1301 SBIC or SBIS was used followed by IN, OUT, SBIC, SBIS, SBI or CBI that also need to be converted. [Sbic ADCSR,6] , in File : C:\PROGRAM FILES (X86)\MCS ELECTRONICS\BASCOM-AVR\LIB\MCS.LBX
Error : 362 Line : -1301 SBIC or SBIS was used followed by IN, OUT, SBIC, SBIS, SBI or CBI that also need to be converted. [In r24,ADCL] , in File : C:\PROGRAM FILES (X86)\MCS ELECTRONICS\BASCOM-AVR\LIB\MCS.LBX
Error : 362 Line : -1301 SBIC or SBIS was used followed by IN, OUT, SBIC, SBIS, SBI or CBI that also need to be converted. [In r25,ADCH] , in File : C:\PROGRAM FILES (X86)\MCS ELECTRONICS\BASCOM-AVR\LIB\MCS.LBX

というのが表示されてます。
何が悪いんでしょうか?
Re:光センサー 周波数+回転計 にアナログ入力  引用
  投稿者: O-Family    ..2020/11/14(土) 08:17  No.14667
  内部のエラーですね。
最後に「$notransform Off」行を追加しておきました。
新しいバージョンで試して下さい!
ATBRevCoun102.bas
Re:光センサー 周波数+回転計 にアナログ入力  引用
  投稿者: エコニカ    ..2020/11/14(土) 10:02  No.14668
  .jpg / 48.8KB

流石です。うまくいきました!
ありがとうございました。
今後ともよろしくお願いします m(__)m
Re:光センサー 周波数+回転計 にアナログ入力  引用
  投稿者: おじじ    ..2020/11/17(火) 09:58  No.14669
  横入りですが、$notransform Off これはどのようなときに使うのですか
リファレンスにも説明がないもので よろしくお願いいたします。
Re:光センサー 周波数+回転計 にアナログ入力  引用
  投稿者: O-Family    ..2020/11/17(火) 15:44  No.14670
  これは説明が難しくなりますが、BASICプログラムにアセンブラを組み込むときに、MegaチップなどのI/Oアドレスが拡張されたチップで[IN]や[OUT]命令などを使うとアドレスを指定しきれなくなりコンパイルエラーになります。
そこで、BASCOMが[IN]や[OUT]命令などをR23やR0レジスターを使った[LDS]や[STS] 命令に自動的に置き換えてくれる機能があります。
ところが、ユーザーのプログラム中でR23やR0レジスターを使っていると、自動的に置き換えた事によって意図せずにレジスターの内容が変わってしまうことがあるんです。
その自動的に置き換える処理をやめさせるのが、「$notransform On」命令です。

今回の質問のエラーは、私のプログラムの最後にアセンブラが組み込こんであるので、アセンブラの前に「$notransform On」にしてありましたが、プログラムを追加したことによってアセンブラの後に追加したプログラムが置かれたようで、[IN, OUT, SBIC, SBIS, SBI, CBI]が使えないよと言うコンパイル・エラーが出たんです。
なので、アセンブラ命令の最後に「$notransform Off」を追加したんです。

BASCOMの日本語マニュアルも色々追加しなければならないのですが、コロナ禍で仕事がなくなった後、8月ころから副業の回路設計やプログラム制作が忙しくなって、電子工作も全くできていない状況なんです・・・
Re:光センサー 周波数+回転計 にアナログ入力  引用
  投稿者: おじじ    ..2020/11/19(木) 13:31  No.14671
  ありがとうございます。初心者にはチンプンカンプン 難しいです。



名前
Mail   URL
文字色
タイトル   簡単タグ入力
添付   >>お絵かき
フォームに保存  プレビュー      削除キー