Yahoo!ジオシティーズ ゲストブック 戻る  

   2008/9/15 (Mon) 11:09:32
[名前] :   kuman
[URL] :   
[コメント] :   AVRminiProg ISP版

AVRminiProgは AVR studio で使えるので関心を持たれますが、
現在のファーム AVRminiProg RC2 (2008-03-10) はmega16仕様です。
フルセットは仰々しいのですが、USBasp のハードウエアコンパチで
ISPができる方法が用意されています。
mega8を使ったUSBasp回路で AVRminiProg の追試をしました。
下記のとおりですが、mega8をmega88やmega168で置き換えるだけで
88、168が使えると思います。

@makefileを変更します。
 MCUをatmega16からatmega8に変えます。
Aapp_cfg.hを変更します。
 7行目の #include app_cfg_Full.h をコメントアウトして、
 8行目の #include app_cfg_USBasp.hを有効にします。
Bコマンドプロンプトを起動して、
 defaultディレクトリにカレントを移し、
 makeコマンドを実行しますと、
 defaultディレクトリに AVRminiProg.hex が生成されます。

kawanaさんが研究されてその報告を推敲中ですが、それとは別に原典を
読んで上記の結論を得ました。
   2008/9/15 (Mon) 11:20:37
[名前] :   senshu
[URL] :   
[コメント] :   TQFPでの大丈夫?

kawanaさんが書いていた、TQFPで動作しない、という
報告が気になりますが、kumanさんのところでは動作
確認ができた、ということですね。

kumanさんの書いた説明は、以前、私も似た内容の
説明を行った記憶があります。

AVRminiProgのfirmwareは、AVR studioの導入の有無
に関わらず、作成可能です。(利用には必須ですが)
上記の方法は、他の方法よりも再現性が高いと思います。
   2008/9/15 (Mon) 10:36:38
[名前] :   kuman
[URL] :   
[コメント] :   senshuさんへ RE:tiny2313でエラーが起きるプログラム

Webページの「アセンブリの勉強¥13 SRAMに置くbyte型変数」
http://www.geocities.jp/kuman2600/o06assembly.html#13
のプログラムです。
SRAMに置いた2つの変数の値と、その間にをディレーで表示していますが表示中に読もうとするとほぼ確実にエラーになります。
他の2つの表示中ではほぼ確実に成功します。
表示LEDはportB0〜7にHで点灯するように接続しています。
   2008/9/15 (Mon) 11:13:49
[名前] :   senshu
[URL] :   
[コメント] :   回路図の確認を希望

ISPを成立させるには、PB5,6,7のピンに重負荷が無いことが
前提になります。この例では、ドライバとの競合などは
考えされないでしょうか。

以前、似たような報告が WSN173ボードでもあったと
記憶しています。

検討をお願いいたします。
   2008/9/15 (Mon) 11:16:32
[名前] :   
[URL] :   
[コメント] :   抜けてしまいました。

SRAMに置いた2つの変数の値と、その間に
 0xaa
をディレーで表示していますが
 0xaaを
表示中に読もうとするとほぼ確実にエラーになります。

0xaaが抜けています。ドルマークで書いたために落ちました。
   2008/9/15 (Mon) 11:30:26
[名前] :   senshu
[URL] :   
[コメント] :   確認をお願いいたします

指摘のあった回路では、PB0〜7にはLEDが接続されて
いるようです。これは、LEDはHで点灯するとの事ですが、
この負荷抵抗は何Ωでしょうか。

LEDを繋がない状態(プログラムはそのままで)では
どうでしょうか。
   2008/9/14 (Sun) 15:18:59
[名前] :   kuman
[URL] :   
[コメント] :   HIDaspライタ

作ってみました。
http://www.geocities.jp/kuman2600/n6programmer.html#13

原因不明のエラーがでますが繰り返すと正常動作をします。 ???ですが、使用には耐えられます。

時間があれば見てください。(コピーですが)
   2008/9/14 (Sun) 23:54:06
[名前] :   senshu
[URL] :   
[コメント] :   評価用のアーカイブ

私のHIDaspの項に評価用のアーカーブを置きました。
メールで送ったのですが、添付ファイルを拒否され
ましたので、掲示板に公開することにしました。
これを使ってみてください。

結果も、書いていただけると幸いです。
   2008/9/15 (Mon) 01:51:42
[名前] :   senshu
[URL] :   
[コメント] :   HIDaspの改良すべき点

kumanさんの指摘の通り、HIDaspの電源ON直後は、ターゲット
をRESETする状態で動作を開始します。本来、ライタは
透明な方が良いと思いますが、現状ではこうした
仕様になっています。

当然、修正は可能です。その他にも修正したい部分は
あります。今後、議論を繰り返し、改良していけば
良いのだと思います。

COM-SPIブリッジがUSBしかないPCでは使いにくいことを
改善できればと考えています。当初、USBaspがその役割を
果たしてくれると考えていましたが、ドライバのインストールに
戸惑う方も少なくないことを知り、何とかしたいと
考えていました。

HIDaspは、動作は遅いのですが、そうした方に役立つと
考えています。
   2008/9/15 (Mon) 08:11:05
[名前] :   senshu
[URL] :   
[コメント] :   tiny2313でエラーが起きるプログラム

がわかれば、追試してみたいと思います。
動作速度よりも、ある種の教育現場においては簡単に
使える、ということの方が重視される場合があります。
HIDaspは正にそうしたソフトだと思っています。

ATmegaを採用すれば、もう少し機能の高いコマンドと
パケット長を増加できるので、高速化が図れると
思いますが、今のままでもtinyマイコン用には実用的に
使えると思います。

ということで、再現性のあるエラーがわかれば、対策も
可能と考えています。

ご協力をお願いいたします。
   2008/9/15 (Mon) 11:11:50
[名前] :   kuman
[URL] :   
[コメント] :   senshuさんへ

新規に書きました(上にあります)。
   2008/9/14 (Sun) 12:02:10
[名前] :   kuman
[URL] :   
[コメント] :   kawanaさんへ

詳しいレポートをありがとうございました。
ISPに関してはmega168、mega88、mega8のいずれでも使用できると判断してよろしいでしょうか(DIPだけ)。

現在、私自身は追試することはできませんが、多くの方に朗報だと思います。ただ、この掲示板だけで確実な変更方法がわかりにくい点がありますので、

ハートとソフトの両方について、
mega168、88、8 で共通する変更点と個別の変更点を明確にして、
言葉を省略することなく、
これから作ろうとする人の指針となる報告をお願いしたいと思います。

修正ができる すんさんの掲示板 か、senshuさんの掲示板 でお願いできると多くの人が助かると思います。
   2008/9/13 (Sat) 11:03:28
[名前] :   kuman
[URL] :   
[コメント] :   kawanaさんへ

AVRminiProgについて
>RC2のATmega8変換はまだ完成していません。
>1.どうしてATmega88ならOKなのか
mega88ならどのようにして成功されたのか教えていただけませんか?
また、どのスペックまで成功されたのかもお願いします。
   2008/9/13 (Sat) 12:05:03
[名前] :   kawana
[URL] :   
[コメント] :   ATmega88での動作Check
成功と言い切れませんが、CPU=ATmega88でCompileし
RC2のHard用を別に製作したと言う事だけです。
Hardの相違
...RC2........kuman
D- PB0....... PD4
D+ PB1........PD2
..+PD2

Softの相違

app_cfg.h(AVR USB Hard config)
USB_CFG_IOPORTNAME D
USB_CFG_DMINUS_BIT 4
USB_CFG_DPLUS_BIT 2

app_cfg_USBasp.h....RC2org...kuman
USB_CFG_IOPORTNAME B........D
USB_CFG_DMINUS_BIT 0........4
USB_CFG_DPLUS_BIT 1........2

app_cfg_Full.h
USB_CFG_IOPORTNAME D
USB_CFG_DMINUS_BIT 4
USB_CFG_DPLUS_BIT 2

ATmega88、ISPmodeのみ USB接続とR/W確認。

ATmega8、ISPmodeのみ USB接続確認、 ID READ NG
( ID: 0x00, 0x00, 0x00になるのでMISO ラインNG
 コマンド送受 NG?)
ATmega8とATmega88では、Hard、Softに違いが有る?
   2008/9/13 (Sat) 14:19:33
[名前] :   kawana
[URL] :   
[コメント] :   ATmega8で、RC2接続は、出来ない事判りました。
   2008/9/13 (Sat) 15:22:20
[名前] :   kawana
[URL] :   
[コメント] :   ATmega8でISPmkU D+(PD2), D-(PD4)でR/W成功?
ATmega8でISPmkU D+(PD2), D-(PD4)でR/W成功しました。?
USB回路の配線ミス(68Ω通さずにPD2接続)を修正したら
RC2接続は、だめなのか、戻って確認します。
   2008/9/13 (Sat) 15:57:43
[名前] :   kawana
[URL] :   
[コメント] :   RC2 SourceでAVRminiProg ISPmkU 出来ました。
RC2のConfigにHardを合わせることだけで、Compile-->
Hex Writeで動作しました。
Studio4.1.3
Source: RC2(2008-03-10)
D- PB0
D+ PB1,PD2
   2008/9/13 (Sat) 21:56:10
[名前] :   kawana
[URL] :   
[コメント] :   動作確認出来たAVR(全てDIP Type)
ATmega168,ATmega88,ATmega8
どうしてQFP Typeだとだめなのか、判らなくなった。
明日、分解して、再組み立てしてみよう。
RESETの10K Kumanさんの回路に無いので入れてみたが
関係無かった。
   2008/9/12 (Fri) 13:47:39
[名前] :   kawana
[URL] :   
[コメント] :   ご送付頂いたhexfile動作しました。
いろいろとお手数有難うございました。
おかげさまで、動作しました。
結果報告送れた事、おわび致します。
   2008/9/12 (Fri) 12:35:38
[名前] :   kawana
[URL] :   
[コメント] :   ATmega8 AVRminiProgram ISPmkUの件
hexfile送付頂きながら、動作確認の報告の連絡遅れて
済みませんでした。
ご送付頂いた当初は、動作しましたが
RC2fileでのtest中にトラブルを作ったらしく
ご送付頂いたhexfileに戻しTESTしましたが
動作しません。ただ今、検討中です。
内容は、頂いたhexもRC2も同じ(Signature READ
で0x00、0x00、0x00になつてしまうトラブルです)
連絡遅れてすみませんでした。
   2008/9/13 (Sat) 07:02:03
[名前] :   senshu
[URL] :   
[コメント] :   トラブルの原因と解決までの経過

kawanaさんは工夫により、トラブルを解決されたのだと
思いますが、先の報告では結果しかわかりません。

具体的な問題点と解決方法を教えていただければ、
多くの人に有用な情報になると思います。

よろしくお願いいたします。
   2008/9/13 (Sat) 07:32:46
[名前] :   kawana
[URL] :   
[コメント] :   RC2のATmega8変換はまだ完成していません。
1.どうしてATmega88ならOKなのか
2.USB接続がOKなのに、なぜコマンドがエラ−となるのか
3.どのようにしたら、問題解決出来るかを検討中
   2008/9/12 (Fri) 06:09:22
[名前] :   kawana
[URL] :   
[コメント] :   AVRminiProg ISPmkU(ATmega8)でRC2(2008-03-10)
fileの実行を検討していました。
Studio4のVer依存性は無く、Targetとの接続が悪い
事が分かりました。
Simonさんから、下記mailを頂きました。
出来るよう、最後までがんばるつもりです。
Hi,
You can see CHANGELOG.txt to find the difference.
if AVRISP mkII is recognized, the firmware should work.
Which ISP speed do you use? You can try to set a lower ISP speed.
Newer version support auto-adjust of ISP speed, but if it fails, you should select a valid ISP speed.
   2008/9/12 (Fri) 10:40:55
[名前] :   kuman
[URL] :   
[コメント] :   私が作った旧バージョンのAVRminiProg ISPmkUは手元ではなんの支障もなく使えています。

他の方から最新版ではうまく行かない、とメールをいただきましたので要請どおり使っているものを送りました。が、まだ回答はありません。

kawanaさんから同様にmega8で動いているソフトが欲しいといわれましたので、お送りしました。
senshuさんのアドバイスでカスタマイズして動作を確認したファームだったからお送りしたのですが、実験されたかどうか存じませんが回答をいただいていません。

NGだったら、たまたま私のものが動いているだけ、ということになりますから注釈を加えねばなりません。

他のこともありますが、いまは該当のファームがどのような結果であったのかを知りたいのです。

ファームを要請されたら、そのファームの評価をまずすべきではないでしょうか。
   2008/9/10 (Wed) 00:35:32
[名前] :   kuman
[URL] :   
[コメント] :   AVRプログラマ

AVRのライタですがまるで一つ覚えのようにChaNさんのCOM-SPIブリッジしか使っていません。これだけで十分なのです。同じ手続きで書き込めます。

しかし、諸般の事情があって(物珍しさに惹かれて)いくつものライタのコピーを作っています。
時々これについて聞かれることがあるのですが正直、ライタの名前だけではどれかわかりません。まして内容はすべて忘却の彼方です。質問されたときは自分のページを本気で読んでやっと思い出します。(と同時に自分ながらよく書き留めて置いたとも思います)
作品の写真を入れてあるもの自分でアイデンティファイするのが主な目的なのかもしれません。

今回のアセンブリ勉強にAVRstudioを使わなかったのも単一書き込み法が楽だからなのです。
若いときだともっと自由があったかもしれません。
ライタを道具と考えると、不便が生じない限り、使い慣れたものが一番です。
   2008/9/10 (Wed) 08:55:51
[名前] :   senshu
[URL] :   
[コメント] :   私も似たようなものです。

AVR用のライタには、COM-SPIブリッジ、書き込み用の
ソフトにはavrspxを主に使っています。

年齢は関係なく、信頼感というものは短時間で得ら
れるものではありません。一年以上も毎日のように
使っていて、いつも正しく動作してくれる道具には
愛着が生まれます。

HIDaspを作ってみようと思ったのも、avrspxから
使える、という点があったからです。

HIDaspは、利用者にとってはCOM-SPIブリッジは速度が
遅いことを除けば、ほぼ同じものに見えます。

しかも、OS標準のドライバで使えるので、COMポートが
使えないPCが主流の今では、COM-SPIブリッジに代わる
可能性を持っていると感じます。
   2008/9/8 (Mon) 23:26:49
[名前] :   kuman
[URL] :   
[コメント] :   senshuさんへ

>自分で動作の確認を行い、トラブルに対してもアド
バイスできるという確信がなければ、人に推薦するべ
きではない」と考えています。

とおっしゃらずに良いものは紹介してください。リスクは自分持ちであることは重々承知しています。
これからもよろしく。
   2008/9/9 (Tue) 00:02:13
[名前] :   senshu
[URL] :   
[コメント] :   そういっていただけると気が楽ですが、ハードとソフト
が組み合わさる分野では、自助努力だけで解決できる人
は限られると思います。

私にとって良いものとは、中身の見えているものなので、
結果として先の書き込みのように、推薦できるものは
サポート可能なものとなります。

実際に使ってみないと本当の良さはわからないので、
できるらしい、というだけでは弱い気がします。
   2008/9/9 (Tue) 01:00:17
[名前] :   すん
[URL] :   
[コメント] :   趣味でやっていることは、プロの間でも通用する解答なんてだれも期待していないと思います。senshuさんは、仕事のサイトでやっているので無責任な情報を書きたくないというのはよく伝わってきます。それはすばらしいことだと思います。社会に貢献していると思います。

一方、趣味のサイトは自由です。実験の過程や想像の部分があっても読み手は楽しいと思います。確信犯的なウソは困りますが、そうでなければ許されると思います。
アマチュアレベルで許される技術話は、たくさんあって「うまくいくらしい」というのが結構あります。なぜうまくいくのかと聞かれて答えられないこともある話は多いです。
だから実験したら動いたというのは、趣味の世界では通用する事実として受け入れられるのだと思います。
   2008/9/9 (Tue) 12:16:37
[名前] :   senshu
[URL] :   
[コメント] :   すんさんへ

確かに試行錯誤を面白いと感じる部分も多いのですが、要約した内容に
なっていれば効率的だと思います。試行錯誤の途中で追試すると時間の
浪費になる印象があります。

また、道具が揃ったなら、迷わずに目的の装置を作るのがよいと思います。
PCやOSについても、正常に動作する環境で作業しないと、よいものは作れ
ません。本格的な測定器を自作するには、もっと高性能な測定器が必要に
なるのです。

私も壊れた機械を修理することや簡単な装置を自作するのは好きですが、
失敗しても失うものが無い状態で作業しないと、良い結果は得られません。

私は、今では利用する側の人間ですが、電子工作に関しては、環境を選ば
ずに多くの方に使っていただけるものを提供したいと考えています。
(自分がそうしたものを欲しいというのが最大の原動力です)
   2008/9/9 (Tue) 22:01:27
[名前] :   すん
[URL] :   
[コメント] :   senshuさんのマイコン電子工作は仕事の一部なので、趣味の電子工作とは感じ方が違いますね。

趣味サイトでは誰かに作ってもらいたくてサイトを開設している人と、自分のメモや装備録としてサイトを開設している人、その両方というサイトもあります。趣味サイト(や掲示板)はこうでなければならないという決まりごとはないと思いました。

あと、趣味の工作は完成したものを使うのも目的かもしれませんが、作っている過程や、試行錯誤、独自発想、想像が楽しいです。それと未完成のものは時間の浪費という考え方がいまいちしっくりこないです。

時間を楽しく過ごすのが趣味のいいところだと思います。ただ、電子工作で何が悪いのか分からないとか、苦痛になっている場合は別で、何とか知恵を貸してあげたり、手を貸してあげたいと思います。
   2008/9/9 (Tue) 22:23:47
[名前] :   すん
[URL] :   
[コメント] :   ↑備忘録です。 x装備録 感じも忘れる自分です。最近、字を書かないので漢字を忘れています。どうしよう・・・
   2008/9/9 (Tue) 23:59:45
[名前] :   senshu
[URL] :   
[コメント] :   「時間の浪費」の意味

以前、ノンノさんは時間が無いのだと書いていたこと
を考えての書き込みです。

すんさんの掲示版にアクティブな書き込みを開始される
以前、私のところで、1ヶ月間くらい、かなりの回数
(おそらく、100を超えるやり取り)の議論を行っています。

その時に、限られた時間を有効に使いたいと書いて
いたので趣味の世界であっても有効な時間の使い方が
重要なになるのでは、と考えました。
   2008/9/10 (Wed) 00:13:04
[名前] :   senshu
[URL] :   
[コメント] :   「表現と感じ方」

なかなか考えを伝えるのは難しいものです。

製作時に生じる苦労を楽しんでいれば大変結構なの
ですが、文脈からは苦しんでいるように思えました。

それならば、できるだけオリジナルに則したものを
作り、徐々に機能を向上させるのがよいと考えるのが
一般的だと思っています。

これは別の話してですが、kawanaさんの書き込みで、「Swordfish Compiler、Hello Worldで、clock=20では、Hello Worldが正常に表示されません、これは、
どうしてなのでしょうか?」
というのがありました。

何に表示を行い、どう正常でないのか、まったく不明
でした。(予想はしていましたが)数回のやり取りを
行い、ようやくLCDの表示の話とわかりました。

誤解の生じない書き込みは難しいものです。

書き込みには推敲がかかせませんが、これほど時間が
とれないのもよくありますので、やり取りのなかで
誤解を解いていきたいと思います。

どうぞよろしくお願いいたします。
   2008/9/10 (Wed) 12:12:06
[名前] :   ノンノ
[URL] :   
[コメント] :   senshuさんへ
以前何度か質問させていただきましたが、私に理解できる回答はなくて、私は完成させることが出来ませんでした。
(頂いた回答からは)
しかし事後報告をというのが何度もあり、完成できていないので書くことも出来ずもう質問をやめようと思った次第です。

今回そちらに書きましたのも誤解を生みそうな部分を修正し、素子の違いでお茶を濁した次第です。
   2008/9/10 (Wed) 13:13:45
[名前] :   senshu
[URL] :   
[コメント] :   ノンノさんへ

>以前何度か質問させていただきましたが、私に理解できる回答はなくて、
>私は完成させることが出来ませんでした。(頂いた回答からは)

ノンノさんとのやり取りは、かなりの回数だと思いますが、お役に
立てなかったようで大変残念です。

>しかし事後報告をというのが何度もあり、完成できていないので
>書くことも出来ずもう質問をやめようと思った次第です。

完成に関係なく、理解できたことを書いていただきたいとお願いして
きました。今後も各種の技術に触れて、有用な製作を行ってください。
   2008/9/10 (Wed) 13:45:01
[名前] :   ノンノ
[URL] :   
[コメント] :   私の場合手術の後遺症か1ヶ月くらい前のことはなかなか思い出せません。
何年何十年前のことは直ぐ思い出せるのですが・・

そんなわけで何かしようと思うと一気加勢に片づけてしまわないと、何がなんだか解らなくなってしまい、以前のノートを見てもなかなか思い出せません。

一度通ってきたのは順繰りに思い出すのですが、長くなると最後まで行き着くのが困難です。
   2008/9/11 (Thu) 23:45:01
[名前] :   ノンノ
[URL] :   
[コメント] :   自分でも以前書いていたものを見て、愕然としてしまいます。
また、同じ過程をたどってしまうのも不思議です。
   2008/9/8 (Mon) 20:20:02
[名前] :   kawana
[URL] :   
[コメント] :   kumanさん有難うございました。
AVRminiProg AVRmkU配線再チェックで動きました。
miniProg.hexの送付など大変お手数おかけしました。
   2008/9/8 (Mon) 23:14:13
[名前] :   kuman
[URL] :   
[コメント] :   動きましたか

よろしゅうございました。
   2008/9/8 (Mon) 14:11:44
[名前] :   kuman
[URL] :   
[コメント] :   ノンノさんへ

>USB専用デバイスはVbus5vを受けて3.3vを作る回路を持っていてUSB伝送回路は3.3vで動かしているようです

私もそのように認識しています。USBインターフェイス部はすべて3.3Vで動いていたと思います。そしてI/Oは3.3Vと5Vの選択ができるものがあります。

3.3V規格に5Vを入れるのは本来無茶をしているわけでしてはならないことなのでしょうが、私のPCではZDを入れなくても、また3VのZDを入れても正常に動きます。DZがないと動かないケースが弘前大学小山先生から報告されていました。
なくても動くなら入れなくてよい。ZDで動く環境なら入れればいい、LEDで代用できればすればいい、それでもダメな環境ならあきらめて3.3V駆動の方式を採用すべきだ、と考えます。
正確なコピーで完動品 を作って、あといろいろと変えてみませんか?
   2008/9/8 (Mon) 14:53:49
[名前] :   ノンノ
[URL] :   
[コメント] :   随分回り道、道草を食っています。
今掛かっている分をやっつけてから
(これが特に苦手)
mega164pでやってみようと
基板仮付けを終わっていますが、
書き込みでHVPPにしようかと思い
それにはDragon40pアダプタを配線すれば成らず
(ISPでも出来るはずですが失敗するとHVPPが要る)
少しめんどくさくなって先送りしています。
   2008/9/8 (Mon) 15:47:21
[名前] :   kuman
[URL] :   
[コメント] :   ISP

>(ISPでも出来るはずですが失敗するとHVPPが要る)
確かにそうです。ヒューズを書くときが一番緊張します。
必ずメモを書いて、しつこく確認して行います。
百回を超える書き込みをしていますが、一度だけ手抜きしたときに『予約』を選んでしまい動かなくなりましたが、発振器からの外部クロックで事なきを得ました。
HVPPは大袈裟になりそうで手を出せません。
   2008/9/8 (Mon) 20:12:44
[名前] :   すん
[URL] :   
[コメント] :   ノンノさん

動かなくなったAVRデバイスを復旧するのが目的で、いろいろライターを作られているのでしたら、STK500を持っているのでデバイスリセットをやってもいいですよ。何個くらいありますか。

ノンノさんの貴重な時間をもっと有益な工作に向けられるといいと思いました。

私はAVRISPmk2でいつも書き込んでますが、1度も高電圧書き込みが必要になったことはありません。よく理解できるまでは、説明書きや回路をそのままに使ってきたからだと思います。

自由に使えるようになるまでAT90S2313から初めて1、2年はかかってます。ステップを追うのは大事ですね。
   2008/9/8 (Mon) 20:24:40
[名前] :   ノンノ
[URL] :   
[コメント] :   有り難うございます。
chanさんのISPブリッジは確かに早いですね。
しかし何か読めないときがあるのでその時はこの前仕入れたDragonでHVPP書き込み(イレースしてから)しています。

Avrminiprogは自分の興味から1個作ってみたいのです。

kawanaさんも作って居られるようで、私に判った範囲で
そっと後押しをしたいなと思っています。

今やっているのはモータードライバーですが
一応出来てテストをしています。
これにソフトを使うのですがマニュアルがpdfで、コピペできないので良くわからず、有るポートのテストが出来てません。

これが済んだら、例のカウンタ(アッセンブラ)を本格的にやろうと思っています。
   2008/9/8 (Mon) 22:01:45
[名前] :   senshu
[URL] :   
[コメント] :   ノンノさんへ

AVRminiprogは、昨年、私が製作し、動作が気に入っ
たのでkumanさんに紹介したのが始まりだと思います。

この時点で発生したトラブルは幸いにもすべて解決で
きたのですが、最近のノンノさんの展開をみると、も
う少し固まった時点でまとめて報告すべき、という気
がします。

「自分で動作の確認を行い、トラブルに対してもアド
バイスできるという確信がなければ、人に推薦するべ
きではない」と考えています。

試行錯誤の過程の報告は、後を追う人には厳しいと
思います。

それから、ノンノさんのページには、どこかのサイトの
説明文が無造作に貼りこまれていますが、どういう
意味があるのですか?

著作権に厳しい国もあると思いますので、慎重な扱いが
望まれます。
   2008/9/8 (Mon) 08:53:18
[名前] :   kawana
[URL] :   
[コメント] :   お願いが有るのですが、
AVRminiProgのペ−ジ読ませて頂きました。
AVRminiProgで直ぐに動作するものを作りたいと考えて
います。もし、HexFileのUPが可能ならば、UPして欲しい
のですが、よろしくお願い致します。
(AVR chipをまわし使用していましたので、直ぐに
 動作するものが、無くなっていました。)
   2008/9/8 (Mon) 10:14:37
[名前] :   kuman
[URL] :   
[コメント] :   他のファイルもあるので

記事中のzipファイルをメールで送りました。
中に誤変換があってごめんなさい。
それにしても、AVRminiProgって難解なものですね。
   2008/9/8 (Mon) 12:19:02
[名前] :   ノンノ
[URL] :   
[コメント] :   私も始めはほ全然動かず、これは眉唾ではないかとも思ったりしたのですが、
(試験はUSB関係のデバイスドライバ、ホストの認識、スヌーピーからの見立て等しかしていません)

一番最初にUSB2LPTがZDで認識でき、同じ物をLEDで組み直して認識、更にmetaboardをボタンを押しながら認識、
その後何かのドラッグドロップでCOMポートが壊れ
デバイスドライバを全部削除して、駄目
Winの修復をしてから、jungo-WinDriverを再投入して
Dragonを認識までこぎ着けました。
使いましたmega128,64は他に使う予定だったのですが
最初にコンパイルが通ったので仮に使っているつもりで
最終はmega164pで作るつもりでした(裏切り者といわないで・・前にも書いています)
mega164pの3カ所ほどソースを修正したらコンパイルできました。
こちらの方がpinアサインがオリジナルと同じになるので
その問題が楽になるかなと思った次第です。
(デバイスファンクションやファームIDの違いを詰めないといけない?しかしシモンさんはAvrstudio4のID変更がない限りここは換えないようにといわれました)
   2008/9/8 (Mon) 13:50:28
[名前] :   kuman
[URL] :   
[コメント] :   ノンノさんとkawanaさんの交信を

すんさんの掲示板で見せていただいていますが、私には理解できない(不勉強で)どころが大部分です。

AVRminiProgについてはISPの他にHVPP、HVSP、JTAGと複数の機能があるようですがISPがもっとも簡単でこれしか使っていません。

mega168かmega8で正確なコピーを作って、ISPでの書き込みを確認して(もちろん実機です)、それから他の方法なり、変更なり、代替なりを考えるのがいいと思います。はじめから代替品で実験するのは自由ですが、その負担は自分しか負えないからです。そこで議論をすると泥沼にはまりこむように見えるのです。
どうでしょうか。
私も代用品が好きですが、うまく行ったよ、とか、ダメだったよ、という以外には報告はできないし、もちろん議論できないと考えています。
   2008/9/6 (Sat) 21:29:30
[名前] :   kuman
[URL] :   
[コメント] :   ぼやきです。

私にはわかりにくいのですが、USBではバスの供給電圧は5Vですが、機器の電源電圧は3.3Vではなかったでしょうか。

USBにつながるICが3.3V動作をしていたら信号レベルもプルアップによるスピード判断も問題がないのではないでしょうか。

そこを5Vでするものですから抵抗分圧だとかZDクランプの必要がでたように思います。そう考えると、5Vで使うのが邪道ですからそれをごまかす方法としてZDが利用できるという考えができたのでしょう。

正論と善後策を一緒に議論したくありません。善後策なら、これでも動いたよという報告でいいでしょう。

ChaNさんのRS232Cにあったと思いますが、正式には使えませんがアマチュアの実験には十分です、との言葉を思い出します。

もうお一つ、コンパイラやアセンブラが通ったということは文法上の間違いがない、というに過ぎないことです。実機で動いて完成でしょう。
   2008/9/7 (Sun) 14:49:11
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   >私にはわかりにくいのですが、USBではバスの供給電圧は5Vですが、機器の電源電圧は3.3Vではなかったでしょうか。

>そこを5Vでするものですから抵抗分圧だとかZDクランプの必要がでたように思います。そう考えると、5Vで使うのが邪道ですからそれをごまかす方法としてZDが利用できるという考えができたのでしょう。

kumanさんのいうとおりです。
例えば、easyloggerのavr-usbは、その邪道をしています。その点を常に意識しないと危ないです。
一般化してはいけないと思います。
   2008/9/7 (Sun) 17:52:52
[名前] :   senshu
[URL] :   
[コメント] :   kumanさん、こんにちは。

Web上に公開されている情報で広く使われているものは
正式なものとして一人歩きすることがありますね。

今回は、データシートと規格文書をよく読む必要性を
再認識しました。

ただし、規格を完全に則していなくとも実用的な実装が
あるのは事実ですから、使い分けも重要と思っています。

コンパイルやアセンブルについては、同じ意見です。
公開されたファイルは、基本的にコンパイル可能な
ものです。若干の修正を行うだけなら、コンパイルは
できるのが普通です。実際の機器での動作確認がなけ
れば、有益な情報にはならないと考えます。

私が書いている「掲示板」も、実機で動作確認した
ものを中心に書いています(例外はありますが)。

最近、AVRライタ(HIDasp)を作ってみました。
Vistaなどでの利用者向けに有効と考えています。
   2008/9/7 (Sun) 19:36:08
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   >ただし、規格を完全に則していなくとも実用的な実装が
あるのは事実ですから、使い分けも重要と思っています。

そうですね。
動作電圧とか、クロックの話を思い出して、
基準と実装の関係の微妙さを思い出しました。
   2008/9/7 (Sun) 22:30:59
[名前] :   kuman
[URL] :   
[コメント] :   ぼのぐらしさん、senshuさん、ありがとうございます。

アマチュア規格、という言葉があったと思います。
これだけ無理をしても、これだけ省略しても、といった報告であったと思います。

できたという報告はチャレンジの機会を作ってきました。
動いた、動かなかったという報告だけが重要です。安全係数が低いことはみんなが承知していることです。
正規の方法じゃないけれど、を付け加えるようにしたいものです。
   2008/9/8 (Mon) 12:44:23
[名前] :   ノンノ
[URL] :   
[コメント] :   USB専用デバイスはVbus5vを受けて3.3vを作る回路を持っていてUSB伝送回路は3.3vで動かしているようです、(私に判る範囲)
本体回路は5vまたは3.3vでも動作させていて、クロック的にには間に合う速度に仕上がっています。

ホストとの関係では15kの受動抵抗に3.3vから1.5kの抵抗で
0.2mAを流して接続を認識し、それに続く通信で相手を確かめ、特定します。

デバイスドライバの認識過程は「winnt\setupapi.log」に記録されていました。
   2008/9/4 (Thu) 11:00:06
[名前] :   ヒロ
[URL] :   
[コメント] :    しばしば記事を読ませて頂いています初心者です。

 他力本願ですが、お知恵をお借りしたいです。
 AVRの記事には、周波数カウンタの製作は見かけますが、積算カウンタの製作をご存知ないでしょうか?

 ゲートタイムの設定機能(できれば、1秒、0.5秒、0.1秒など)を備え、入力されるパルスを積算カウントして、パソコンからカウントした値を読みに行くと、その値をパソコンへ転送する。
 こんな機能が実現できないかな〜?
   2008/9/4 (Thu) 11:58:37
[名前] :   kuman
[URL] :   
[コメント] :   ヒロさん こんにちは。

周波数カウンタは、
ゲートタイムを1秒に設定して、
入力されるパルスをカウントして、
カウント数を数字の文字列に変えてLCDに出力する。
というものです。

ゲートタイムの変更はタイマ・カウンタの設定を変えるだけです(プログラムの数字を変えるだけです)。

測定した数字をUART経由でPCに送るのは難しいことではありません。

周波数カウンタの回路はそのままで(表示部分を除いて)、UART関係の回路を追加して、プログラムを少し書き換えればできます。
   2008/9/4 (Thu) 16:42:14
[名前] :   ヒロ
[URL] :   
[コメント] :   kuman さん

 お返事、ありがとうございます。
AVRが動作中にゲートタイムを替えるようにプログラムは可能なのでしょうか?

 それから、パソコンとのデータのやり取りについてですが、パソコン側から何らかの命令を送って、AVR側にて割り込み処理を行うべきなのか、常にAVR側でカウントした値をUARTを通してデータを垂れ流しておくべきなのでしょうか?

 簡単な方法をお教え頂けると助かります。
よろしくお願いします。
   2008/9/4 (Thu) 17:02:42
[名前] :   kuman
[URL] :   
[コメント] :   >動作中にゲートタイムを替えるように…
いくつか方法がありますが、
1 DIPスイッチで切り換える
2 タクトスイッチのトグルで順番に切り換える
3 PCからコマンド(プログラムで決めた文字)を送って切り換える
などがあります。

PCとの通信にはTERATERMを使うと便利だと思います。
これで例えばsの文字を送るとそれを受けてAVRがPCにデータを送り返します。
また、excelのVBAで取り込むこともできます。このときもPCから特定の文字を送るとAVRが答えるようにします。

AVR側は割り込みでもポーリングでもいいと思います。
   2008/9/2 (Tue) 15:30:48
[名前] :   宮前
[URL] :   
[コメント] :   共立エレショップのこのページ
http://eleshop.kyohritsu.com/products/index1.html
の上の方から「未登録商品の注文ページ」のリンクがあります。
http://eleshop.kyohritsu.com/products/irregular.html
ここにデジット(その他の店)の商品の注文方法が書いてあります。
型番などが分からないと、スムースに注文できないと思います。
デジットの困るところは,何を売っているか判らない事ですね。
   2008/9/2 (Tue) 15:56:19
[名前] :   kawana
[URL] :   
[コメント] :   宮前さん、kumanさんありがとう。
仮デ−タ−で注文してみました。
   2008/9/2 (Tue) 16:57:37
[名前] :   kuman
[URL] :   
[コメント] :   宮前さん

ありがとうございました。デジットのページを見てもわからなかったのでどうするのかな?と思いました。

以前の仕事があったときは帰りに回り道をしたのですが、橋下リストラ以後出かけておりません。
   2008/9/1 (Mon) 21:33:28
[名前] :   kawana
[URL] :   
[コメント] :   Li-ion電池の充電の記事拝見させて頂きました。
基板、ICを購入したいのですが、デジットの通販で
買えますか。型名等、教えて下さると幸いです。
   2008/9/1 (Mon) 22:22:56
[名前] :   kuman
[URL] :   
[コメント] :   充電器

ページに書いたようにICは MCP73861 です。
基板には特に番号はないようですが
「charger73861」とシルク印刷されています。
メールで注文なら写真を取り込んで添付されると間違いないと思います。店頭にでているものです。
   2008/9/1 (Mon) 23:57:12
[名前] :   kuman
[URL] :   
[コメント] :   ところで、

デジットへはどんな風に通販の注文をするのですか?
WEBページには通販の窓口がないようなのですが…。
   2008/9/2 (Tue) 15:31:28
[名前] :   kawan
[URL] :   
[コメント] :   デジットは、現在WEBによる注文は中止しているようですね
電話による注文も中止しているのでしょうか?
購入を一時あきらめ、
若松通称で買ったモジュ−ルの研究と、一般的な
リチュームイオン電池の充電回路ないか調べています。
(買ったモジュ−ルは、S8232、S8212が付いています)
しかし
デジットの基板とMCP73861を使用するのが、最善と考えて
います。
   2008/9/1 (Mon) 21:21:27
[名前] :   kuman
[URL] :   
[コメント] :   ノンノさんへ

回路図が消えているので困りましたが、
>LEDピカピカなどは直ぐ出来ても…
私はそのLEDピカピカで苦労しています。

まず、tn2313のPORTB0〜3に電流制限付きのLEDを繋いで、PB0のLEDが0.1〜1秒の任意のインターバルで点滅するプログラムを作って、シミュレータではなく、実物のLEDを点滅させてください。
このとき説明できるプログラムを書いてください。

次に、LEDが順に点灯するものを書いてください。

3番目に、PD2にタクトスイッチを付けて、押す毎に点滅するプログラムを書いてください。

最後に、4つのLEDが2進4桁の数を表すとして、スイッチを押す毎にカウントアップするプログラムを作ってみてください。いずれも実機で動作することが必要です。

これができるとLEDピコピコができるようになったと言えると思います。
私は、アセンブラではやっとLEDピコピコがわかるようになったところです。
   2008/9/1 (Mon) 21:29:47
[名前] :   kuman
[URL] :   
[コメント] :   ノンノさんへ  追伸です

ノンノさんのページ
http://2.suk2.tok2.com/user/nonnno-protok2/
ではいかがでしょうか。
htmlなら、リストを <pre>と</pre>で挟んでみてください。通常ならでるはずですが…
もちろん<>は半角ですよ。
   2008/9/4 (Thu) 00:16:44
[名前] :   ノンノ
[URL] :   
[コメント] :   今取りかかりのが出来たら、LEDピコピコノ試験をしてみます。
   2008/9/1 (Mon) 20:05:26
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   : すんさんには直ぐばれますね。

皆さん、とうに、ご存じですよ。
言わないだけです。
   2008/9/1 (Mon) 21:20:33
[名前] :   すん
[URL] :   
[コメント] :   ノンノさんはNC関係では高度な知識をお持ちで有名な方だと思います。またハードの回路もシミュレーションを駆使したり設計されるので、ここに来ているだれよりも詳しいと認識しています。

私もそうですけど、自分の専門以外は覚えようと思っても覚えられないものですね。私がアンプの回路1つとってもぜんぜん覚えられないのと一緒です。

あとハード屋とソフト屋のデバイスの捕らえ方の違いがあります。ハード屋はICを変えるのは普通にやることだと思いますが、ソフトでマイコン変えるのは至難の技?です。この辺、ソフトはややこしいです。
   2008/9/2 (Tue) 00:57:05
[名前] :   ノンノ
[URL] :   http://den-nekonoko.blog.so-net.ne.jp/
[コメント] :   <pre>と</pre>で挟んだら上手く表示できました。
こんなやり方は何となくやっていたので知りませんでした。

機械関係は昔を忘れられず趣味でやったいるだけです。
あちらのページは機械だけにしたいので、
ソフトがらみは、順次此方に移す予定です。

猫は別に好きではないのですが、一匹なついて家に住んでいるのがいます。
   2008/9/1 (Mon) 18:38:25
[名前] :   ノンノ
[URL] :   
[コメント] :   インデントなども思うように入らないので、上手く伝えられません。どこかアップロードできるページを探さないと駄目なようです。
   2008/9/1 (Mon) 16:43:28
[名前] :   kuman
[URL] :   
[コメント] :   ノンノさんへ

アセンブラを考えてみようとしたのは今回が初めてですから人様のプログラムを簡単に読みとれるわけではありません。リストを見せていただいて理解しにくい点がありますのでそこから考えます。

http://den-nekonoko.blog.so-net.ne.jp/
からリストを見ましたが、なぜインデントが一般の形式になっていないのでしょう。「;」がどのカラムから始まっているかで意味が変わることがあるからです。

最初の4行の「  」内はプログラムではないのになぜあるのでしょうか。

オリジナルは自作ですか、引用ですか?

>.include tn2313def.inc
は<>(半角の)記号でない理由は?

割り込みベクタテーブルとreset:ラベルの間に空行をかきませんか?

34行目のスタックポインタの初期化がコメントアウトになっているのはなぜでしょうか。

36行目の sei も同様です。

続く
   2008/9/1 (Mon) 16:43:59
[名前] :   kuman
[URL] :   
[コメント] :   続きです

38〜53行の割り込み先ラベルの処理はどうするつもりですか?

57,58行のプルアップはあとで出力に設定していますから無意味です。
方向レジスタDDRxを決める前にプルアップを書くのは無意味です。理由はなぜですか?

64,65のLEDの点滅は1クロックサイクルですから人の目には見えません。なぜ書いているのですか。

など、プログラムが基礎的な事項を満たしていないのでこのままでは私にはどうしたらいいのかわかりません。

プログラムの意図に基づいて書き直されることをお願いしたいと思います。
   2008/9/1 (Mon) 17:54:13
[名前] :   ノンノ
[URL] :   
[コメント] :   すんさんの掲示板
attiny2313でアセンブラを始めます
2008/07/28(月) 17:02 No. 4967
から続く分を
.asm と .c の表記の質問 No. 5540 No.5542
>kumanさんが詳しく勉強されているようなのでkumanさんの掲示板で聞いてみてはどうでしょう。

ということで、此方でおべんきょしようとしています。

きいたんさん O-familyさんに指摘していただいたのを書き繋いだので、良くわからぬままに書いています。

LEDはひょっとして見えるかな?
デバッガでは表示されるので判断できるかなと思ったのですが、
キャパシタの電圧が十分下がるまで待つ必要もありました。
   2008/9/1 (Mon) 18:14:56
[名前] :   ノンノ
[URL] :   
[コメント] :   ソースと内容が違うのでソースからコピーしなおしました。
   2008/9/1 (Mon) 18:17:13
[名前] :   すん
[URL] :   
[コメント] :   横レスですいません。
ノンノさんはアセンブラの前にAVRの初歩を理解するのが最初のステップだと思いました。いつもそうなのですが、そこを飛ばして質問されるので、回答者が困ってしまうのですね。ここはじっくり腰をすえて、簡単なLED制御や簡単な割り込み制御などから始めてはいかがでしょう。kumanさんに習って、アセンブラのイロハ(書き方等)も勉強されてはいかがですか。

あと厳しいようですが、ご自身の設計のハードウエアは自力で解決するのが基本だと思います。たぶんNCマシンの一部だと思いますけど。
   2008/9/1 (Mon) 18:18:05
[名前] :   ノンノ
[URL] :   
[コメント] :   ブログのページは改行が思うようになりません。
困った
   2008/9/1 (Mon) 18:29:26
[名前] :   ノンノ
[URL] :   
[コメント] :   すんさんには直ぐばれますね。
これはkumanさんもやって居られる
http://www.geocities.jp/kuman2600/n2pulsm.html
のバージョン違いです。
LEDピカピカなどは直ぐ出来ても、
次のカウントなんかをしようと思うと
さっぱり判らず進めません。
そんなに簡単に出来たらプロなんて要らなくなりますね。

デバイスは入手性からもtn2313が最適だと思いました。
   2008/9/1 (Mon) 12:48:15
[名前] :   ノンノ
[URL] :   
[コメント] :   ;
; PORTBの設定
CBI PORTB,CAPIN ;検出ポートのプルアップしない
CBI PORTB,LED1 ;LED1ポートのプルアップしない
CBI PORTB,LED2 ;LED2ポートのプルアップしない
SBI DDRB,LED1 ;LED1ポートを出力ポートに設定
SBI DDRB,LED2 ;LED2ポートを出力ポートに設定
;
LOOP1:
CBI DDRB,CAPIN ;CAPINを入力ポートに設定
SBI PORTB,LED1 ;LED1を点灯
CBI PORTB,LED2 ;LED2を消灯
;
LOOP2:
NOP
SBIS PINB,CAPIN ;CAPINの状態を調べる
RJMP LOOP2 ;CAPIN==0でジャンプ
;
LOOP3:
SBI DDRB,CAPIN ;DISCHGを出力ポートに設定(CBI PORTB,CAPINでLに成っている)
NOP
SBIC PINB,CAPIN ;CAPINの状態を調べる(これが有効?か)
RJMP LOOP3 ;CAPIN==0でジャンプ
CBI PORTB,LED1 ;LED1を消灯(NOPの処に入れると短縮できる?か)
SBI PORTB,LED2 ;LED2を点灯
;
RJMP LOOP1

このループの途中でキャパシタディスチャージごとに
(まだ加算減算切り替えは付いていません)演算します。
   2008/9/1 (Mon) 12:50:52
[名前] :   ノンノ
[URL] :   
[コメント] :   あれ、スレッドが換わって、順序が思うようになりませんでした。
   2008/9/1 (Mon) 13:26:56
[名前] :   ノンノ
[URL] :   http://den-nekonoko.blog.so-net.ne.jp/
[コメント] :   http://den-nekonoko.blog.so-net.ne.jp/
に 以前の回路とリストを載せました
   2008/9/1 (Mon) 12:47:43
[名前] :   ノンノ
[URL] :   
[コメント] :   rjmp ANA_COMP ; Analog Comparator Handler
rjmp PCINT ; Pin Change Interrupt
rjmp TIMER1_COMPB ; Timer1 Compare B Handler
rjmp TIMER0_COMPA ; Timer0 Compare A Handler
rjmp TIMER0_COMPB ; Timer0 Compare B Handler
rjmp USI_START ; USI Start Handler
rjmp USI_OVERFLOW ; USI Overflow Handler
rjmp EE_READY ; EEPROM Ready Handler
rjmp WDT_OVERFLOW ; Watchdog Overflow Handler

RESET: ldi r16, low(RAMEND); Main program start
; out SPL,r16 Set Stack Pointer to top of
;RAM
; sei ; Enable interrupts
; xxx

TIM1_CAPT:
TIM1_COMPA:
TIM1_OVF:
TIM0_OVF:
USART0_RXC:
USART0_DRE:
USART0_TXC:
ANA_COMP:
PCINT:
TIMER1_COMPB:
TIMER0_COMPA:
TIMER0_COMPB:
USI_START:
USI_OVERFLOW:
EE_READY:
WDT_OVERFLOW:
   2008/8/31 (Sun) 21:14:31
[名前] :   kuman
[URL] :   
[コメント] :   ノンノさん、こんばんは。

アセンブラははじめたばかりで暗中模索です。少しのプログラムを進めるのに、数十回の書き込みをしています。2313の書き込み制限にかかるかもしれません。

ところで、極端なケースを考えますと、
カウンタを通常どおり使って0〜15をカウントして、値を取り出すときに上位4ビットをandでマスクしてから2ビット左シフトするとどうでしょうか。

計算して取り出す時間がなければ別の方法を考える必要があるかと思いますが。

どんな場面で何が必要なのかを想像できませんので知識不足とあわせていい返事ができません。
   2008/9/1 (Mon) 12:42:56
[名前] :   ノンノ
[URL] :   
[コメント] :   よく考えてみますと
もう一段別の処理を経てI/Oに出力します、
ですからレジスタは8ビットで使って、マスクを使った方が良いように思いました。

カウンタは0〜63なんですが、
1カウント、2カウント、4カウント、8カウント、16カウントの加減算をしたいのです。
r5+1 ∧0x3F 、 r5−1 ∧63
r5+2 ∧0x3E 、 r5−2 ∧62
r5+4 ∧0x3C 、 r5−4 ∧60
r5+8 ∧0x38 、 r5−8 ∧56
r5+16 ∧0x30 、 r5−16 ∧48
(表記の方法がさっぱり判りません)
カウントソースは
   2008/9/1 (Mon) 12:47:12
[名前] :   ノンノ
[URL] :   
[コメント] :   以前の
「ldi r16, low(RAMEND); Main program start
; out SPL,r16 Set Stack Pointer to top of
;RAM
; sei ; Enable interrupts
; xxx」が不明です。

.include tn2313def.inc
.EQU DISCHG = 7 ;PB7
.EQU CAPIN = 7 ;PB7
.EQU LED1 = 6 ;PB6
.EQU LED2 = 5 ;PB5
.EQU CKSEL = 0100

.cseg
.org
rjmp RESET ; Reset Handler
rjmp INT0 ; External Interrupt0 Handler
rjmp INT1 ; External Interrupt1 Handler
rjmp TIM1_CAPT ; Timer1 Capture Handler
rjmp TIM1_COMPA ; Timer1 CompareA Handler
rjmp TIM1_OVF ; Timer1 Overflow Handler
rjmp TIM0_OVF ; Timer0 Overflow Handler
rjmp USART0_RXC ; USART0 RX Complete Handler
rjmp USART0_DRE ; USART0,UDR Empty Handler
rjmp USART0_TXC ; USART0 TX Complete Handler
   2008/8/28 (Thu) 16:15:48
[名前] :   kuman
[URL] :   
[コメント] :   アセンブリ言語

の勉強をぼつぼつとはじめました。全くのABCからです。

AVRstudioは儀式が多すぎてなじめません(私だけ?)。
DOS窓を使うとWINAVRとほとんど同じ手順でアセンブルできますので普通にない方法ではじめています。

Web上には素晴らしい報告があるのですが、数があってもいいのではないかと。備忘録の感が強いのですが。

お暇なときに覗いてみてください。
http://www.geocities.jp/kuman2600/o06assembly.html
   2008/8/28 (Thu) 23:00:57
[名前] :   ぼのぐらし
[URL] :   
[コメント] :   確か、Cソースの中で、必要な部分だけ、アセンブラにしてつなげる方法があったかと思います。
こういう方法を会得すると、スマートという感じがします。あるいは、全部アセンブラの方が書きやすいのかもしれません。
もちろん、私は会得していませんが。
   2008/8/29 (Fri) 00:43:01
[名前] :   kuman
[URL] :   
[コメント] :   ぼのぐらしさん、こんばんは。

ブログは見せていただいています。
インラインアセンブラですね。よくわからないままに、お借りしてウエイトルーチンで使っています。
Cではコンパイラの状態によって時間稼ぎのルーチンがいつも同じとは限りません。その点、インラインアセンブラで書いたものはコンパイラによりませんので同じ結果が出ます。

アセンブラの必要は特にはないのですが…というところです。
   2008/8/30 (Sat) 01:10:12
[名前] :   kawana
[URL] :   
[コメント] :   アセンブリ言語拝見させて頂きました。
Kumanさんの、デコボコの無いストーりー記述が
大変上手いと思っています。
bit表現
0b1010_1010 参考になりました。
   2008/8/31 (Sun) 00:27:00
[名前] :   あやのすけ
[URL] :   http://akiba.geocities.jp/atmel_avr_atros/
[コメント] :   アセンブラ・・・Z80を扱っていたときはアセンブラで最初書いていました。
HI-TECH C for Z80 に出会ってから開発効率が良いのでほとんど、C言語で書いていました。
でも、アセンブラ知っているとメモリやレジスタをどのように扱っているかが理解できるため、
デバックしやすいですね。

フラグやスタックポインタを気にしながらもう作りたくないなー。
   2008/8/31 (Sun) 10:18:59
[名前] :   kuman
[URL] :   
[コメント] :   あやのすけさん、こんにちは。

確かにアセンブラで書く必要はないのですが、どのような構造になっているのか調べてみようと要ったところです。
Webにも資料は少ないですね。悪戦苦闘していますが思い通りに動いたときは嬉しいものです。

例によって、書いておかないと全部忘れますので、そんなところです。
   2008/8/31 (Sun) 18:32:33
[名前] :   ノンノ
[URL] :   
[コメント] :   すんさん のいたから此方に来ました。

>今考えているのは
>6ビットのカウンタがあって(XX543210)
>2ビット目を加減算しますが6ビット以上は無変化で
>1ビット以下を0にマスクしたい(XX5432LL)
>この様な場合はどの様に書くと良い(効率的)でしょうか?

さてカウンタの内容ですが、
0から63までをUPしたりDOWNしたりで63の次は0です。
しかし、カウントは4ずつですから0x100を足したり引いたりして計算し更に0x−−111100をANDして下桁をクリアすれば(下桁は何もないはずですが)と思っています。
0x11−−−−−−のの桁はさわらない方がいいのですが、
I/Oを分けてカウンタは別レジスタと考えればさわっても0x00111100でマスクする方法もあるかもしれません。
   2008/8/26 (Tue) 00:57:44
[名前] :   TAD
[URL] :   http://homepage2.nifty.com/denshiken/AVW018.html
[コメント] :   com6のときはAVRSP -PB6 で書けます。
秋月のUSB/シリアル変換器はフロー制御の反応が遅いので上記URLのファームを使われた方が良いです(デュアル/シングルどちらでも構いません)。
場合によっては鶏卵問題になるかもしれませんが・・・。
私はBASCOMを使ってないのでシミュレータが18倍遅い件は解からないです、すみません。
   2008/8/26 (Tue) 01:00:18
[名前] :   TAD
[URL] :   
[コメント] :   すみません、新規投稿になってしましましたが
kogumaさんへの返信です。
   2008/8/25 (Mon) 14:54:02
[名前] :   koguma
[URL] :   
[コメント] :   初めてメールさせて頂きます。winXPにbascomavrをインストールして、led1個を点滅させるprogを記入し、
compileとsimulateを実施したところ、ledの点滅は1秒設定のところが、約18秒間隔の点滅です。ideのインストールは3回目ですが、いつも同じ状況です。
prog以外の設定項目が有るのでしょうか。
又秋月のusbシリアル変換ケーブルと#173基板でターゲットに書込みたいのですが、ケーブルはxpではcom6として認識されました、数字を変更する必要は有りませんか。よろしくお願いいたします。
   2008/8/25 (Mon) 19:48:53
[名前] :   kuman
[URL] :   
[コメント] :   投稿いただきありがとうございます。

不勉強で回答ができなくて申し訳ありません。
1 BASCOMに慣れていないこと
2 回路がわからないこと
3 プログラムがわからないこと
から、どれに不具合があるのか想像できません。また、私はシミュレーションが苦手で常に実機で確認する習性があります。シミュレータの設定ミスが原因になることもあるでしょう。ただ一つ、クロックの設定が合っているかどうかは気になります。

変換ケーブルは経験がないのでまったくわかりません。
ただ、COM番号が違えば、プログラマをそれに合わせればいいと思います。

実際に通電して、試行錯誤することが理解への近道だと私は思っています。

経験をお持ちの方の回答を待ちましょう。
   2008/8/26 (Tue) 08:05:08
[名前] :   kuman
[URL] :   
[コメント] :   追伸

プログラムをお送りいただけたら、検証できると思います。
  
▲このページのトップ 戻る  

Yahoo!ジオシティーズ


inserted by FC2 system 1