アフィリエイト広告を利用しています
Ad×Ad


Ad×Adは表示されるだけで報酬がもらえます。
以下から登録すると100ptもらえます。
 → アドアド -あなたの街の無料広告サイト-
検索
最新記事

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2021年01月30日

48行目〜98行目です。

kit-scope.ino 48行目〜98行目です。グローバル変数の定義をしています。


const byte cfg_cupgain = 0; // the usage definition of the pins D7..D12
                           // 0: input  1:input(pulled-up)  2:output

word  oscversion = 0x0001;
word  oscvbg;              // band gap voltage in 10bits  0 means a failure.
word  oscconfig;           // bit0 -> if trigger voltage is 0:uncontrollable
                          //                               1:controllable
                          // bit1 -> optional-fgen is      0:not attached
                          //                               1:attached
                          // bit2 -> cupgain is            0:input
                          //                               1:output
byte  oscspeed   = 0;      // 0..3:real 4..7:equiv 8:roll
byte  oscinput   = 0;      // input signal selection  0:CH1 1:CH2 2:DUAL

byte  osctrig    = 0;      // trigger bit012-> 000:CH1 001:CH2 010:EXT
                          //                  011:built-in-pulse
                          //                  100:optional-fgen
                          //         bit4  -> 0:rising 1:falling
                          //         bit5  -> 0:auto   1:normal
word  osctdly    = 100;    // time of delayed trigger  100..30000 usec
byte  osctvolt;            // trigger level voltage (measured by adc) 0..255
byte  osctduty;            // trigger level duty  0..255

byte  osccupgain = 0;      // bit0  -> CH1 coupling        0:dc  1:ac
                          // bit1  -> CH2 coupling        0:dc  1:ac
                          // bit23 -> CH1 gain-selection  0,1,2,3
                          // bit45 -> CH2 gain-selection  0,1,2,3

long  oscofreq   = 1000;   // 31 .. 2000000Hz
byte  oscoduty   =   50;   // 0..100%

byte  fgen;                // 0..3: fgen-dipsw  255:no-fgen


#define TXBSZ 1100
#define RXBSZ  256 //  this must be 256.
#define RMBSZ  256 //  this must be 256.  for rollmode

int  txn, txr;
byte txcrc, rxn;
byte rmw, rmr, rmon;

byte txbuf[TXBSZ];
byte rxbuf[RXBSZ];

2021年01月29日

冒頭のコメント文

下記は kit_scope.ino の1〜44行目です。


// Kyutech Arduino Scope Prototype  v0.73                     Apr 10, 2019
//
//    (C) 2012-2019 M.Kurata Kyushu Institute of Technology
//
//    for Arduinos with a 5V-16MHz ATmega328.
//
//    use with "kit_scope.pde", a Proce55ing GUI sketch.
//
//    You don't need to worry about this warning message produced by the IDE.
//    "Low memory available, stability problems may occur."
//    コンパイル時、下記メッセージが表示されますが、問題ありません。
//    "スケッチが使用できるメモリが少なくなっています。動作が不安定になる可能性があります。"
//
//
//    Pin usage
//    
//    A0  trigger level voltage input    (connected to D6)
//    A1  oscilloscope probe ch1
//    A2  oscilloscope probe ch2
//    A3  oscilloscope probe ext  trigger
//    A4  reserved
//    A5  reserved
//    A6  reserved
//    A7  reserved
//    
//    D0  uart-rx
//    D1  uart-tx
//    D2  reserved
//    D3  calibration pulse wave output
//    D4  reserved
//    D5  pwm output for generating trigger level voltage
//    D6  analog comparator input (trigger level)
//    D7  reserved
//    D8  reserved
//    D9  reserved
//    D10 reserved
//    D11 reserved
//    D12 reserved
//    D13 LED output
//
//    different usage for dks2014 board.
//    A4  fgen-sync
//    D8  CH1 mode input  0..[0-10V]  1..[-5..5V]  (pull-up needed)
//    D9  CH2 mode input  0..[0-10V]  1..[-5..5V]  (pull-up needed)



15行目以降の pin usage は当然ながら、UNO のピン名称となります。UNO のピン名称と MCU の ATmage328 のピン名称の対応関係は、
https://wiki.onakasuita.org/pukiwiki/?Arduino/%E3%83%94%E3%83%B3%E9%85%8D%E7%BD%AE
上記URLにあります。


タグ:kit-scope Arduino

2021年01月28日

Arduino UNO と ATmega328Pのピン配の対応関係、及びUNOピンの説明

kit-scopeのスケッチ内のソースコードを読むためには、Arduino UNO のピン配とATmega328(又は168)のピン配の対応関係を知る必要があります。

https://wiki.onakasuita.org/pukiwiki/?Arduino/%E3%83%94%E3%83%B3%E9%85%8D%E7%BD%AE

上記の説明がわかりやすのではないかと。ご参考までに。
また、UNOピンの説明もあらかじめ見ておくと参考になります。下記がわかりやすいと思いました。

https://dryossy.com/arduino/arduino-pin/

こちらもご参考までに。次はいよいよスケッチの解析か?
タグ:kit-scope Arduino

2021年01月26日

ATmega328/328Pのデータシート

Arduino UNOには、ATmega328が使用されている。kit-scopeのソースコードを解析するにはATmega328用のデータシートが無いよりはあった方がいいかも。ということで探しました。

http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf

英文です。下記に日本語のデータシートもあります。両方比較するといいですね。

https://avr.jp/user/DS/PDF/mega328P.pdf
タグ:kit-scope Arduino

デジタルオシロスコープって?

そもそもデジタルオシロスコープとはどういう仕組みなんでしょう。わかりやすい説明を見つけました。

https://www.iti.iwatsu.co.jp/ja/support/05_14.html

上記にはデジタルオシロスコープの原理図とリアルタイムサンプリング、等価時間サンプリング、プリトリガ、ロールモードの説明があります。参考になりますね。詳しく説明されても理解できるだけの能力が無いので、これくらいで丁度いいのかと思っております。実際、この程度の理解でいいんだか。。。
タグ:kit-scope Arduino

2021年01月25日

Arduino について

ソフトウエア開発環境のArduinoと、ハードウエアとしてのMCU基板名がArduino-XXXとなっていて、ちょっとわかりにくい(どうしようもないですけど)。
ソフトウエア開発環境のArduinoの特徴は、https://tajimarobotics.com/arduino-sketch-basic-structure/
にあります。プログラミング言語はC++です。

ソフトウエア開発環境のArduinoで作成したソフトウエアはスケッチと呼ばれる。スケッチをハードウエアとしてのMCU基板のArduino-XXX(XXXはUnoとかいろいろ)に書き込むと下記の順でソフトウエアを実行する。

1.setup()は実行時に1回だけ読まれる。変数の初期設定をするところである。

2.loop()は中身に記述した内容を無限ループで実行する。自分のさせたいことを記述するところ。

基本はそうなのですが、理解するのは実際、難しいですよねえ?
タグ:Arduino kit-scope

2021年01月21日

Arduino IDE を勉強し直す

しばらくぶりにArduino IDE を勉強し直すことにします。ハードウエアも散逸してしまったので集め直しです。
Arduino IDE を、九州工業大学の kit_scope のソースコードを追いながら勉強してみようと思っています。初心者にはかなりハードルが高いので、どこまで理解できるのか? 少しずつ進めていこうかなと。。。
×

この広告は30日以上新しい記事の更新がないブログに表示されております。