2007.7.15

  • 今日までの成果
今日までおおかた死んでたので、何か進んだ気がしないが。
コメントドウモデス。あれからTCNTについてちょっとやってみた。
delay()を使ったプログラムなのがちょっと気になる。
以下のプログラムを応用して、またはmillis()を使って色々やってみているが、うまくいかないー!! ギャー・・・



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)
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制御を使えるということかなー・・・かもしれない。

コメント

  • 要はこのタイマは4us毎にカウントアップしているって話では?
    delayMicroseconds(100);でTCNT1とTCNT2の差が常に100usあるんだとすればの話だけど
    どうにかすればこの4us毎にカウントアップするという部分も、例えば1us毎にカウントアップするというように変えられるんじゃないかなぁ?
    -- 奉行 (2007-07-16 13:19:52)
  • 毎度コメントありがとう! やってみるよー! -- ニンジャ (2007-07-16 15:50:02)
  • ・・・!? まてよ・・・。
    ああ・・・。 -- ニンジャ (2007-07-16 15:52:19)
名前:
コメント:




2007.7.10

  • 今日分からなかったこと。
TCNTのこと。
最近はclockの迷宮に入っています・・・。

ゼミ合宿の後、なぜかノートパソコンの「C」のキーが直ったので、快適。



コメント
  • タイマカウンタだね。
    マイコンに入力されているクロック信号を数えるためのものでしかないよ?
    この間のマイコンに内蔵されているタイマを使っているなら、データシート見てタイマ制御用のレジスタを操作すれば動くんじゃない? -- 奉行 (2007-07-11 08:56:27)
  • コメント・サンクス!

    タイマ制御用のレジスタ・・・。
    そろそろネを上げそうなので、ヘルプ頼むかもです。 -- ニンジャ (2007-07-14 16:13:59)

  • おうー
    むしろマイコンのデータシート見せてもらえれば解読できるとおもうよ。
    まあ、この間の感じだとその辺をコントロールする関数かなんかがライブラリとかから提供されているのかもしれないけどね。
    もしそうなら、結構楽なはずよ。 -- 奉行 (2007-07-14 23:12:14)
名前:
コメント:





today: -
yesterday: -
最終更新:2007年07月16日 15:52