« AVRのためのPIC再入門 | トップページ | PCサーポート係 »

2006年7月21日 (金)

AVRのためのPIC再入門

PICでAVRライタを作る4

なんとか、AVRStudioから認識させる事ができたので、
各種命令に対する実行部をゴリゴリと書く。

一般命令に対する処理を書き上げ、ISPプログラミング命令の動作
を書き始めたところ、ISPプログミング動作移行命令の処理で
ハマる。PCから該当命令を送信するプログラムを書いて、テストする
ときちんと動作する様に見えるのだが、AVRStudioから操作すると
なぜかフェイルするというバグに悩まされる。

答えはディレイルーチンのバグにあった。
ISPプログラミング動作移行命令には多くの引数があるのだが、
この中にbyteDelayという、SPIで送受信する各バイトデータ間の
時間的間隔を定義する引数がある。テストプログラムでは適当に
5msを与えていたのだが、AVRStudioからの呼び出しでは、この
値が0msになっていた。

実際に実装したディレイルーチンでは、桁を間違えていただけで
無く、入力値が0の場合256値として働いていた。つまり1バイトを
送受信した後、0ミリ秒待機する事を期待されていたのに、2.56秒も
待機していたのでタイムアウトを喰らっていたようだ。

早速、この部分を修正して無事動作を確認。
ついで、ヒューズ/ロックビットの読み書き、識票/発振校正値の読み
出し部分を書く。

ヒューズ/ロックビットを操作出来るようになった。

Picavr2

 

 

 

 

 

 

 

 
ブレッドボード上で健気にAVRISPのフリをする12F683と、
ターゲットのTiny26

|

« AVRのためのPIC再入門 | トップページ | PCサーポート係 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/180469/11048318

この記事へのトラックバック一覧です: AVRのためのPIC再入門 :

« AVRのためのPIC再入門 | トップページ | PCサーポート係 »