ロボットとか
ロボットとかのブログ
						昨日は、久しぶりにSH7045をひっぱり出してきた。
目的はロボットのラジコン化。
前に作りかけたやつもあったのでさほどの苦労なしにとりあえずはできた。
でも、例によって欠陥品。
よってバグ取りがスタートするわけだが、どうにも制御がうまくいかない。
キー入力しているうちに挙動がおかしくなり、しまいには受け付けなくなる。
SH7125と類似といえば類似の症状。
原因としては、通信が追い付かない+キー入力を待っていてモーターへの指令がいかないを予想。
そこでキーの読み取りを割込で発生させることした。
ここでメモ。
割り込みを発生させるにはコンペアマッチタイマを使えばいいわけだが、CMT0はすでに時間計測で使ってしまっているため使えない。
7045の仕様書によるとコンペアマッチタイマは2chあるようだ。
しかし、7045の標準ヘッダーファイルでは、コンペアマッチタイマはCMT0の一つしかない。
ならCMT1を作ってみるかと、CMT0をコピーして0を1に変えてみたところ、コンパイルは問題なく通過。
そしてLEDの割り込み制御が成功した。
ただ、これでもうまくいかず。
LEDで動作確認してみたところ、キー入力を待っていて動かなくなるのが原因らしい。
そこで昔のプログラムをあさっていたところ、main文中でキー入力を行って、モーターへの指令を割り込みで発生させているものがあった。
これならキー入力を待たずにモーターに指令が行くからうまく動くようになるはず。
あとは明日の実験を待つばかり。
																								目的はロボットのラジコン化。
前に作りかけたやつもあったのでさほどの苦労なしにとりあえずはできた。
でも、例によって欠陥品。
よってバグ取りがスタートするわけだが、どうにも制御がうまくいかない。
キー入力しているうちに挙動がおかしくなり、しまいには受け付けなくなる。
SH7125と類似といえば類似の症状。
原因としては、通信が追い付かない+キー入力を待っていてモーターへの指令がいかないを予想。
そこでキーの読み取りを割込で発生させることした。
ここでメモ。
割り込みを発生させるにはコンペアマッチタイマを使えばいいわけだが、CMT0はすでに時間計測で使ってしまっているため使えない。
7045の仕様書によるとコンペアマッチタイマは2chあるようだ。
しかし、7045の標準ヘッダーファイルでは、コンペアマッチタイマはCMT0の一つしかない。
ならCMT1を作ってみるかと、CMT0をコピーして0を1に変えてみたところ、コンパイルは問題なく通過。
そしてLEDの割り込み制御が成功した。
ただ、これでもうまくいかず。
LEDで動作確認してみたところ、キー入力を待っていて動かなくなるのが原因らしい。
そこで昔のプログラムをあさっていたところ、main文中でキー入力を行って、モーターへの指令を割り込みで発生させているものがあった。
これならキー入力を待たずにモーターに指令が行くからうまく動くようになるはず。
あとは明日の実験を待つばかり。
PR
					この記事にコメントする
				この記事へのトラックバック
				
					この記事にトラックバックする:
				
							
					プロフィール
				
				| 名前:H238/ながつき | 
| このブログについて: | 
| ロボットについての勉強などを中心に勝手に書いていきます.あくまで本人のメモなので期待しないように. ちなみにブログデザインは趣味.  | 
					ブログ内検索
				
				[活動101] [活動102] [活動103]
[SH2] [マイコン]
[電子回路]
[プログラム] [VS] [OpenCV]
[知能ロボ]
[プレゼン] [CAD]
					カレンダー
				
				| 10 | 2025/11 | 12 | 
| S | M | T | W | T | F | S | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
					カテゴリー
				
				
					最新CM
				
				[11/13 SLT-A65]
[12/01 siawase]
[05/01 H238]
[05/01 H238]
[05/01 ねこう]
				
					アーカイブ
				
				
	