ニックネーム: 居酒屋ガレージ店主
★ZAQのBlogari停止のため、あれこれ「データ吸い出し」対策しています。 新規記事はとりあえず停止。 コメント書き込みはまだ有効です。 (JH3DBO 下間憲行)
2012年12月15日(土)
Arduinoなんだかなぁ〜
アップロードがうまくいきません。
ブートローダは動いている(TXD、RXDにパルスは出ている)んですが、
なにやら途中であきらめてしまっているふうです。
LEDチカチカまでいたりません。



LED(黄色)が1秒周期点滅でブートローダー起動でしょ。
Lチカのプログラムをアップしようとしたんですが、上のエラーが出現。
何度かトライしてエラーなく「書き込みました」っと出たこともあった
んですが、LEDの点滅周期が、プログラムで指定した時間に変わらず、
1秒周期のまま。
いったいなに?

※PCを変えたらすっと行ったわぁ。
なんじゃいな?

USBドライバをいったん削除して再インストしても×。
古い(使い込んでる)PCだと×みたい…
シリアルの送受にデータは出ているんですが、PC・マイコン間のやりとりに
失敗かな。
成功するPCだと、ずこ〜っと書き込みデータが流れる(ハンドシェークしながら)
のが見えますが、×のPCはポツ・ポツとしたやりとりになってます。

※なぜISP書き込みで使わないの?
あえてブートローダーを使うわけは?
Arduino・AVRマイコンの場合、ブートローダがデバッグ機能を持つわけじゃ
なく、単にプログラムのロードだけ。
だとすれば、ISPでもいいんじゃないのかなぁ〜。
PICと違って比較的簡単なハードで可能だし。

あっ、そうか。
シリアル入出力がデバッグ機能という位置付けね。
それとSCLK、MISO、MOSIの3線がISPに占有されるのを気にしなくて
いいし。



2012年12月15日 17時57分 | 記事へ | コメント(2) | トラックバック(0) |
| ・電子回路工作 |
トラックバックURL:http://blog.zaq.ne.jp/igarage/trackback/3198/
※ブログ管理者が承認するまで表示されません
Arduinoですが、使用したいデバイスのライブラリを誰かが作成してくれていてすぐに使えるのなら得策だと思います。そうでなければ普通にAVRやPICの周辺を自分で設計する人には制約が多くて使いにくいだけです。

Uno R3ではなくDiecimilaであればシリアルデバイスがFT232になっているので、そのハードウェアを作成したArduino準拠のベースで進めた方が早いのでは?と、思ったりもします。
オープンソースハードウェアですので回路図も公開されていますのでどうしてもUno R3が必須条件でなくArduino環境がつかえればと言う事であれば、R3ではなくDiecimila互換ハードウェアでFT232を使うのも手ですよ。
2012年12月19日(水) 11:39 by 居酒屋ガレージ店主(JH3DBO)
その後もあれこれArduinoを触ってます。
で、「digitalWrite()」が遅い。
Hレベルのパルスを出して下げるだけで4usほどかかってます。

そこで、↓ これ。
#include <compat/deprecated.h>
こんな記述が可能になり、
  sbi(PORTB,PORTB5); // 高速パルス出力
  cbi(PORTB,PORTB5);
アセンブラの
  __asm__ ("sbi 0x05, 5");
  __asm__ ("cbi 0x05, 5");
と、同じコード(最高速)をひねり出してくれます。
これで、125nsのパルスとなります。
コメントを記入  
お名前(必須)
 
パスワード:
 
メール:
 
URL:
 
非公開:  クッキーに保存: 
※非公開にチェックを入れると、管理者のみにコメントが届きます。
ブログの画面には表示されません。
captcha


※画像に表示されている文字を入力してください(半角・大文字/小文字の区別なし)。
文字が読みづらい場合はこちらをクリックしてください。
小文字 太字 斜体 下線 取り消し線 左寄せ 中央揃え 右寄せ テキストカラー リンク