「ホタログ3」の編集履歴(バックアップ)一覧はこちら
「ホタログ3」(2007/07/16 (月) 15:52:19) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
**2007.7.15
-&bold(){今日までの成果}
今日までおおかた死んでたので、何か進んだ気がしないが。
コメントドウモデス。あれからTCNTについてちょっとやってみた。
delay()を使ったプログラムなのがちょっと気になる。
以下のプログラムを応用して、またはmillis()を使って色々やってみているが、うまくいかないー!! ギャー・・・
-Arduino Forum で見つけた、TCNTを使った(を確認する?)プログラム
-[[http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1180984367/11>http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1180984367/11]]
#highlight(c){{
int ledPin = 13;
int t1,t2,diff;
void setup() {
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH);
Serial.begin(9600);
}
void loop() {
t1 = TCNT0;
delayMicroseconds(100);
t2 = TCNT0;
Serial.print("TCNT 1: ");
Serial.println(t1,DEC);
// print the value to the serial port
Serial.print("TCNT 2: ");
Serial.println(t2,DEC);
// print the value to the serial port
diff = t2 - t1;
Serial.print("Diff: ");
Serial.println(diff,DEC);
// print the value to the serial port
delay(900);
// stop the program for some time
}
}}
-これの結果(Serial Monitor)
#highlight(c){
TCNT 1: 24
TCNT 2: 49
Diff: 25
TCNT 1: 16
TCNT 2: 41
Diff: 25
TCNT 1: 13
TCNT 2: 38
Diff: 25
TCNT 1: 21
TCNT 2: 46
Diff: 25
TCNT 1: 21
TCNT 2: 46
Diff: 25
TCNT 1: 21
TCNT 2: 46
Diff: 25
TCNT 1: 14
TCNT 2: 39
Diff: 25
TCNT 1: 15
TCNT 2: 40
Diff: 25
TCNT 1: 16
TCNT 2: 41
Diff: 25
TCNT 1: 15
TCNT 2: 40
Diff: 25
TCNT 1: 15
TCNT 2: 40
Diff: 25
TCNT 1: 16
TCNT 2: 41
Diff: 25
TCNT 1: 19
TCNT 2: 44
Diff: 25
TCNT 1: 15
TCNT 2: 40
Diff: 25
TCNT 1: 13
TCNT 2: 38
Diff: 25
TCNT 1: 16
TCNT 2: 41
Diff: 25
TCNT 1: 22
TCNT 2: 47
Diff: 25
TCNT 1: 17
TCNT 2: 42
Diff: 25
TCNT 1: 18
TCNT 2: 43
Diff: 25
TCNT 1: 13
TCNT 2: 38
Diff: 25
TCNT 1: 18
TCNT 2: 43
Diff: 25
TCNT 1: 22
TCNT 2: 47
Diff: 25
TCNT 1: 13
TCNT 2: 38
Diff: 25
TCNT 1: 17
TCNT 2: 42
Diff: 25
TCNT 1: 13
TCNT 2: 38
Diff: 25
TCNT 1: 15
TCNT 2: 40
Diff: 25
:
:
}
-プログラムの中でTCNT_1とTCNT_2が異なっている。でも、Diff:が一定だということは、それを使って何かすれば、clock制御を使えるということかなー・・・かもしれない。
>&bold(){コメント}
- &br()要はこのタイマは4us毎にカウントアップしているって話では?&br()delayMicroseconds(100);でTCNT1とTCNT2の差が常に100usあるんだとすればの話だけど&br()どうにかすればこの4us毎にカウントアップするという部分も、例えば1us毎にカウントアップするというように変えられるんじゃないかなぁ?&br() -- 奉行 (2007-07-16 13:19:52)
- 毎度コメントありがとう! やってみるよー! -- ニンジャ (2007-07-16 15:50:02)
#comment(vsize=2,nsize=20,size=40)
----
**2007.7.10
-&bold(){今日分からなかったこと。}
TCNTのこと。
最近はclockの迷宮に入っています・・・。
ゼミ合宿の後、なぜかノートパソコンの「C」のキーが直ったので、快適。
>&bold(){コメント}
- タイマカウンタだね。&br()マイコンに入力されているクロック信号を数えるためのものでしかないよ?&br()この間のマイコンに内蔵されているタイマを使っているなら、データシート見てタイマ制御用のレジスタを操作すれば動くんじゃない? -- 奉行 (2007-07-11 08:56:27)
- コメント・サンクス!&br()&br()タイマ制御用のレジスタ・・・。&br()そろそろネを上げそうなので、ヘルプ頼むかもです。 -- ニンジャ (2007-07-14 16:13:59)
- &br()おうー&br()むしろマイコンのデータシート見せてもらえれば解読できるとおもうよ。&br()まあ、この間の感じだとその辺をコントロールする関数かなんかがライブラリとかから提供されているのかもしれないけどね。&br()もしそうなら、結構楽なはずよ。 -- 奉行 (2007-07-14 23:12:14)
#comment(vsize=2,nsize=20,size=40)
----
----
today: &counter(today)
yesterday: &counter(yesterday)
**2007.7.15
-&bold(){今日までの成果}
今日までおおかた死んでたので、何か進んだ気がしないが。
コメントドウモデス。あれからTCNTについてちょっとやってみた。
delay()を使ったプログラムなのがちょっと気になる。
以下のプログラムを応用して、またはmillis()を使って色々やってみているが、うまくいかないー!! ギャー・・・
-Arduino Forum で見つけた、TCNTを使った(を確認する?)プログラム
-[[http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1180984367/11>http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1180984367/11]]
#highlight(c){{
int ledPin = 13;
int t1,t2,diff;
void setup() {
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH);
Serial.begin(9600);
}
void loop() {
t1 = TCNT0;
delayMicroseconds(100);
t2 = TCNT0;
Serial.print("TCNT 1: ");
Serial.println(t1,DEC);
// print the value to the serial port
Serial.print("TCNT 2: ");
Serial.println(t2,DEC);
// print the value to the serial port
diff = t2 - t1;
Serial.print("Diff: ");
Serial.println(diff,DEC);
// print the value to the serial port
delay(900);
// stop the program for some time
}
}}
-これの結果(Serial Monitor)
#highlight(c){
TCNT 1: 24
TCNT 2: 49
Diff: 25
TCNT 1: 16
TCNT 2: 41
Diff: 25
TCNT 1: 13
TCNT 2: 38
Diff: 25
TCNT 1: 21
TCNT 2: 46
Diff: 25
TCNT 1: 21
TCNT 2: 46
Diff: 25
TCNT 1: 21
TCNT 2: 46
Diff: 25
TCNT 1: 14
TCNT 2: 39
Diff: 25
TCNT 1: 15
TCNT 2: 40
Diff: 25
TCNT 1: 16
TCNT 2: 41
Diff: 25
TCNT 1: 15
TCNT 2: 40
Diff: 25
TCNT 1: 15
TCNT 2: 40
Diff: 25
TCNT 1: 16
TCNT 2: 41
Diff: 25
TCNT 1: 19
TCNT 2: 44
Diff: 25
TCNT 1: 15
TCNT 2: 40
Diff: 25
TCNT 1: 13
TCNT 2: 38
Diff: 25
TCNT 1: 16
TCNT 2: 41
Diff: 25
TCNT 1: 22
TCNT 2: 47
Diff: 25
TCNT 1: 17
TCNT 2: 42
Diff: 25
TCNT 1: 18
TCNT 2: 43
Diff: 25
TCNT 1: 13
TCNT 2: 38
Diff: 25
TCNT 1: 18
TCNT 2: 43
Diff: 25
TCNT 1: 22
TCNT 2: 47
Diff: 25
TCNT 1: 13
TCNT 2: 38
Diff: 25
TCNT 1: 17
TCNT 2: 42
Diff: 25
TCNT 1: 13
TCNT 2: 38
Diff: 25
TCNT 1: 15
TCNT 2: 40
Diff: 25
:
:
}
-プログラムの中でTCNT_1とTCNT_2が異なっている。でも、Diff:が一定だということは、それを使って何かすれば、clock制御を使えるということかなー・・・かもしれない。
>&bold(){コメント}
- &br()要はこのタイマは4us毎にカウントアップしているって話では?&br()delayMicroseconds(100);でTCNT1とTCNT2の差が常に100usあるんだとすればの話だけど&br()どうにかすればこの4us毎にカウントアップするという部分も、例えば1us毎にカウントアップするというように変えられるんじゃないかなぁ?&br() -- 奉行 (2007-07-16 13:19:52)
- 毎度コメントありがとう! やってみるよー! -- ニンジャ (2007-07-16 15:50:02)
- ・・・!? まてよ・・・。&br()ああ・・・。 -- ニンジャ (2007-07-16 15:52:19)
#comment(vsize=2,nsize=20,size=40)
----
**2007.7.10
-&bold(){今日分からなかったこと。}
TCNTのこと。
最近はclockの迷宮に入っています・・・。
ゼミ合宿の後、なぜかノートパソコンの「C」のキーが直ったので、快適。
>&bold(){コメント}
- タイマカウンタだね。&br()マイコンに入力されているクロック信号を数えるためのものでしかないよ?&br()この間のマイコンに内蔵されているタイマを使っているなら、データシート見てタイマ制御用のレジスタを操作すれば動くんじゃない? -- 奉行 (2007-07-11 08:56:27)
- コメント・サンクス!&br()&br()タイマ制御用のレジスタ・・・。&br()そろそろネを上げそうなので、ヘルプ頼むかもです。 -- ニンジャ (2007-07-14 16:13:59)
- &br()おうー&br()むしろマイコンのデータシート見せてもらえれば解読できるとおもうよ。&br()まあ、この間の感じだとその辺をコントロールする関数かなんかがライブラリとかから提供されているのかもしれないけどね。&br()もしそうなら、結構楽なはずよ。 -- 奉行 (2007-07-14 23:12:14)
#comment(vsize=2,nsize=20,size=40)
----
----
today: &counter(today)
yesterday: &counter(yesterday)