1 :
774ワット発電中さん :
2009/09/07(月) 10:10:07 ID:N+a5boqu _____
/ /|
/ ( ゚∀゚) /.∠フ 個人でも手軽に使える
/ /.∠フ || . Atmelの8-bit RISCマイクロプロセッサを
/ __ o/.∠フ || 中心に語るスレッドです。
∠| ̄ ̄凵 ̄ ̄|∠フ || *AAは「AVR H8 etc. マイコン総合スレ Part3」からいただきました。
.|| |_____|/||
Atmel AVR 8-Bit RISC
http://www.atmel.com/products/avr/
【AVR H8 etc. マイコン総合スレ】から【PIC AVR H8統合スレ】の存在が無く 誘導スレらしきものしか見当たらなかったのでテンプレから外してますが、 問題があればこの後にでも書いておいてくださいまし。スレ立て終わり。
6 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/09/07(月) 11:15:15 ID:ih52joVS
う〜む スレ立ち上げご苦労さん
スレ立てオチュー 前スレのライブラリがリンク出来ないって件は、リンカにライブラリのファイル名 を教えてないだけの様な気がする。
chan氏のとこのは一番下位のレイヤーの関数は自分で作るんじゃなかったっけ? だからどんなデバイスにも書けるわけで。
サンプルでAVRの実装があるね。ffsample.zip まずはサンプルを実行してみれ。 Makefileについてちょこっと勉強しろ。
11 :
988 :2009/09/07(月) 14:10:22 ID:m6e4rcdB
>>9-10 ffsample.zipは二日前から弄ってmakefileとかも参考にして
AVRstudioの自動生成じゃなくて、makefileを自分で作ってるんですが・・・それでもやっぱりmakeが通りません。
おそらく自分のやり方に問題があるとは思うんですが、もうどうしたらいいか・・・
12 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/09/07(月) 14:15:10 ID:ih52joVS
取り合えずMakefileをUPしてみたらどう?
>>1 さんスレ立て乙です。
AVR StudioのVer4.17はシリアルポート経由での書き込みができないという不具合が発生して、
STK500が使えません。
それで4.16SP1に戻しました。
ずいぶん悩んだ末にAVR Studio側のバクじゃないかという結論なんだけど、確信がありません。
AVRstudioで普通にビルドできたんだけど。
他人のソース使うんだから #include <avr/io.h> #include <avr/pgmspace.h> #include <avr/interrupt.h> #include "diskio.h" #include "pff.h" #include "xitoa.h" #include "suart.h" くらいコピペすれば普通に通るだろ。
chanさん以外のぷちFatFsの使用例を当たってみてはどうかね ってググってみたらAVRスレが最初にきた
自分でSDとFATの仕様書読んで実装したら? そんなに難しいもんじゃないよ
Makefileというか、プロジェクト全部UPしろ 笑ってやるから
もうサンプルでプロジェクト丸ごとあるやつそのまま使えよ・・・ あの辺理解してないと宣言とかで原因不明のエラーを連発しそうだ
20 :
774ワット発電中さん :2009/09/07(月) 22:49:13 ID:9jvlcFdP
すみません。みなさんに質問します。 デバッガって何を使ってますか? それとも、LEDチカチカとかRS232Cだけでデバッグしてるのですか?
21 :
774ワット発電中さん :2009/09/07(月) 22:51:21 ID:2I6Pc0jB
>>20 デバッガ使ってない。
LEDチカチカ、UART、オシロかな。
22 :
774ワット発電中さん :2009/09/07(月) 23:00:30 ID:9jvlcFdP
>>21 そうですか〜 AVRに興味があるのですが、
デバッガでググっても情報があんまりないんですよね〜
JTAG ICE のmk-Uってのがあるみたいなんだけど、4,5000位するんですね。
WinAVRってgccですよね。ってことはgdbスタブとかないんですか?
23 :
774ワット発電中さん :2009/09/07(月) 23:06:06 ID:2I6Pc0jB
>>22 JTAG ICEの解析情報がどこかにあったと思ったな・・・
クローン製品とかあるのかな?
gdb stubもどこかにあったと思いましたがちょっと失念
自分の場合はそんなたいしたもの作ってないので
>>21 のデバッグ方法で十分って感じですね。
今ならアローでJTAGICE mkIIの半額セールやってるぞい。 送料入れると約2万円になるけど。
2万あったらFPGAやるよ
X-MEGA使ってる奴いる? 結構高かったから躊躇してるんだが
XMEGAは買えないんだろ。
デジットに置いてたけど
AVR Dragonってのが、デバッグできるって聞いたことがある。 あと、AVR Studioにはシミュレータが載ってる
>>13 自己解決しました。
USBドライバのインストールのチェックをはずすと症状がでるようです。
>>31 同じページにクローンもあるな。
ただ、本家はAVR Oneとかいうのが出てるけど。
dsPICみたいに上位機種が手軽に買える環境にならねーかなぁ 秋月さんよお
PICって種類によってerrataが凄い事になってる(肝心の機能が使えなかったり) 場合があるけど、AVRはどうですか?
35 :
774ワット発電中さん :2009/09/09(水) 02:51:20 ID:tbmLKMuL
AD変換した数値をバイナリデータに変換したとき、 2とか12とかという数値は10や1100といった数値として出力されますが、 これをたとえば10bit型(0000001100)のようにするにはどうすればいいでしょうか。 ひととおり探しましたが、なかなかみつからなかったので質問します。
36 :
774ワット発電中さん :2009/09/09(水) 03:25:39 ID:tbmLKMuL
すみません変な質問をしてしまいました。 解決しました。本当に申し訳ありません。
37 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/09/09(水) 09:38:48 ID:XysvtPhD
debugWIREってマニュアル見ても使い方がよーわからんな。 誰か使った事ある人いる?
HEROさんとこ閉鎖されるんですね!
え、それはヤバイね
ちゃんと見に行ったら? きちんと別のところで引き継いでもらえるみたい。
41 :
774ワット発電中さん :2009/09/09(水) 23:26:43 ID:3IeQdswH
電圧の比較をやりたいのですが、 内蔵の1.1Vの精度が悪いので、他から取ってきたいと思います その場合、3端子レギュレータを使えばいいのでしょうか 普通に売ってる3端子レギュレータの精度はどんなもんですか?
>>41 抵抗またはCRD+ツェナーダイオードが定番では?
ほどほどでいいなら、定電圧電源で与えているVccを抵抗分圧。
>>41 > 普通に売ってる3端子レギュレータの精度はどんなもんですか?
データシート読めとしか。
Voltage reference を使おうぜ
>>41 比較ならコンパレータ使えばいいよ
測定なら別だけど
88p/168p/328pで動作してる回路が無印でうごかないw いつのまにかピコパワー依存してた
>>40 書き込んだ時点では、継続も未定だったんだが・・・それにしてもよかった。
>38>47 たまたま見てたけど、確かにその時点では移転先も継続も未定って書いてあった。 その直後、現在の移転先案内に変わったみたい。継続してくれて助かった。
>>41 三端子レギュレータは精度わるいよ。
電源リファレンスIC使えば?高精度シャントレギュレータ
ほかのだと温度とかでも電圧変わるからね。
・何のために ・どのぐらいのコストをかけて ・どのぐらいの期間で ・どの程度の信頼性で が判らないとねぇ・・・ まぁ>49の言うとおりシリーズレギュレータで事足りる程度だったら、内蔵Vrefでも十分なわけで・・・ 酸化銀電池をつかうっていうのも有りだと思うけどね
>>41 秋月でLM336の2.5Vでも買って来れば?とは思うけど…
だけど比較したいだけなら、1.1Vの絶対的な電圧なんて気にする必要性ないだろ!と…。
結局いつもの、質問者は目的を明かさず、結果回答者は好き勝手な状況を想定した好き勝手な回答するしかないパターンですね。
>>52 だな
この手の心無い質問者のせいで回答者のやる気がそがれ
スレの雰囲気が悪化する
というわけで、この手の質問する人は、大雑把でいいから何に使うか、 要求仕様はどんな理由でどの程度のものか(ここでは基準電圧の精度はどれくらいいるのか)を書いて欲しい。 それ待たずにみんな答えたがるのもよくないんだけど。
まあ質問者自身も何を伝えればよいかよくわかってないわけで。 だからこそ質問してるんだし。書く文章からわかって無い感じがにじんでる。 まあ質問テンプレがあれば両者しあわせかもしれん。 ■やりたいこと(具体的に) 例)ミニ四駆の速度制御。カーブで減速したい。 ■なにが出来ない?例)モーターとピンをつなぎましたがパワーが出ません。故障でしょうか。 ■問題解決のために何をしましたか? 例)電池を交換しました。結果は変わらずです。 ■チップ 例)TINY2313V 秋月で買いました。 ■参考にしているURLすべて ■ライタ、OS 例) ■エラー出力コピペ例) ■ソースコードコピペ ■基板写真
開発環境も必要じゃない? Linux(Debian etch) + avr-gcc 4.2.2 + USBasp(20090329) とか、 WinXP + avrstudio + AVRDragon とかあるといいね。
57 :
774ワット発電中さん :2009/09/11(金) 11:18:02 ID:eoaOv+2r
誰も質問しなくなるなwww
逆に項目を全部書き込んで質問すれば、答えてくれるって事だ。
質問テンプレうぜーw ハードかソフトかAVR自体に関する質問かなどで、先に出して欲しい情報は違う。 情報が不十分な質問がきたら、不足してる情報を要求する。 それが出るまで先走って回答しない。 気に留めておくことなんてこのくらいだと思うがね。
>>55 4番目以降は慣れていなければ出し忘れてもしょうがないが、
頭3つは、人として質問するからには必ず出して欲しい。
テンプレがあっても中身を書けるか疑問に思うぞ。 そんなまともな奴らばかりとも思えないし、 具体的に言葉にできるやつは自分で何でも解決できそう。
>55はハード製作中のつまずきが前提になってるのがおかしい。 設計や構想段階での質問だってある。 アセンブラの命令を一つとってその動作に関する質問だってある。
質問したいことをきちんと書く能力がある→自分で問題解決できる→質問不要 質問したいことをきちんと説明できない→何を聞きたいか判らないぞゴラァ or 情報小出しにすんなゴラァ →質問に答えてもらえない→質問無意味 ダメじゃんw
その為のエスパーなのですよ。
最初から書いてない人って要求しても書かなかったりするよね。 なぜか回答をすると「それはちょっと違う。これこれこういう理由なんです」って 否定する感じに情報を小出しする。
質問する人も怖いのさ、用語を完璧に理解してなかったりするし、 霧に巻かれた状態で道しるべを探している。 誰でも最初は素人なのだから先輩も似たような経験は必ず持ってる筈なので、 その拙い文章から意図や状況を汲み取ってアドバイスしてやるものさ。
叩かれて育ったから常に警戒してるのさ。
AVRマイコン使えば俺の下痢症状は止まりますか?
素直に初心者スレに誘導したらいいんじゃないか?
■やりたいこと(具体的に)
3日前からの下痢を治したい
■なにが出来ない?
下痢便がとまらない。故障でしょうか?
■問題解決のために何をしましたか?
正露丸を飲みましたが、結果は変わらずです。
■チップ
TINY2313V
秋月で買いました。
■参考にしているURLすべて
http://science6.2ch.net/test/read.cgi/denki/1252285807/ ■ライタ、OS
純正AVR-ISP
■エラー出力
)
(
,, ) )
゙ミ;;;;;,_ (
ミ;;;;;;;;、;:..,,.,,,,,
i;i;i;i; '',',;^′..ヽ
゙ゞy、、;:..、) }
.¨.、,_,,、_,,r_,ノ′
/;:;":;.:;";i; '',',;;;_~;;;′.ヽ
゙{y、、;:...:,:.:.、;:..:,:.:. ._ 、}
".¨ー=v ''‐ .:v、,,、_,r_,ノ′
/;i;i; '',',;;;_~⌒¨;;;;;;;;ヾ.ミ゙´゙^′..ヽ
゙{y、、;:...:,:.:.、;、;:.:,:.:. ._ .、) 、}
".¨ー=v ''‐ .:v、冫_._ .、,_,,、_,,r_,ノ′
/i;i; '',',;;;_~υ⌒¨;;;;;;;;ヾ.ミ゙´゙^′.ソ.ヽ
゙{y、、;:..ゞ.:,:.:.、;:.ミ.:,:.:. ._υ゚o,,'.、) 、}
ヾ,,..;::;;;::,;,::;):;:;:; .:v、冫_._ .、,_,,、_,,r_,ノ′
ストッパを服用してください。
>>70 エラー出力が、下痢じゃない・・・立派なトグロ巻いてるぞ・・・
あ!だからエラーか・・。
下痢の原因の特定が先 病院行け
ケツからデバッガ挿入されるかもしれんね
75 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/09/12(土) 11:06:06 ID:fTMm3q/b
お前ら もっとスルーのテクを磨け アホ!
高電圧プログラミングはやめてね? 優しくね?
77 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/09/12(土) 12:58:05 ID:fTMm3q/b
avr-gccってmain()の最初でstackを設定してるけどどしてcrt0で設定しないのかな? 知ってる人教えて
さて、スルーの穴にテクでも磨きに行くか
>>77 まっちゃん さん 【2007/07/04(Wed) 21:43:02】
pd5d8e0.osakff01.ap.so-net.ne.jp Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.4) Gecko/20070626 Firefox/2.0.0.4
もしよろしければ、会ってもらえませんか?
SEXに関しては、そちらのどのような要望にも答えられますよ。
都合がついたらメールください
まともな回答を期待するなら、wikiへ行った方がいいね なにせここは2ちゃんねるなんだからさ
質問です。 AVRでテレビ画面にオーバーレイをかける装置を作っているんですが、 具具って出てくるのは白色の文字とかラインとかだけなんです。 黒色を出すためにはどうすればいいのでしょうか? AVRとは直接かんけー無いんですが・・・
黒レベルにすればいいんでないのん…?
>>82 “アナログ”表示を消すんですね、わかります
>>85 なんか、楽しそうな石だね。キャラジェネまでつんでるみたいだし・・・
色んな板で大きな口叩いてたキヨピーだいすきな大阪の変態おやぢが静かになったなw
こういうのを待ってたんだよ!!
90 :
774ワット発電中さん :2009/09/18(金) 10:54:20 ID:6Z2FN9rd
俺は25PINのLPTポートに抵抗つけただけのChaNさんのライターだから話ができないなあ ちなみにソケットも抵抗も昔の基板から取った部品だからライター0円 共立の汎用基板TINY2313とMEGA168、2つで約2000円プラス送料 基板をつなげるコネクターはSCSI用の40PINのぶった切って26PINと20PINの作ってるから0円 実際、共立の汎用基板もいらなかったなあと思うこの頃 それなら秋月で、上記AVRチップ2つで400円プラス送料で買える TINYなら100円
その質問するひとはマイコンも電子工作も初めてと勝手に予想。 arduino買うのおすすめ。3000円くらい。 どこで興味持ったんですか?なにつくるですか?
ニコニコ動画で興味を持ったに一票
>>89 ハードに詳しいならいいけど、
よくわからないならちゃんとした製品を使ったほうがいい。
毎回
>>89 みたいな阿呆でてくるよな。
ググって自分で決めれよ。それが出来ないなら最初からするな
>>96 過去レスみても分かるけど、毎月こういうのが出てくるからプギャ〜!ですよ
あぁ、過去スレ読んでなかったけど、地雷質問だったみたいね。すいません。 電子工作ははじめてではないけどほぼ素人のレベル。ソフト方面はある程度大丈夫。 興味を持ったのは、もともとPICであれこれググってたらAVRのほうが安く済むかも、って情報あったので。 作りたいものは、GPSとデジタルコンパスを使ったエレキのオートパイロット(海上で船を一定の位置に止めるためのモーター)。 マイコンで具体的にやりたいことは、GPSとデジタルコンパスの情報受信して、流される方向を計算して定位するようにモーター回して(PWMで出力制御もやらせたい)、後は多少の情報を液晶ディスプレイにでも表示できればOK。 なんか高周波で云々とか難しいことやるわけじゃないし、ハード的にはLEDピコピコできてリレーつなげりゃ十分な感じ。 こんなもんで情報足りてるでしょうか?
Arduinoでおk
>>98 船つくんの?
TA7291Pあたりにモーター付けて、サーボつんで舵を取るって感じ?
マイコンに直接モーターは付けんなよ〜。
ただGPSモジュールで位置を受信するのは良いけど、
広いところでやらんとまずいよ?防波堤衝突やらリアルな船への衝突やら。
周囲の障害物を知るためにも超音波かドップラーセンサーもつけたほうが良いかもね。
(ドップラーの場合は野外で使うと電波法が絡んでくるけど)
あと電池なくなる前にレシーバーか何かに情報送るように
無線の送受信ユニットもつけておいたほうが良いかもね〜。
以上、素人からの考えでした。
>>99 さんが言うようにArduinoのほうがいいかもね。
オプション色々あるし。安いし。
1)でへへへ。スレの馬鹿どもに軽く言われたけど出来たぜ 2)よし、海に着水させて電源ON! 3)挙動おかしいけど、マイシップはイタリアに向けて進んでるな。ぐふふ。俺SUGEEEE!!!! すぐに横波受けて、バランス崩し、転覆。 ArduinoやGPSモジュール、電源周りもろとも水没。 通電中だったのでお釈迦。 4) |||||orz....お金・・・
えーと、とりあえず作るのはあくまで補機であって、こわれようが燃えようが主機で帰れるので信頼性は特に問題としないです。 船自体が始めてなわけではないので波とか海上のマナー云々に関しては問題ないです。 そもそも船自体を作るわけではないですよ。 102さんの言うとおり、あれこれ水没させたり破壊する可能性は高いので、単品の価格はなるべく安く済ませたいです。 Arduino、ググってみたらよさそうだったんだけど、一個3000円オーバーはちょっとキツイかなぁ。 多分何度か試作を繰り返すと思うので、壊しても数百円ですみそうなAVRで今のところ考え中。
>>103 ArduinoよりGPSモジュールのほうが高いよ?
105 :
774ワット発電中さん :2009/09/18(金) 14:16:45 ID:IJlGOx/N
>>103 1個はArduinoを買う。
色々、試すと、どういうものかわかるはず。
そうなれば、簡単につくれるのもわかってくるはず。
最初の3千円をおしまないこと。
>>103 というか・・・・たかが数千円でグダグダ言うなと。
言うことが小さすぐるんだけど、小学生か君は。
Arduinoならうちに3個ほど余ってるよ
>>106 うん、大人になると小遣いが小学生化することもあるんだ;;
破損リスクに関しては、GPSは船内取り付けだしそれこそ転覆でもしない限りは無事ですみそうだと思ってる。
水没するとしたらモーターにつけるコンパスのほうかな、こっちも高いけど。
まあそこが水没するようならモーターそのもの(こっちは数万単位)も水没してるだろうし、まぁしゃあない。いまんとこ一度も水没はさせてないけど。
そんなことより製作過程でAVR自体を配線間違いとかでお釈迦にするリスクが一番たかそうかな。
なので同じ3000円使うならArduino一個より、ライター+石数個、のほうがありがたいなと。
これ以外にもいくつか作りたいものもあるし、のちのちの勉強のためにも、ね。
まぁ、地雷質問したのは悪かったが金関係はあんま突っ込まないでくださいな。
Arduinoは中のAVRをとっかえひっかえするようなモンじゃないから。
配線違いでお釈迦にするくらいなら完成してあるArduino買っとけ。 これ以上はレスせんどくわ。ID:rqVq31QF 相手してると頭おかしくなる
111 :
774ワット発電中さん :2009/09/18(金) 15:02:41 ID:iWttAecm
ごめん
>>89 のようにUSBシリアル変換ICつかうのはなんでだめなんだっけ
Arduinoでも、間違ってモーターから逆電流ぶっこんでしまって破損とかそういうリスクは変わらんでしょ。それが一回100円か3000円かの違いで。 一発でソフトもハードも完動させて一回こっきりしかやらないならそれが一番ラクそうだけどね。 まぁ頭おかしくなるまで解答してくれてありがとね。
100円ってtiny2313か。それならArduinoと比べたらだめだね ArduinoのAVRは高性能だから。
え?いや、わかんない。ダメとか言ってないです
>>111 もっと安い方法とか便利な方法とか、あるのかなと思って聞いてみたんだけど。
ググるとみんなわざわざライター用の石焼いてライター作るとかやってるってことはなんか使い勝手とか違うのかと思ったけど、そのへんが良くわからなかった。
オシロスコープ等がないなら、ライタは動くものを買うのがお勧め。 動かない時の原因の切り分けで大変なことになる。 別にarduinoじゃ無くていいと思うよ。
>89と関係ない話になってるんじゃないかと思うけど キミ何が知りたくてこのスレへ来たんだね。
えーと、89のとおりです
>>116 残りの話は何作るのか出せっていわれたから出しただけで。
119 :
774ワット発電中さん :2009/09/18(金) 15:24:26 ID:iWttAecm
>>118 なんか勘違いしてた
できるんだ
ありがとう
でもなんかめんどくさくなってarduino pro miniばっか使ってる。 328pの高性能で2000円でしかも小さい。コーディングも簡単。
121 :
774ワット発電中さん :2009/09/18(金) 15:33:13 ID:iWttAecm
こういうのを今技術とかの授業でやらないんだってね 合計2〜3000円でモーター動かすプログラムとかつくったら予算でも 学習でもよさそうなのに
バッファとかモータードライバとかダイオードとか、 初歩の初歩から勉強したほうがいい大馬鹿が1名いるな。 マイコン云々言う前にベーマガでも読んどけと。
>89>117 ライタについて自分も何人かと同意見だけど、機器の合わせ技や自作はやめて 「共立の2100円のキット」かATMEL純正「AVRISPmkII」(秋月で4000円)を勧める。 安く始めたい気持ちは分かるが、>115の理由で。 開発環境はAVR Studioをインストールする。C言語で開発ならWinAVRも。 AVRISPmkIIならAVR StudioからターゲットのAVRに書き込める。 電子工作にあまり慣れてなく、AVRは初めてなんだよね。 だったら上記内容で、一番手間が少なくAVR初心者が迷う点も少なく始められるので 検討してみてくれ。 ついでにAVR(ATtiny2313やATmega168など)も秋月で揃えれば送料節約になる。 AVRの価格は多分日本最安値だ。
使ってる人いるみたいだし、
>>118 で行こうかな。
>>120 のarduino pro miniも2000円ならちょっと検討してみます。
どうもありがとう。
と、書き込んでるあいだに
>>123 ありがとう。
共立キットは仰せの通り、どうせ秋月でAVR買うなら、送料が・・・とか思ってたんですが。オススメは純正ですか。
AVR StudioとWinAVRはとりあえず導入しました。
もうちょい悩んでみます。どうもありがとう。
上司が部下に話すような偉そうな口調がムカつくんだけど。 rqVq31QFうせろヴぉげ
AVRISP mkII & AVR STUDIO 4.17 の環境で 「STK500.exe -cUSB -b」 を実行したら 「could not connect to AVRISP mkII on USB」 もちろん、AVR STUDIOから接続しても、 「Connect failed」 一週間前まで問題なく使えていたのに、原因がわかりません。 ドライバ再インストも試しました。
ID:M2TKLanfのウザさは異常
>>128 別のPCでやってみたら?
PCのUSBポートが電気的に壊れた可能性が高い
一度電源を全て切って、しばらくしてから入れ直すと直るかもしれない
USBにわけのわからん物繋ぐ以上はよくある事
PCが安物だと特に
>>128 AVR studio 4.16 にダウングレード
avr isp mkII のドライバも4.16に付属してるのに
変更したら動きました。
だからソフトのせいじゃねーって
4.17入れてないから推測だけど、 ISP mkIIのファームが4.17用では無かったんじゃね?
どこいらへんが?
>135ではないが・・ FETのゲートは一応始末つけておいたほうが良いだろうな
>>138 135でも、137でもないが、たぶん違うと思う。
数A〜数十Aを駆動するような、ゲート容量が数千pFあるパワーMOSFETなら
ともかく、ゲート抵抗はなくてもまぁ問題ないかと。
むしろ、AVRのピンが入力に設定されている状態や、リセット状態など、
ハイインピーダンス時に、ノイズなどでONしないよう、ゲート - ソース
(GND)間に100kΩ〜470kΩくらいの抵抗を追加して、ドライブされていない
状態でもMOSFETを確実にOFFできるように対策すべきかと。
今の回路だと、動作中でもMOSFETのゲートを触ると、ドライブされて
いない桁のセグメントが点燈しちゃうかも。
糞スレ
プルダウン・アップはしましょうよって話。 FETの宙ぶらりんはそれなりに怖いぜ。それなりにな。。。
何が怖いの? 具体的に。
143 :
774ワット発電中さん :2009/09/19(土) 22:25:16 ID:GCOjPbsu
144 :
774ワット発電中さん :2009/09/19(土) 23:37:41 ID:JDMtkfL8
鼻から?
145 :
774ワット発電中さん :2009/09/19(土) 23:42:09 ID:sEkKQ0ag
それ、魂抜けかけてるんじゃ??
こうなる。 .|||||| .|||||| ||||| ||||| .|||| .|||| ||| ||| .|| .|| | | ::::::::::::::::::::::::...... ........::::::::::::::::::::::::::: ;;;;;;;:::::::::::::::::: γ ⌒ ⌒ `ヘ イ "" ⌒ ヾ ヾ ドガァァァァァァァァン..... / ( ⌒ ヽ )ヽ ( 、 , ヾ ) ................... .......ゞ (. . ノ. .ノ .ノ........... ........ :::::::::::::::::::::::::::::::::ゝ、、ゝ.....| |..., , ノソ::::::::::::::.......:::::: _ _i=n_ ._ [l_ .._....,,. .-ー;''! i;;;〜−ヽ_ii_i=n_ [l h__ /==H=ロロ-.γ ,〜ー'''l ! |'''ーヾ ヾ 「!=FH=ロロ ¶:::-幵-冂::( ( |l | ) )=HロΠ=_Π Π=_Π「Uヾ、 ⌒〜"""''''''⌒〜'"´ ノ;;'':::日lTΠl:::.... Д日lTl,,..:''''" ""'''ー-┬ーr--〜''"" :::Д日lT:::: FH=n.:::::' | | :::FL日l」::::: ロΠ=:::::.:. ノ 从 ゝ←FET .::田:/==Д:: 口=Π田:::. .::::Γ| ‡∩::::: Γ| ‡∩Π::.... ...:::Eヨ::日lTlロ:::: Д日lTlロ_Π::::....... ...::::::::田:凵Π_=H:::
マンガ脳の恐怖、まで読んだ。
あきらめた
149 :
89 :2009/09/24(木) 21:38:00 ID:IePhGZLj
>>118 で試したら無事書き込めました。で、まぁHello world的にLED点滅まで成功。ありがとうございました。
次はLCDでhello worldだ
ここ急に過疎ってますね。 何かあったの?
このスレは終了しました。
ザオラル
しかしAVRは生き返らなかった
糞スレだからこのままdat落ちするんじゃね?
157 :
774ワット発電中さん :2009/09/26(土) 11:05:24 ID:f6xJpY1l
ほしゅ
特に新しいネタでもなければ、質問する人もいないからじゃね? なんかAVRで作ったものでも公開しろよ
電気電子って、月に1〜2書き込みがあれば落ちない印象があるんですが、 じっさいにはどんなトリガで落ちるんでしょう?
161 :
774ワット発電中さん :2009/09/26(土) 14:55:02 ID:nDzrTrUC
AVRISPmkIIってのもらったんだけど アプリとドライバーは入れ終わったw まず、なにすりゃいい? やぱLEDチカチカですか?
162 :
出来杉君 ◆FOXzgCGVocg8 :2009/09/26(土) 16:55:14 ID:8+V00Emo BE:1342613186-2BP(2011)
とりあえず、スレ消費すればよくね?ww
自動電圧調整器スレってことで?w
>>158 公開できそうなレベルのものがないからな・・・
最近はOLED(160×120)でちょこっと遊んでる。
>>150 USART-FT232経由でPCのterminalにHello world、LCDにHello worldまでできました。PWMモードでLED点滅もOK。100円の石でもなにかと多機能ですね。
それにしても、AVRでLCD関係ググるとカラーグラフィック液晶にフォント表示とかオレ的にはレベルたけーのばっか出てきて、キャラクタ液晶の情報探すのに苦労しました。
結局PICのページのアセンブラ参考に書いたけど、AVRはド素人向けにまとまってるページとか少ないんですかね。
大抵のAVR使いは既にPICの常識は持ってるからな arduinoなんかだとレベル低い事楽しそうにやってるよ
>大抵のAVR使いは既にPICの常識は持ってるからな いやいやいやいやw
ヒューズビットで分周の設定がありますが、この設定を変更することで 動作クロック数が変わる以外に伴う事象(消費電力が上がる/下がる等)が何かありますか?
>>171 高速動作にすれば消費電力が増えるのは常識
シリアル通信するなら、ビットレートが変わるから注意な。
なんだよ、ザオラルで生き返ったじゃん
というより148以前の、あまりの書き込み内容で皆避難していた まだざおらるとか言うかね
>>173 ありがとうございました。ビットレート等には注意するようにいたします。
>>171 とりあえずデータシート見ることをお奨めする
消費電力は大きく変わる
各種機能によってどれくらい変わるかも書いてある
TVでAVR アート作品紹介してた AVRで制御してたな
cli(); sleep_mode();
/RESET=Low
VCC=0V
Q33NY
VccとGND間に交流100V流しても動きません。なぜですか?w
えっ、嘘 動くだろ普通にw
動くはずだよ普通に。ワンタイム動作かもしれないけど
空を飛べるかも知れないな
三相三線式のAC200Vにしたら安定しました。
普通に動くよ。物理的に。
まだまだ動くよ。精神的に。
ACアダプタ使わずに動かすには ダイオード、ツェナー、抵抗、コンデンサーくらいか、試してみっか。
ゼンマイとかゴムという手もあるよん
5cmほど吹っ飛びました
195 :
774ワット発電中さん :2009/09/29(火) 17:16:29 ID:Hwg3vIdN
Gの背中にAVRを貼れば勝手に動くよ。無電源で。
>>196 すまん・・・意味が分からん・・kwsk
200 :
774ワット発電中さん :2009/09/30(水) 12:24:56 ID:PZz+xBLD
ツボの刺激にはDIPがいいかもしれん。
AVで使うマイコンだよね?
Adult Video Reference
実は大人のおもちゃに入ってます
__,,,,、 .,、 /'゙´,_/'″ . `\ : ./ i./ ,,..、 ヽ . / /. l, ,! `, .| .,..‐.、│ .| (´゛ ,/ llヽ | ヽ -./ ., lliヽ .| /'",i" ゙;、 l'ii,''く .ヽ / ...│ ゙l, l゙゙t, ''ii_ :.! : /.._ / ヽ \\.`゙~''''''"./ .|-゙ノ/ : ゝ .、 ` .`''←┬゛ l゙ /.r ゛ .゙ヒ, .ヽ,  ゙̄| . | ./ l ”'、 .゙ゝ........ん l / ヽ .`' `、、 .,i゛ .l| ! ''''v, ゙''ー .l、 PIC PIC |l゙ .il、 .l .ヽ .¬---イ .ll゙, ./ ! ,! .!!...!! ,,゙''''ー .| l.",! .リ | l":| .〜''' ,. │ l; :! .|'" ...ノ,゙./ │ l: l「 ! . ゙゙̄ / ! .| .| ! ,i│ | :! .l. } ,i'./ | :! .| :| . / .| :! | ;! " .| :! ! │ │ :!:| ,! i ,! :! , .l, / .l゙ ! :! | , l. | .| :, : v'" .! |'i .ヽ, ./ :! .ヽ _, _/ / .l ゛ ._/ :l゙
AVRでエロゲー作れないだろうか
>>210 動画しか見てなくて、ピン配置の意味を勘違いしてました!
ありがとうございます
AVR Adult Video Reloaded 「超豪華ハリウッド女優によるAV」
なにこの流れ
糞スレの祝いです
気の触れた粘着が常駐してんだろどうせ この板ではよくあること
216 :
774ワット発電中さん :2009/10/02(金) 00:06:13 ID:LSkY77hh
>>215 なに?
気の利いたAV女優が常駐してるのか?
この板ではよくあんのか?
こういうのって女の子にエロイこと言ってよろこんでる おじさんみたいな心境なんですかね。
ADPCMで録音されてれば、デコードはそれほどパワーいらないだろうね。 DACをPWMを使って出してるから音質もそこそこじゃないかな、ただこの回路は 直流を直にヘッドフォンに流すからヘッドフォンが熱持ちそう(モノによっては劣化する)だな。
>>218-219 ソースコード見てないけど、PWM分解能が7bit+7bit+2bitとあるので、44.1
kHzの倍の周波数でL/R切り替えしているとしたら、PWMの最低入力クロック
は、128倍の11.2896MHzかな?
実際は水晶が20MHzだから、たぶんPWMの入力クロックは10MHzで10%くらい
遅めの再生速度? 78.125kHz(12.8μ秒)に1回のペースでL/Rの切り替えと
PWMの更新をやりつつ、SDメモリの読み出しとADPCMのデコードもやらなく
ちゃならない。
更新1回あたり最大256ステップしか走らない。 タイマ割込だとムリ?
実際の再生レートと、ファイル格納フォーマットは別なんじゃないのかな?
回路をちょっと見て思うのは、モノ+(L-R)をデコードしてるんじゃないかなってこと。 DACは基本モノで行ってL-R成分で最終段という気が。 なので実質44.1Kモノ+αでしか動作してないんじゃないか?
じゃ、ステレオなら水晶が22.5792MHzなら推奨速度ってわけか。 でも、たぶんモノな希ガス。PICやArduinoでの作例を考えると。
>>218 ADPCMならCD音質は無理だろ。
それに16bit精度がないとCD音質は無理。
スレの路線を戻そうと必死ですw もとは大人のおもちゃを高性能にするためにAVR使うっていうスレじゃなかったっけ?ここ
某バケラッタスレよりいいようなw
もう8bitのDAでいいんじゃない?
dsPICに引っ越しますた
64KSRAM載ったAVRとっとと出せ いちいち外付けにしてラッチ追加するの面倒じゃわい遅いし 型番はATmega65535な
XMEGAだとそのうちでるんですかね。>64KB RAM
いきなりAVR32じゃなくて16bitのとか出ないかな。需要無いか
heroも閉鎖したし、64KBでも出さないと本当にAVRの未来はないと断言できる xmegaは性能、入手性でdsPIC33Fや24Hに大きく劣るからまったく魅力なし
>>233 あんたに断言されても痛くも痒くもないとおもうぞ?w
かってに断言しとけw
>>232 コスト的に利点がでれば良いけどそうじゃなければ
種類が増えるよりAVR32ってことになるんじゃないかな。
個人的にはStellarisのLM3S102みたいな28pinのAVR32がでてくれるとうれしいけどw
AVRコアに毛の生えたような何のアドバンテージの無いxmegaなんかより、 AVR32を下の方に拡張してカバーしてくれた方が何倍もうれしいな。
個人的には毛が生えてないほうがいいけどな。 禿好きってわけじゃないぞ。
つまりgccが制限なく使えればAVRでなくてもいい、 ARMがあるじゃまいか
242 :
774ワット発電中さん :2009/10/03(土) 04:20:43 ID:Tu7p5SCY
AVR32の下の毛を剃って、AVP32ってのを出せばよいのですね?
蓮画像なんて何年ぶりに見ただろう。
>>244 「R」(毛付き) ⇒ 「P」(毛なし)
xmegaはISPが使えないから今までのライタは全て無駄か ほんと糞だな
>>248 別格と思えばいいんじゃね?いままでのtinyやmegaはオモチャだったと。
純正のライターは使えるんじゃなかったっけ?
>>248 senshuさんならなんとかしてくれる
252 :
774ワット発電中さん :2009/10/06(火) 10:23:50 ID:7im9j9oP
つうか、Xmega使ってまで何作りたいんだ?
X RATEDのmegaシリーズの用途っていうとアレだよ
>>254 だからまだ日本にはいってこないのか・・・・
>>255 入ってるけどマークが削られてて何のチップかわかんない
WIZ5100動かない。 起動後、IPアドレス、ネットマスク、デフォゲ設定するだけで PING通るってホントかな?
秋月にMEGA328Pが\250で出たのか MEGA168P \230 MEGA88P \250 MEGA8 \200 MEGA8はいいとしても88や168の立場は・・・
ATAVRDB101…
>>258 マジか
早速買わねば
そしてコレクションが増えていく・・・
お邪魔します。質問なんですが。 AT90S1200A(RC発振器内臓)を1200(無印)に変更することはできますか? その逆は、並列書きこみ処理で可能らしいのです。ググッたんですが、やりかたが 悪いのか、みつかりませんでした。よろしくお願いします。
328Pに全て持ってかれたな これで2313の意義は綺麗なポートだけ 兼用が痛すぎるけど 328Pを数珠繋ぎにして何か作るか
両方みつかるはず、ただ古い記事なので探すのが大変かと。
>>262 方法はどちらも同じなので(パラレル書き込みでヒューズ書き換え)。
労力を考えるとTiny2313を買うか他のAVRに乗り換えた方が便利かなとは思うが。
(ちょうどMEGA328が安くでたしね)
>>262 A control bit (RCEN) in the Flash Memory selects the On-chip RC Oscillator as
the clock source when programmed (“0”). The AT90S1200 is normally shipped with this
bit unprogrammed (“1”). Parts with this bit programmed can be ordered as
AT90S1200A. The RCEN-bit can be changed by parallel programming only.
日本語でおk
Бит управления (RCEN) в флэш-память выбирает генератор На-обломока RC как источник часов запрограммировано ("0"). AT90S1200 нормально погружено с этим битом нет запрограммировано ("1"). Части при этот запрограммированный бит можно приказать как AT90S1200A. RCEN-бит может быть изменен параллельный программировать только.
よくわかった
644Pも負けてくれ!
mega128を手元にある24MHzで使おうと思うのですが、 やはり無理でしょうか
オーバークロックは自己責任
OCしてもいごくだろうけど、電圧いつもより高めじゃないと安定しないかも? 発熱など気をつけてね。どちらにしろ寿命は縮むだろうね
328PってAVRWRTに対応してないねぇ。 ラックの奥に寝てるシリアル接続のライター出すしかないのか・・・
AVRSP
AVRWRT が 328P に対応していないんじゃね?
>>275 ですね。シリアル接続の奴でAVRSPでやるしかないですね
>>276 その日本語が正しいねw 失礼しました。
279 :
262 :2009/10/07(水) 18:35:54 ID:Prj+n5Y5
>>264 さん
ご指摘の通りですね。確かに、手間が・・・
>>265 さん
ヒューズビットというので、一方向への切り替えしかできないと
思い込んでいました。どちらも可能と。
>>267 さん
はい。最初に見つけたのがそのサイトでした。そこには、有効化としか書いてなかったので
無効化はダメなのかな?と。
今、そのサイトに記された「Nの電子講座」に飛んでみたら、両方向可能とわかりました。
おさんかた、ご助言ありがとうございます。お手間かけました。
>>271 そんなものは個体差なんだから自分の手持ちで試すしかない。
一時期データシートに24MHzが云々とか書いてあったんだよ 多分マージンあるよね PCみたいに電圧盛るかー
-20のを3.3Vで16MHz駆動するほうに興味があるんだが。
>>277 何歳ぐらいが対象?30過ぎたおさーんでも参加して違和感ない?
-20の3.3Vなら普通に20MHz動いてるけど。 個体差なの?
286 :
774ワット発電中さん :2009/10/07(水) 23:42:23 ID:6kWjXdT/
∩___∩
/ ノ `──''ヽ 0100を10進法で表せてどうするんだ?
/ / | ∩___∩
/ (・) | / ヽさあ、とりあえず10進ませて0110でいいんじゃね?
>>284 __| ヽ(_● | ● ● |
\ |Д| | ( _●_) ミ
彡'-,,,,___ヽノ ,,-''"彡 |∪| __/`''--、
) |@ |ヽ/ ヽノ ̄ ヽ
| | ノ / ⊂) メ ヽ_,,,---
| .|@ | |_ノ ,へ / ヽ ヽノ ̄
| |_ / / | / | | ヽ_,,-''"
__|_ \\,,-'"\__/ / ,────''''''''''''''"""""""
~フ⌒ ̄ ̄ ~ヽ ヽ  ̄ ̄"""'''''''--、""''''---,,,,,,__
/  ̄''、|ノ )ヽ
___/  ̄ ̄) / |___
むしろ30過ぎのおさーんしか来ないと思われ
>>285 普通に動くな、個体差よりも基板のアートワークとか、
アプリケーションの違いかねぇ。
内蔵発振回路と、クリスタルの特性や負荷容量がマッチしているかどうか もあるのでは? ユニバーサルで組むのに、手持ちの小容量セラミックがなくて、クリスタル だけ繋いだけど、90S2313もMega88もMega168もちゃんと動いてる。 TTLの時代には、LS04使ってボーレートジェネレータ用のクロック源を作った けど動かないので調べたら、3倍オーバートーン発振していたなんてことが、 よくあった。
あ、漏れはクロックモジュール使ってしまうので モジュール任せだなぁ。
昔は、クロックモジュールどころか単体の水晶も今とは違って値段が高く て、そうそう数を使えなかったんだよ。 CRTディスプレイは割りと周波数が追従してくれるので、ボーレート誤差 が許容範囲に収まる周波数を選んで、CPUの動作クロック、CRTCのドット クロック、さらにUARTのボーレート原発振を、すべて1個の水晶発振回路 で賄ったりしていた。 あと、三菱のTTLは他社と特性が違うので避けたり、発振回路に使うTTLは メーカー指定したりとか。
その昔話は誰得なの?誰得なの?
昔にも程があるw
別に誰も得しない書込みがあってもいいけど
例えば
>>292 とか
あ、そんなんあった。 ロジックは同じでも内部回路が東芝、日立で、TIとはちがうっていう74シリーズ。 セカンドソースには、注意しなさい。っておはなし。
メルメル
プニプニ
共立とdigikeyでATXmega売ってるね
ライタも手に入るといいね
あ、AVRISP mkIIで書き込めるのね WinAVRもそのまま使えるっぽいから一度試す価値はあるかな
WRTじゃダメ?
3線のSPIもどきから2線の双方向同期シリアルに変わったということだから 回路は流用できるとしても、ファームとPC側ソフト両方の修正が要る データが1線だから方向切り替えの発生で従来のISPより遅くなる 恐らくJTAGの方が作りやすそうな気がする
wiki崩壊してね?
305 :
774ワット発電中さん :2009/10/11(日) 07:03:27 ID:aS9UGJ5r
秋月の328P買った MOSIとかMISOのISP出来なくなったの?
>>303 書き込み時もベリファイ時もデータの流れってほぼ1方向だから
あんまり影響ないんじゃね?
>>305 データシートが共通の168Pでできてるから、328Pは問題ないと思うけど?
>307 168Pと328Pはデータシートは別。 紛らわしいが328Pは168PAと同類なので。 でもできるはずだぞ。>305
>>305 さんが使用しているライタが対応してないとか(IDとか)
そういうオチじゃないよね・・・
>>308 「V」付きの型番は低電圧対応ってのはわかるんだが、「168(無印)」「168P」
のほかに「168PA」ってのもあるんだっけ? 「168P」と「168PA」って何が
違うの?
関係ないけど、VUSBを「DEVICE=atmega168P」でビルドしたら動かなくて
「DEVICE=atmega168」でビルドしたら動いた。
違いはインクルードされるヘッダファイルだけで、ヘッダファイルの差分を
調べたら、割込関係の定義部分が違っていて、168Pの方は古い定義が入って
いなくて、これが原因(割込ハンドラが関数としてコード生成される)のよう
だったけど、それ以上の確認はしてない。
>310 データシート見ろよっつーか。 PA以降はVが存在しなくなった。Vなしでも1.8V対応。
>311 これで、電池2本の最小1.8V、4MHzで起動した後、 PWMによる昇圧で5V作成、自身の電源に使いまわしてクロックを 20MHzに再設定、 という技がデータシート違反じゃなくできるようになった。 のでためしたいと思っているがまだやってない。 5Vロジック使わなくなっちゃったからなぁ。
ATXmegaは、DACが搭載されたので嬉しいにゃ
>>313 >ATXmegaは、DACが搭載されたので嬉しいにゃ
まじっすかー
データシートみに行くべ
俄然興味が湧いてきた
XMEGA A1シリーズ ・DMAC x 4ch / USART x 8 / IrDA復変調 / 実時間計数器(RTC) ・8ch、16ビット タイマ/カウンタ ・8ch、12bit、2M採取/秒の2つのA/D変換器 ・2ch、12bit、1M採取/秒の2つのD/A変換器 ・I/O x 78本 ・内臓クロック 32MHz ・フラッシュメモリ 64〜384KB / SRAM 4〜32KB / EEPROM 2〜4KB ・16MBまでのSRAM用外部バスI/F ・128MBまでのSDRAM用外部バスI/F 価格も結構安いし、いいかもです
3.3Vで全て完結すればいいけど、やっぱり全部とは言わず一部のI/Oポートは 5Vトレラントを保証してほしいなぁ。 A/DやD/Aの兼用ポートは難しいかも しれないが、せめてどっか8bitくらいは5Vロジックの出力に直接繋げられた 方がいいと思う。
128MBまでのSDRAMって、リニアなのは16MBで、あとはバンク切り替え? データシート見てもわからんかった まあこのクラスなら数MBも使えれば十分か
ちとオーバースペックだよな。
wiki崩壊してね?
ADCとDACとどっちが金かかるの?
XMEGAの肝はイベントコントローラか? ぱっと見、アナログが弱いPSoCみたいだと思った。
ADCの方が金がかかる というか複雑になる
今日大阪日本橋のデジット言ったらカウンターに張り紙してあって XMEGA入荷してた、2品種だったけど型番まで正確に覚えてないや。 自分はTINYから最近秋月でも安くなってきたMEGAに移行し始めたばかりで 88Pとかでもスゲーって感じなのでXMEGAはまだまだだなぁ…。
ここまでXMEGAを使って何するかの話は無し
XMEGAはQFPだから、ハンダ付けが面倒くさい
DMAがあるのはいいんだけど外部RAMが32KBまでなんだよな。
あれ、違うのか?
>>317 128Mbit品までって意味だよ。
>>316 が勘違いしてるだけ。
128Mbit/4bitワード品で16MBytes実装。
コア拡張は無しだから、64K超えでバンク切り替え。
ってかX,Y,Zに上位レジスタ増設でのアクセス。
>>325 QFP64pinならAVR32でもSAM7S等でも一緒だし…
329 :
328 :2009/10/12(月) 02:01:36 ID:iFgD05fp
間違えてるのは316じゃなくて315な、申し訳無い
>>316
日本語データシートの記述が違ってるのか オリジナル見たら External Bus Interface for up to 16M bytes SRAM External Bus Interface for up to 128M bit SDRAM ということね 冷静に考えてアドレスが24bitなら16Mbitx8bitだから16MByte、 SRAMはこれでいいとして、SDRAMは128Mbitの内、 EBIのポート数によって4/8bitデータバスが可能で、 RAS、CASそれぞれ12bitなら データ8bitの場合128Mbit/8=16MByteで合うけど、 データ4bitは上位が捨てられて半分の8MByteになるのかな
それと24bitアドレス使用時はRAMP*レジスタ使えってことは、 多分汎用じゃないからキャリー見たりして他の汎用レジスタに加算して RAMPにいちいち転送するようなコードを書くのか うげえ・・・ この辺はH8みたくレジスタ拡張して欲しかった
AVRのI2Cで スレーブからマスターへ送信してマスターがスレーブからのデータを受信 するのを解説しているサイトはありませんか?またはどのようにすればよろしいのでしょうか? (マスター、スレーブともにAVRです)
333 :
332 :2009/10/12(月) 04:08:15 ID:m4m5UGXD
追記です。 C言語でお願いします。
>>320 目玉はそれだよね。
上手く組めば、クロック増分をはるかに超える性能アップっぽい。
XMEGAのADCは2Mspsだからな この性能のADC単体で買うより安い ちなみにdsPICは1.1Mspsなんだな
ということでまたPICはゴミ箱行き決定な訳だ。
ADCの性能の割にはコアが貧弱すぎるよな。 漢は素直にAVR32。
高速でトリップ計算させたりできる?
XMEGAは装備からして汎用向けとは言いがたく。 TQFP半田付けが苦にならないのなら素直にAVR32/SAMでしょ。 AVR32はCoretex-M3と似たようなものだが。 …ARM用語まで持ちこんでる(MPUはどうかと何時も思う)のはちょっと。 SDRAMを変換等で動かすのは大変だしね。 ま、それより気になるのがTINY88だったり。 MEGA88の簡略版(USARTと8bitT/C2が無いとかEEPROM64bytesとかSRAM半減)。 安ければ悪くないんだけど。
ちょっと前、別スレで出たけどXMEGAってMEGAシリーズの素直じゃないところ >R0〜R15の扱いと、I/OのアドレスがIN,OUTとLD,STで異なるのと >MEGA8より後のシリーズで追加された拡張I/O領域のアクセスの >不便さ(1bitクリアするだけで3命令5clkって) >それとADDIが無い をそのまま引きずってるの?
343 :
332 :2009/10/13(火) 00:20:31 ID:oBK+3zfL
色々と参考にしてとりあえずできましたが、I2Cでマスター(MEGA88P)からスレーブ(MEGA88P)へデータを 送信してスレーブはそのまま値を返してその返ってきた値をUARTでPCに表示しようとしたのですが、 マスターにそのプログラムを書き込んだ直後は普通に表示できますが、リセットすると何もきません。スレーブ からUARTで表示することはできたのですが・・・ なにが問題なのでしょうか?よろしくお願いします。
ラッチアップに一票。
いきなりI2CスレーブをAVRで作るのは 異常系で色々考慮する事項が多いから大変だと思うよ UARTで繋がってるなら何が起きてるのか出力してみては? マスター、スレーブ両方の状態を同時に見れた方がいい しばらくは試行錯誤するしかないね
I2C モニターかオシロで見れ
W5100やっと動いた。 原因はJTAGICEのISPケーブル、これを外したらあっけなく動いた。 ケーブルつないだだけでSPIがうまく動かなかったみたい。
>>347 ISPケーブルが悪さをするのは良くある話
349 :
332 :2009/10/13(火) 18:15:49 ID:oBK+3zfL
試しにマスターとスレーブを差し替えてみたら343と逆になりました。 ヒューズの設定など何も変わりないはずなのにおかしいです。 このAVRたちはマスターまたはスレーブにどちらかにしかなりたくないのでしょうか? 全く分からないです。
AVRのピンを入力にするとき、必ずプルアップしろとありますが、 これは例えば液晶モジュールのピンにも当てはまるのでしょう? AVRと同様にプルアップかプルダウンをしなければならないのでしょうか? 液晶は秋月のSG12864Aを使っています。
>>352 > AVRのピンを入力にするとき、必ずプルアップしろとありますが、
そんなこと何処に書いてある?
>>352 液晶モジュールのプルアップはどこかに大論文があるからぐぐってみたら?
各電子工作サイトやここの板で論争になった。
結論は何もしないだったと思うけど。
>>353 解説サイトよんでると、入力ピンが宙ぶらりんの状態になると、
HかLかが不定になるので、プルアップかプルダウンしましょうとありました。
入力ピンがオープンになる場合があるならプルアップかプルダウン これはまあ理解できる けど入力ピンにすると必ずオープンになるとはかぎらないと思いますよ。
>>355 それは誤読してるか、出鱈目サイトだと思うよ。
プルアップっていったって内部か外部かでも違うし、そもそも
プルアップ/プルダウン/オープンのどれが一番良いかなんて
ケースバイケースだから、実際の回路や使用法を詰めてみ
ないと何とも言えない。
>>354 探して読んでみます。
ありがとうございました。
>>352 ああ、SG12864Aか
DATAはどうでもいいが、CS1とCS2、R/W端子を47Kでプルダウン
内蔵のプルアップ抵抗をオンにすればいいだけじゃねえの?
I2Cの仕様には普通はプルアップしろって書いてあるでしょ。 仕様書どおりにやればいいじゃん。
プルアップ抵抗の値も通信速度によって適正値があるから、外部の方が良いと思うけどね。
計算めんどうだったら、とりあえず2本とも4.7kで吊っとくといい。
364 :
774ワット発電中さん :2009/10/14(水) 01:11:33 ID:xPKKmkDB
365 :
774ワット発電中さん :2009/10/14(水) 21:14:24 ID:OiNJFB69
AVRで直接キャラクタ液晶を制御することはできないでしょうか
>>365 AVRでコントローラの代わりをするってことですか?
ドライバを外付けで追加すればできそうな気もするけど
6桁LED時計 ってある?
google画像検索すると山のように出るけど、質問の意図は何?
369 :
774ワット発電中さん :2009/10/15(木) 10:23:36 ID:OpXpX+N5
ビデオカメラの画像(静止画でも可)をUSBで送りたいんだけど、AVRは使えますか?
はわわー
古いなw つかわかるオレもだがorz
質問なのですが、winavr用のSPIやUARTなどの周辺機器のライブラリ(アーカイブ)ていうのは存在しないのでしょうか?
だれかATXMega試した人いる? ADC/DACあたりでリアルタイム音声伝送なんか出来たら最高なんだが
音質にこだわらなければ余裕でできるでしょ
>>376 Xmegaじゃなくても?
ATmega168とか
>>378 なるほど。参考になるページありがとうございます。
AVRチップ同士で音声通話できると最高ですね
>>378 だと、8ビットで78KHz、
PWMはだいたい再生周波数の10倍の周波数が必要とされてるから、
実質7.8KHzぐらいが限界か
そう考えると
>>218 の16ビット48KHzステレオ再生というのはすごく嘘臭いな
>>380 PWMはノイズシェイピングをかけてあげれば
量子化誤差を可聴域の外に追い出すことが出来るんで
理論値で-96dBを確保することは出来る。
でも
>>218 はADPCMをそのまま使ってるんで全然駄目。
1bitアンプとかオーディオメーカーが謳ってる奴のことだ
ラダーでやってみれば
ΔΣ変換でやろうとしているんだけれど 高速PWMならCD音質が確保できるかな、と ただ、A/Dのところが思いつかない
何処まで制約付けるかによるよね。 外付けADC/DAC接続がアリなら、それこそ何だっておkだからな。 \1600ぐらいするけど、digikeyだとCS4231互換のAD1845まだ買えるしw
AVRに直結できるオーデオDACなんて殆ど無いよ。 最近のオーバーサンプリングの香具師はほぼ全滅。
ECM => オペアンプ => ADC(AVR) => USART => AVR => DAC => アンプ => SP なんて出来れば面白いんだけどなかなか厳しい
Analog→ATmega168あたりのADC→ΔΣ変換→高速PWM→MOSFET→LPF→Analog こんな感じでデジタルアンプを作りたいんだけれど 問題はAVR内臓ADCの性能とΔΣ変換
>>389 使うのに意外と面倒臭そうだなぁ
ソフトのみでやると9割方マイクの処理になってしまいそうだ。
取り込んだ音声信号をそのまま相手のAVRに送るだけで良いなら
デジタルシリコンマイクのデータをSPIか何かで取り込み
そのデータをそのままUARTで送り、受け取った相手も
そのままSPIで出力
こうすればデジタルシリコンマイクのPDM変調された信号は再現できる?
あとはこの信号を1bitDAC(このあたりが具体的な回路が思い浮かばないw
積分回路になるのかな・・・)でアナログ信号に変換すれば
>>387 の
やりたいことはできるかなって
素人の考えですけどね。
>>389 ちょwww これなんだ?!すげーーーーECMってレベルじゃねーww
あ〜けどよくよく考えると送る方と受け取る方のAVRの動作周波数の微妙な誤差で オーバフローかアンダフローが生じちゃうね。 つってくる・・・ora
上の方でI2Cの話題が出たけど、 megaとかのTWIって400KHzまでしか出せないんだよね? ソフトウェアでやった方がひょっとして速かったりする?
速いとか以前にハードでやれるのがでかいと思うんだが。
そもそもレーブが受けられないな! だめだこりゃ!
ス!
つーか同一バス上に遅いのがいたら誤爆するじゃん 使えんなー>I2C
>>395 AVRはIOのビットセット(sbiやcbi)は2クロックで処理できるから78Kとは違う
まあ20MHzで仮にがんばって作ってもちょっと速い?程度だな
ACKが痛い
やっぱSPIだな!
SPIならCSだけで速度も可変だし 138でいくらでも増設できるし最高じゃね? おまえらAVR同士で通信させるとしたら何使うよ? おれやったことないけど
シングルマスタじゃトポロジーが制限されるよね。
オーディオって結構遅い現象だから、いろいろいじれて楽しいよな
自分なら、ムリヤリAVRを使うよりも、 I2Sインターフェースが付いたマイコンを使うけどね。 たとえばAT91SAM7シリーズとか。
プロトコル作るのも面白いかもなあ
>>402 マスタ側(自分でクロックを制御できる)の実装とスレーブ側(クロックの
エッジ検出でリアルタイムにデータ取込を要求される)の実装とを一緒に
されてもなぁ。
その点で、I2Cだろうが、SPIだろうが、スレーブ側のシリパラ変換機能を
ソフトウェアで実装するには不都合が多い。 いくら20MHzって言っても、
400kHzのクロックに同期して取り込もうとしたら、最大でも50命令しか
走らない。 レベル変化検出による割込を使うにしても、割込禁止部分を
走っている最中に通信が始まったら、割込マスクを解除するまで何クロ
ックかかるかは、他の処理の実装に依存する。
ビット単位でハンドシェイクを行っているわけではないので、何らかの原因
で割込応答が遅れ、ポートからSDAの状態を読み込むのが、1回でも遅れたら
データ化けが起こる。
厨房は、ソフトUARTとか使うのが高度だと思っているのかも知れんけど、
まぁ普通はデバイス選択時に周辺機能の有無でまず絞り込むよな。
とても読みにくい
>>507 SPIならわざわざソフトで作らんでも十分速いし(MCU周波数/2)
I2CはスレーブでLOW期間延長してクロック下げるとか、
調停失敗したらスレーブに成りすますとか迷惑機能てんこ盛りだから、
タイミング問題だけのソフトUARTとはまた違うですよ。
>409 AVRのSPIのスレーブはクロック/4。 マスタが速い奴は多いがスレーブの実装は手抜きされることが多い。 ちゃんと両方確認しとこうな。
まずは何をやりたいのかによるだろ スペック厨になってはいかん
余計な所に拘って本来の目的を忘れる…ということかw
むしろこういうのは最低限ぎりぎりを狙うのが腕の見せ所なのに
TWIでmega328p同士で400k通信できたぜ。 デバッグはAE-UM232R(ライタ兼USBシリアル)2個でやった。 (FT2232Dでも多分いけるけど片方ずつリセットできないと不便) やっぱteratermで同時に見れると便利だ。 ちょっとはまったのはTWI割り込み中にUART送信しようとして 気付くのに時間掛かったぐらい。とりあえずフラグとバッファに追いやった。 まさか半日でできるとは思わなかった。 次はSPIで5M通信だな。
>>415 え、デュアルAVRを堪能しただけだが。
音声通信すんのが目的なの?
400kでスループットどんだけ下回るか計ってないけど
生音声データは厳しい。
多分SPIやUART最高速で動かした方が後々良いかと。
>>408 おじぃちゃん、どうぞ。
つ 「ALT」−「V」−「X」−「G」
余っていた90S8515に赤外線受信モジュールを繋げてNECコードのリモコン受信ソフトを書く。 バカ正直に作ったので110msec程待たされる…orz
>>417 16MHz種のオーバークロックはおいといて、
20MHzのパラレル入力で5MHzってほんとかいな?
外部ADCのデータは垂れ流しと考えて、
in r24, PORT* // +1
st Z+, r24 // +2
nop? // +1
が延々256バイト分続く、みたいな感じ?
きびちーね
421 :
774ワット発電中さん :2009/10/25(日) 18:47:53 ID:Lwu6P/FR
AVRの習作の為に、LED複数で、簡単かつ見た目派手なものを作ろうとおもってるのですが、 なんかアイディアないですか? この変の最終的な形というかオブジェ的な発想のものって、理系というか実務 でシコシコ回路つくってファーム書くひとには出てこない苦手なとこだね。 100均にある、フルカラーLED一個だけつかった電子蝋燭とか、絶対俺の中から 沸いてこないもの。
バーサライタとか簡単だね あとはLEDキューブとかどうかな?
LEDをならべてデジタル時計の大きいものを作ってみては。 習得用なら妥当だし実用的かも。
バーサライタいただきました! ISCPでパターン書き換えの練習にちょうどいいですね。 LEDキューブは作ったものの、チビたちに危ないので壊しました。 なんせ、通電しているLEDや抵抗の足をベロまみれの手で触ろうするから。
バーサライタの端子のとこはどうなってるんだ?
レジンで固めてしまえばいいのに
どうしても共立のAVRWRT2がvista 64bitじゃ動かない…。 動かしてる神様、方法教えてくださいませ
>>422 この時期だもんクリスマスツリー(卓上)できまりっしょ。
音センサーや近接センサーを組み合わせれば、結構遊べると思うよ。
っていうか64bitWindowsのドライバ持ってるライタって一般に出まわってるのか??
>>432 試してないでレスするから検討違いかもしれないけどUSB<->232Cのドライバを
更新するだけじゃダメなの?
うむ〜。今日電話で問い合わせしてみますね。 デバイスマネージャーで確認すると?でAVRWRTは出てるんですけど 肝心なドライバーがあたらない。 FT232RLのvista 64bit版のドライバーをインストールしてもダメで・・。 INFファイルの書き換えでなんとかならないものかな。
そこでVirtualPCですよ
VirtualPC早速ダウンしましたので試してみますね。
とりあえず、書き込み専用にノートパソコン用意しましたが、
VirtualPCでうまく行って欲しいものです。
>>432 これから先、搭載するメモリーの量が増えていくだろうから
近々64bitメインになりそうな気が・・・。
>>436 エンドユーザ端末はそうだろうけど
開発系ってのはそう簡単に移行しないから…。
USB署名の問題もあるし。
USBaspとかどうなるんだろうねぇ…
USB、USBシリアル変換、どっちみちドライバの問題があるわけだ。 いっそのことEthernetで書き込みできるようなライタがあればいいかな。 ネットワークなら普通のアプリレベルで書けてOSに依存しないし。
LANモジュールって結構値段したような気がする まぁ、あれをAVRでできるようにすればいいのか
>436 VIDとPIDがFDTI標準じゃないみたいなんでINFに追加すれば 動くんじゃないかな。 INFファイル見比べれば追加の仕方は分かると思う。
VirtualPCってUSB対応してましたっけ? SunのVirtualBOXならUSBも行けますけど。
Windows7のXP Modeなら使える…らしい。まだ確認してないぜ
ちょいと疑問なんだけどAVRWRTってFTDIのチップそもそも使ってる?
裏側に載ってるみたいだけど
>>440 チップメーカーのサイトから64bit版ドライバーをダウンして
AVRWRTのINFと見比べて変更してみたりしたんですが、なかなか・・・。
>>443 >>444 さんが言われてるようにB面に載っています。FT232RL
>>445 なるほど裏側にのっているのね。スレよごしすまそ
447 :
445 :2009/10/27(火) 14:41:44 ID:KcgXo2ho
うぉっしゃ!! Vista 64bit版で認識して動作も完全に出来ましたー
そのINFを共立に送りつければ完璧だ!w
AVR同士でSPI通信してみた。 20MHzのmega328pを2個使用、マスターのSPIクロックは5MHzで、 Read Writeのバッファ転送でほぼ理論値通りの5Mbpsで通信できた。 ただし、転送中にマスター指示でスレーブをReadに切り替える時、 マスター側でSPDRを書き込む直前に4クロック(200us)程度の ウェイトを入れないとReadの最初の1バイトが化ける。 (この場合だけ切り替え動作でスレーブ側の準備が遅れるため) それ以外はノーウェイトで良い。 スレーブの方式はSS#のピン変化割り込みをトリガにSPIFを ポーリングする方法で、バイト転送中の32クロックの猶予の内に 次の準備を行う。(SPIFトリガの割り込みはまるで役に立たない) 速度はI2Cと比較にならないことが改めてわかった。 実測では理論値12.5倍以上の開きが確実に出る。
1-wireはもっと遅いし。
200usじゃなくて200nsだった。 さらに、SPI構成図を見るとSPDRは受信バッファを持ってるので、 スレーブのSPDR書き込みは読み込みに先行して行うことができる。 これを踏まえて修正すると、マスターのRead切り替えウェイトは 2クロック(100ns)に短縮できた。
452 :
445 :2009/10/28(水) 09:13:44 ID:VBqZi01T
解釈間違えた。 Read切り替え時のウェイト2クロックは正しいけど、正確には Readでは初回のみではなく毎回2クロックは余分に掛かる。 これはスレーブの先行SPDRセットが直前のSPIF=ONの 後に配置する必要があるため。多分SPIに送信バッファの無いAVRの仕様。 マスター側でバッファリードさせるとst命令で最低2クロック消費して 相殺されるのでほとんど実害はないが、上のRead切り替え直後の 読み込みや、アセンブラでWord値とかを空きレジスタへ直接読み 込むようなコードでは留意しとかないといけない。 Writeは完全にノーウェイトで間違いないが、こちらも現実的には 送信前のレジスタへのロードで最低でも1クロック以上は余分に 掛かってるから、上の理論値通りの5Mbpsというのは嘘になる。 よって、最低限意味のある転送を行う時、 Readが32+2で4.7Mbps、Writeが32+1で4.8Mbpsとなる。 SPIF待ちループで検出が遅れる場合を考えても4Mbps以上は 常に期待できるはず。
なんかハァハァしてきますね。 100円のPIC2個で5Mhzの通信ですか。
455 :
774ワット発電中さん :2009/10/28(水) 12:04:31 ID:P8E8kDd6
I2Cは上限クロック規定されてるけど、SPIは速度追求してる会社あるからな。
ATMELのdataflash、さらにクロック上げてるし…
>>454 秋月価格\250のAVRかと…
ところでふと思ったんですが、AVRWRT2を使っている方に質問です。 USB2.0ハブを間に入れると2.0で認識し、直接だと1.1になってるような気がするのですが、 使っている方はどちらで認識されてますか?
FT232RLはUSB2.0のFullSpeed対応だけど1.1で認識されるの?
>>457 うちだけなのかな〜? なぜかそのまま接続すると1.1側で認識して、
2.0のハブに接続すれば2.0側にAVRWRTが出てくるのですよ・・・。
もちろんケーブルもCERTIFIED USBのHi-Speedです。不思議でならん。
サウスブリッジは、ICH10Rでふ
何で見たかは知らんけど、FT232RLのみ/サウスICH9/USBView.exeで 見る限りデバイスディスクリプタはUSB2.0 FSを返してるお。
>>459 おお。こんな良いツールがあったんですねー。
Device Bus Speed:
High(480Mbps)/Full(12Mbps)/Low(1.5Mbps)
って感じであってるのかな・・・。調べてみます。
スレ汚し申し訳ありませんでした
しかし実際の所、通信に用いられる通信規格はI2Cの方がメジャーだよね。
>461 それは複数のデバイスをつなげても2ピンですむI2Cに比べて SPIは各デバイス毎にセレクト信号が必要だからじゃないか。 高速な通信より、低速でもいっぱい繋げる方が用途は広そうだし
>>461 3or4線式同期シリアルで制御するICは沢山あるけど
SPIを名乗るのは少数派だから。
8bit区切りでは無いとかR/W切り替えとかの方法や
タイミングがメーカーによってバラバラだったり。
まぁ高速で通信しなきゃ逝けない、
それも同期シリアルでってICは少ないという事情も。
携帯じゃ普通にI2Cだし、1-wireでさえ温度計に使われる。 SPIって書き込みにしか使われないよね。
SPIはモードいくつなんだよ!というのがいつも気になるお年頃 単なるシフトレジスタで,後は勝手にやってよって感じだし
>>464 今は、PCのBIOSが一番使われている用途の様な…
>>460 もういい加減疑問は解消されていると思うけど
12M/1Mのデバイス(USB1互換)ってのは
PCチップセット内蔵のルートハブに直結した場合はOHCI/UHCI管理化に置かれ
USB2の480Mハブを介するとEHCI管理化に置かれる。
USB2ハブで速度変換される為に起こる現象で仕様。
ちなみに、FT232に限らず、マウスとかキーボードとかでもそうなるよ。
癩DATA
質問です。昔、秋月のAVRライターセット(基板とソフト)が販売されていました。 ソフトは、赤色で「書」「消」「空」など文字が大きく表示されるものです。 このライターセットで、Tiny2313に書きこむことはできますか? 最新のライターを買えばすむ話なのですが、使用頻度が2年に1回あるかないか 程度なので、可能なら手持ちの前記ライターですませたいと思っています。
部品代1000円もしないから 作ってしまえ
AVRのライター程度も作れないやつは 電子工作なんてやらない方がいい
>>471 純正ソフトに純正ファームは絶版になったごく初期の品種(AT90Sxxxx)にしか
対応していない。回路図読めばわかるがAVR910をそのまんま書き込んでも
期待したようには動作しない。いずれにせよAT90S2313を1つ買ってきて
(ネット上で配布されている改造版 or 自作の)最新ファームを書き込んで
差し替えることになる。ファーム交換した後は自作ライタと同じ扱いで、
秋月の純正ソフトはまったく使わない。ご自由にどうぞだ。
AVRライタの動作で質問するぐらいなら回路図やアプリケーションノートや
データシート読むのに難儀しているんだろうから、4000円ぐらいで売ってる
純正ライター買っとけ。その方が迷いがない分、LED電飾などの貴方の作り
たいアプリケーションに集中できるだろう。
>>473 どこで辞めるかが電子に限らず工作のポイントだよなぁ。
自作だと、金と時間かければどこまででも逝けるんだけど、落としどころを自分で
設定するのが難しい。
使い勝手を良くするなら、一つの動作しか出来ないようにしたほうがいいが、
それだ別の機能が欲しくなったときまた別な仕様のものを用意することになる。
逆なら不便だし、自分以外の人間や年寄りは使い方まちがえる。
ライターにもピンからキリまであるからねぇ>>特にPICは。
昔の秋月AVRライターセットは俺も持ってるけど、今は存在意味がないな 俺の現状は、AVRは抵抗4本のライター、PICはJDMとRCD 後、フラッシュROMはPCのマザボで焼いてる これで焼けないデバイスは手を出さない
パラレルかシリアルあって32bitOSなら、下手なライタ買うよりも 抵抗数本ISPの方が、人々の努力によって新デバイスへの対応も速いしなぁ…。 ISP向けのジグ(電源とかISP、クロック配線した基板等)も作ってみたり。 3.3V向けにLCX使ってSI-Progも作って見たけど。
シリアルあるPCならC+Rで作るライタ(というか配線だな)でファームを書いて hidaspx作るのがいいような。 実質1000円もかからんで作れるでしょ、ある意味ありあわせで作ればtiny2313が あればもうほとんど手間だけだし
今はパラレル・シリアルの無いPCも珍しくないからなぁ。
やっと規制解除きた AE-UM232Rがそのままライタになるから作る必要もない 逆に言えばFT232Rが付いてるarduino辺りもなるんじゃなかったっけ AE-UM232R沢山買ってくれば1AVR1ライタ環境 ケーブル抜き差しする必要もない
シリアルはまず間違いなく付いてる
482 :
774ワット発電中さん :2009/11/03(火) 13:23:15 ID:SBJTodFF
ねえよw どうせUSBはシリアルだとかいうんだろ
自作PCとかならコネクタなくてマザーに乗ってるってパターンはあるだろうけど、 普通に売られてるメーカーものは絶滅に限りなく近いと思う。 少し古い(2005年くらいまで)頃ならまだ可能性がある程度だね。
レガシーポートは消え行く運命。。。
そのためにレガシーポート(シリアルとパラレル)追加用PCIカードを 買う羽目になった。
レガシーなチップセット使ってるネットトップとかは まだシリアル健在だけど、これもそのうち無くなるのかな。 今後しばらくの間は、AE-UM232R等の「ユーザ側で書き込みが 要らないUSBデバイス」が正攻法になりそうだね。
hidspxつかえって
入出力用でほとんど変わらないのはサウンドポートだけですなぁ
光とか同軸とかになってるぞ
>>488 デジタル出力はガッチリ暗号化された上でHDMIに統合されるふいんき(ryだけどね。
USB内蔵マイコンがあるんだから、外付けレガシーポートな機器の工作を誰かが やりそうな按配
つうか、そういうの絶対売ってるよね。 USBレガシー
493 :
774ワット発電中さん :2009/11/05(木) 13:26:07 ID:pNl3X9CU
USBシリアル変換器を通すとタイミングがおかしくて 使えないライタがあったよね。普通のレガシーのはOK。 タイミングずれたらそもそもだめじゃね?どういうこと?
それシリアル通信してないんじゃないのかな 直接ポートを叩くコマンドがあるから、それを使ってミニパラレルポートとして使うことがあった ほとんどのUSB変換はそのコマンドをサポートしてないから使えなくなる
普通のM/Bなら、オンボードでレガシーのピンヘッダでてるから、ブラケット かってつければいいんだけどそうじゃないのはキツイね。
USBのパラレルでプリンタを繋いでもちゃんと動かない
それ何の為のUSBパラレルだよwww
プリンタにしか使えないパラレル変換もあるお
…ってプリンタで使えないのかw
プリンタで使えないプリンタ用USBパラレル変換器はよくある話。 USBシリアル変換器もモデムに繋いで動かないのは日常です。 パソコン関連はすべて「相性問題」で解決ですし。
素人ですが今日からAVRはじめますた
秋月でSTK500買ってAVRStudio起動
・・・STK500を認識せず
最初から付いてきた試験用の8515は正常にLEDピコピコするので、
接続やPCの設定とか見直したり、2313に差し替えてみたり
そんなこんなで3時間ほど
結局
>>132 でした・・・
4.17をアンインストールするときに「インストしたはずのファイルがない」っていうダイアログが7、8個出ました
Setup.exeのサイズも4.16が130Mなのに4.17が115Mとか
なんかファイルが抜けてるんじゃー?
もしこれから始める人がいましたら、4.17は回避しましょう
差分のようですね。 The InstallSheld Wizard is updating (4.16.638) of AVRStudio4 to version 4.17.666 と表示されるので、先に4.16.638が入っている前提のようです。
504 :
503 :2009/11/09(月) 23:22:23 ID:7SNPmKci
ごめん、嘘書いた。
4.15の上に4.17を重ねてインストールしたら
>>502 の言うような現象に陥った(ファイルが見つからない,STK500を認識しない等)
古いのをしっかりアンインストールしてから
4.17を新規インストールして再起動を行えばSTK500もちゃんと認識され正常に動作しました。
"インストールシールド"がアホなのかな?
struct tag1 { unsigned char hoge0:1 unsigned char hoge1:1 unsigned char hoge2:1 unsigned char hoge3:1 unsigned char hoge4:1 unsigned char hoge5:1 unsigned char hoge6:1 unsigned char hoge7:1 }; void foo(void) { struct tag1 *p_tag1; unsigned char c; c = 0; p_tag1 = (struct tag1 *)&c; p_tag1->hoge0 = 1; p_tag1->hoge1 = 0; p_tag1->hoge2 = 1; p_tag1->hoge3 = 0; p_tag1->hoge4 = 1; p_tag1->hoge5 = 0; p_tag1->hoge6 = 1; p_tag1->hoge7 = 0; foo2(c); } int main(void) {
途中で書き込んじゃいました。 avr gccは>> 506のようなビットフィールは使えないのでしょうか?
セミコロンが無い。
でもそのコードをコンパイルすると変なコードになるね。 関数のローカル変数のアドレス取ってるから、 その辺りにバグがありそう。 最初から構造体変数にすれば正常なコードが生成される。 ビットフィールドはもう誰も使ってないから きちんとテストされてないのかもね。C言語の恥部だから。 論理演算に置き換えた方がいいよ。
8bit のデータの桁を反転させたいんだけど、効率的な方法おしえてくれ 12345678 とならんだデータを 87654321 と並び替えたいんだけど ↓こんなのしか思い浮かばん int bit_change(int BitData) { int x, y; y = BitData >> 7; // 右に 7bit 00000008 BitData <<= 1; // 左に 1bit 76543210 BitData += y; // y を add に代入 76543218 x = BitData & 0b00010001; // 4bit,8bit を x に代入 .4 .8 y = BitData >> 6; // 右に 6bit 00000076 BitData <<= 2; // 左に 1bit 54321800 BitData += y; // y を add に代入 54321876 x += BitData & 0b00100010; // 3bit,7bit を x に代入 3 .7 y = BitData >> 6; // 右に 6bit 00000054 BitData <<= 2; // 左に 1bit 32187600 BitData += y; // y を add に代入 32187654 x += BitData & 0b01000100; // 2bit,6bit を x に代入 .2 .6 BitData <<= 2; // 左に 1bit 18765400 x += BitData & 0b10001000; // 1bit,5bit を x に代入 1 .5 return(x); // 12345678 }
TAB は排除されるのか int bit_change(int BitData) { int x, y; y = BitData >> 7; ...// 右に 7bit 00000008 BitData <<= 1; ..// 左に 1bit 76543210 BitData += y; // y を add に代入 .76543218 x = BitData & 0b00010001; ..// 4bit,8bit を x に代入 .4 .8 y = BitData >> 6; ..// 右に 6bit 00000076 BitData <<= 2; .// 左に 1bit 54321800 BitData += y; // y を add に代入 54321876 x += BitData & 0b00100010; ..// 3bit,7bit を x に代入 3 .7 y = BitData >> 6; ..// 右に 6bit 00000054 BitData <<= 2; .// 左に 1bit 32187600 BitData += y; // y を add に代入 .32187654 x += BitData & 0b01000100; ..// 2bit,6bit を x に代入 2 .6 BitData <<= 2; // 左に 1bit .18765400 x += BitData & 0b10001000; .// 1bit,5bit を x に代入 .1 .5 return(x); .// .12345678 }
>510 unsigned char bit_change(unsigned char BitData){ unsigned char y; y = 0; if(BitData & 0x80) y |= 0x01; if(BitData & 0x40) y |= 0x02; if(BitData & 0x20) y |= 0x04; if(BitData & 0x10) y |= 0x08; if(BitData & 0x08) y |= 0x10; if(BitData & 0x04) y |= 0x20; if(BitData & 0x02) y |= 0x40; if(BitData & 0x01) y |= 0x80; return(y); } よりめんどくさいことしてもなぁ。ちゃんとsbrc使ってくれて2命令/bitだし。
unsigned char bit_swap(unsigned char a) { unsigned char b = 0; if (a & 0x80) b |= 1; if (a & 0x40) b |= 2; if (a & 0x20) b |= 4; 略 return b; } これじゃいかんの? って被ったw
コードサイズ最適化 (-20バイト) unsigned char bit_swap(unsigned char a) { unsigned char b = 0, i = 8; do { b >>= 1; if (a & 0x80) b |= 0x80; a <<= 1; } while (--i); return b; }
上のbは警告出るけど初期化不要。
>>512-515 おお、thx!
どうも計算とかプログラムは苦手で、そういうの簡単にでてこんのよ;
考え方を最適化したい
キャリーフラグ使ってrorとrol並べるのはどう?
>>517 をインラインアセンブラで書いたもの。
最近のWinAVR(gcc)用
unsigned char bit_swap(unsigned char a) {
__asm__ __volatile__(
"rol %0 ; 0x80 \n"
"ror r25 \n"
"rol %0 ; 0x40 \n"
"ror r25 \n"
"rol %0 ; 0x20 \n"
"ror r25 \n"
"rol %0 ; 0x10 \n"
"ror r25 \n"
"rol %0 ; 8 \n"
"ror r25 \n"
"rol %0 ; 4 \n"
"ror r25 \n"
"rol %0 ; 2 \n"
"ror r25 \n"
"rol %0 ; 1 \n"
"ror r25 \n"
"mov %0, r25 \n"
:"=r"(a):"0"(a):"r25");
return a;
}
これが最速かな?
ビット逆転でググると色々出てくるけど
AVRはバレルシフタがないからね。
ビット反転というかmirror関数ですね
>>518 のコードサイズ最適化 (
>>518 から-24、
>>513 から-30バイト)
unsigned char bit_swap(unsigned char a) {
unsigned char b, i = 8;
do {
__asm__ __volatile__(
"rol %0 \n"
"ror %1 \n"
:"=r"(a),"=r"(b):"0"(a),"1"(b));
} while (--i);
return b;
}
bは警告出るけど初期化不要。
警告ピンポイントに消せないかな。
んなもん、PA7..PA0⇔PB0..PB7ってハードウェアで結線しておいて、 PAに出力PBから読みこみゃ2インストラクションで(ry
アセンブラまで出てくると、いよいよ訳がわからない!
>>520 超素人意見だけど、b=0 とかでは駄目なん?
>>522 「マイコンに効率的なファームを」と思ったらアセンブラは避けて通れませんぜw
>>523 PIC から入ってアセンブラ少し触ったんだけど、C を使ってから便利すぎてアセンブラはきれいさっぱりw
C を使うならってんで AVR に移行したんですわ
余程の事が無い限りアセンブリ言語で書く事少なくなったなあと思うわ 面白そうなので2313の命令表見てたらBST/BLDなんて微妙に 便利そうな命令があるのね。 好きなようにビット入れ替えしたいときはこれ使うといいかも。
>>522 ゴミが増えるのを厭わなければね。
この程度ならアセンブラで書いてもいいし。
gccに__attribute__((uninitialized))がないのがいまいち。
AVRもちょっとシビアな事やるとアセンブラの出番だよ。
割り込み処理なんかをgccで出力させると酷いから。
arduinoの出力コードは吐き気がする。
>>509 ありがとうございます。
セミコロン忘れはご愛嬌ということで。
やはりバグなんでしょうか・・・
コンパイルは無事に終るのに正常に動作しません。
アセンブラが読めたらわかると思うけど。
ところでビットフィールドはどうして恥部なんでしょうか?
>527 なんかいつのまにかビットフィールドが悪者にされてるが、 ビットフィールドの問題じゃないぞ。 -O2以上の最適化によるポインタのエイリアスだろ。 -O2は同じメモリを指すポインタが無いという仮定で最適化する。 p_tag1で更新し、cから読むというような使い方をするときは -O1まで。 それと struct tag1はこのまんまだとintサイズ(16bit)にまとめられる。 -mint8しないと期待するコードにならないんじゃないか?
>>528 ビットフィールをやめて別の方法でコーディングしたら、今まで悩んでたのが嘘のように
正しく動作しました。
コードの解説はあっても、最適化やコンパイラオプションについて解説されていることは
少ないですよね。
すごい努力されて勉強されたんですね。
もう一度だめだったコードに戻して最適化オプションを変更してやってみます。
ありがとうございました。
>529 ビットフィールをやめて別の方法でコーディング だから、そのときに止めたのはビットフィールド「だけ」じゃないだろ、 という話なんだがな。 >529の頭ん中の解釈のことになるからどうでもいいけどさ。
ビットフィールドは何も悪くないと思うよ、 試行錯誤するならコンパイルされたアセンブラ毎回確認した方がいい
ほんとだ、-O1だと大丈夫だ。 それと下のようにcを配列にすると-Os -O2でも意図通り生成される。 unsigned char foo(unsigned char x) { struct tag1 *p_tag1; unsigned char c[1]; p_tag1 = (struct tag1 *)c; p_tag1->hoge0 = 1; p_tag1->hoge1 = 0; p_tag1->hoge2 = 1; p_tag1->hoge3 = 0; p_tag1->hoge4 = 1; p_tag1->hoge5 = 0; p_tag1->hoge6 = 1; p_tag1->hoge7 = 0; return c[0]; } ビットフィールドが何故アホなのかって、 言語仕様レベルで実装依存となってるから。 これはアーキテクチャとも関係なく、コンパイラの実装者や バイナリをビルドする人間の気まぐれによって支配される。 だから上みたいな他の型へキャストするようなコードは 各処理系のバージョンごとに出力を確認する必要がある。 「俺はgccしか使わないから関係な」くはならない。 何もかも悪い。
ビットフィールドはビットフィールドで完結する処理以外には使わないのが基本だと思ってた ゼロクリアぐらいならやるけど
ビットフィールドを誤解してる
>>532 それを言ったらビットフィールド以外でも
トンチンカンなコードを出すアフォコンパイラは無数に存在するんだがな。
TWAR って 0b00000000 指定できない? I2C で 0000000 っていうアドレスは利用できなかったりする?
537 :
774ワット発電中さん :2009/11/11(水) 17:34:04 ID:8PDaWeVl
>8bit のデータの桁を反転させたいんだけど、効率的な方法おしえてくれ 256バイトのテーブルを用意してインデックス一発
AVRをはじめるに当たって一番の障害になるのが、AVRStudioのデバッガやシミュレータ の使い方だと思うのですが、どなたか懇切丁寧にデバッグの様子を単行本なみの 分量のサイトにまとめてみたりとかしませんか? 結構な量のアクセス稼げると思うんですが。 PICも似たようなもんで、V7のMPLabの使い方は検索すれば出てくるけど、最近の バージョンの奴は使い方がてんでわからない。
>結構な量のアクセス稼げると思うんですが。 有償にしたらいいかもな >最近のバージョンの奴は使い方がてんでわからない。 使わなければ良いんでない?
デバッガやシミュレータは使ったことがないというか使うことがないや。
AVRはISPが基本みたいだから、抜き差し回数制限みたいなのがないですもんね。 古いPICで足全部使い切るような場合、どうやっても抜いて挿してになるから、 デバッガやシミュレータで出来うる限り動作さしてから実機テストにもってか ないと、デバイスの足が死んでしまうすからデバッガ使い倒すのは重要なんすよ。 みたいな。
ビットの並びを逆にしたいのですが、良い方法はありますか? たとえば10100111 なら、11100101 という並びにしたいです
unsigned int bit_reverse(unsigned int n) { static unsigned int t[] = { }; return t[ n ]; }
>518 これで1ビットあたりで rol ror の2ワード2サイクルかかってる。一方 >512-513 のコードも1ビットあたりで sbrc ori の2ワード2サイクルなんで、もしかすると前後のレジスタ設定で>518は 多少儲けがでてるかもしれんがアセンブラで書く意味はほぼないぞ。
>>538 デバッガもシミュレータも使ったことない
小さい単位毎にLEDとかPC通信とかでピコピコデバッグ
>>521 を見て
PB7とPB0, PB6とPB1,・・・と接続。
uint8_t reverse(uint8_t data)
{
uint8_t revdata;
PORTB = data;
DDRB = 0xF0;
revdata = (PINB & 0x0F);
DDRB = 0x0F;
revdata |= (PINB & 0xF0);
return revdata;
}
・・・全然メリットは無さそうだけど。
>>545 一応rol&rorなら2個の変数をいっぺんに反転できる、て言うメリットはあるな
この実装だと使われてないし、1個なら意味無いけどね
549 :
774ワット発電中さん :2009/11/13(金) 02:45:10 ID:kwNDM2Hp
最近流行ってるビット入れ替え。 いったい何につかうんですか?
知らないの?ビット並び替えで俺も最近モテモテのウハウハよ。
課題で出されたのを丸投げしてるんじゃないの? const unsigned char c[256] = { 0x00, 0x80, 0x40, 0xc0, // 0x00 0x01 0x02 0x03の反転パターン ・・・・ 0x3f, 0xbf, 0x7f, 0xff // 0xfc 0xfd 0xfe 0xffの反転パターン }; で,revdata=c[x];
次はビッグエンディアンとリトルエンディアンだろw
ビックインディアンとリトルインディアンと空目した
I2C(TWI) で、 START、ADDRESS、R/W、ACK、DATA、ACK、STOP この通信の ADDRESS 部分と DATA 部分を bit の数並べた物理的なスイッチで切り替えて、実際の信号がどんな風に変わるのかをオシロで計測できるような装置を作ってる 実際のスイッチの配列は左側を 0 番としてるから、通信データもそのように並んでほしかったんよ 最初に俺が聞いたのは、 I2C の実際の信号をオシロで計測するときに、左から 1bit 目、2bit 目、3bit... と並んでほしかったから 2回目に聞いたやつの意図はわからん 何というわかりにくい文章
初心者の質問ご容赦願います。 avr atmega88Pを使用しているのですが、gccでのコンパイル時のメッセージで、 明示的に確保するデータ領域の消費が90%以上になると、とたんに動作がおかしくなります。 これは関数呼び出しのスタックに使われるからでしょうか?
LSB/MSBの入れ替えに使うのか FFT用のテーブル生成かとオモタ
機械をひっくり返すか 鏡で反転させればいいだろう
だったらスイッチの配線を、だ
ハードウェアのミスをソフトでフォローするのは良くある事だ…orz
EEPROMに256パターン書き込んでしまえ。
>>553 ほんとに使ってる人がいるから。
他にも、イベントドブリンとかっこつけて言っちゃったりする人です、
へい、イベント丼お待ち!
リトルエイディアン とか
>実際のスイッチの配列は左側を 0 番としてるから、 >通信データもそのように並んでほしかったんよ I2Cの仕様にあわせてスイッチを並べるべきだった・・が正しい表現だろ?
だからさあ、シュミレーターとシミュレーター、どっちが正しいの??
>>565 おまいの趣味で手紙書くならシュミレター
ってか英語のスペル眺めりゃ分かるだろ
567 :
774ワット発電中さん :2009/11/14(土) 00:07:29 ID:26f7Wb05
sumilator
どっちかわかんなくなった時はシムシティ思い出すといいよ
シミュレータが正解
570 :
565 :2009/11/14(土) 12:22:38 ID:GBYGR732
文面ではシミュレータと書くが 言葉では趣味レータと言ってる俺
>565 シムシティってあるだろ? 趣味シティとは言わない。まぁ趣味だがw でも口語では趣味レートで通すよ
ということは正しくはシムレーターなんですね
simultaneousをうっかりすると、シミュと読みそうになる
共立のxmegaのバリエーションが増えてる 秋葉にも流れれば買いやすいんだけど つーかDIPないのか
ノミニュケーションとは言うが、 ノミュニケーションとは言わないな。
Dをデーと読むルール発動ですね☆ミ
579 :
774ワット発電中さん :2009/11/18(水) 16:10:30 ID:bNiB7qul
AVRの表面実装20MHz、tiny2313とかmega88とか小さい奴はそんなに出回ってないのな 本社HPからサンプル請求しても来ないし
面実装品は趣味で扱うには面倒だからね digi-key.comで買った方が早いかな
tiny2313のQFN、MEGA88PのQFPならdigi-keyでいつも買ってるよ。 SMDになると、chip1高いしdigi-key一択じゃないかなぁ。
582 :
774ワット発電中さん :2009/11/19(木) 06:58:29 ID:Wc/w8C/X
デジキーは送料が高い
7500円ぐらい簡単にいくだろ。 10000円以下なら関税もかからない。 9000円ぐらいに収めるのがdigikeyの上手な使い方
それは罠にはまっていると言うのでは
mega328pに水晶振動子27MHzを差したら動いた。 30MHzは無理だった。電圧が足りてないかな?未検証。 振動子じゃなく発振器だと40MHzで動く場合もあるらしい。 1.35倍は微妙だけど1.5〜2倍で動くならちょっとうれしい。 周辺も追従するから、できることがちょっと増える。
test
ドットマトリクスとか駆動させるなら、クロックアップすれば効果あるかもね
みなさんは無職なんですか? 僕は無職です
クロックモジュールって電源も繋ぐ水晶のこと?
ニート系自由業デス
自営業だとクレジットカードが面倒でのう
595 :
774ワット発電中さん :2009/11/21(土) 17:17:46 ID:EYrWGYL9
>>589 C1、C2を22pFから10pFに変えると32MHzまで水晶振動子でも動きました。
発振器もそのうち試す予定。
597 :
774ワット発電中さん :2009/11/22(日) 18:27:06 ID:9YemCuDn
AVRマイコンのデータをデータベースに取り込んでる人とかいませんか? やっぱりエクセル使うのが一番簡単でしょうか。
PCとつなげてデータ取り込みの話? 取り込んだ後のデータの処理の話?
今日初めてPCとRS232Cでの通信に挑戦した その辺にサンプル沢山あるし楽勝のはずだったのに・・・ PC側のRXとTXって負論理なのね 死んだ
直接つないだのかよ!
直結なんてしないだろ普通。
まあ経験ってことでいいんじゃない。
・・・と思ったが、
>>599 はまだ直結するものではないという点に気づいてないのか。
直結ってか、USB-シリアル変換の後、直結 論理間違い以外は問題無く駆動できたけどまずいのけ? MAX232Cとかレベル変換もあるけどインバータだけ使うのは勿体無いかなと 死んだってのはオレの苦労がってことで石は無事ですよ・・・
AVRのUARTって負論理じゃないの?
あー、表現悪かったね ネイティブの232Cじゃない スマソ
壊れないだけで良くは無いけどな。
なんでRS-232Cは12Vと-12Vなんていう面倒な電圧になってるんだろう 振幅がでかくなって減衰に強くなるから? でもシリアルでそんな遠くまで通信することは普通ないよなあ
>>607 今では、普通ないだけです。
昔はこれが普通でした。
遠くにある電動タイプライタを動かすんだよ
それはカレントループ
古い規格だし
612 :
774ワット発電中さん :2009/11/22(日) 23:43:38 ID:xxFHDkaU
今の技術ならこんなヘッポコ規格wもちろん使わないだろうけど、 何で当時、負電源まで使って高電圧で通信する必要があったかって話だろ? 俺も知りたいわ
負電源といえばオペアンプ
でもだからこそUARTはかなりの距離を引き回せる
なんで0..24Vじゃなくて-12V..12Vなのかな。 12V系はアナログで使ったりしてたから安く調達できたとかそういうこと?
アナログが混合してて電源調達が楽だったんじゃない
昔は十分なノイズ対策の技術が低くても、0Vをまたぐ事でノイズから逃れる事と 十分な電圧レベル(最大30V前後の)を得られると考えたんだろうね。 ロジックICでも当時は結構±電源は普通に必要だったのというのも、背景にはあるだろうね。 そのせいもあって、周辺から電源を入れろとかいう儀式も多かったしw
AVRの入力ピンに12Vかけたら壊れるんだろうか
>>618 mega88は絶対最大定格が6Vってなってて、横に越えると損傷与えるって書いてある
かける時間にもよるけど壊れそうだね
>>615 例えば、i8080の電源はは+12/+5/-5だよ。
また、IC前提の規格では無く、電話屋の規格としての側面もある。
それに、信号は+10/-10ってキリが良い数字だった筈。
なのでMAX232Cは規格違反では無い。
+12/-12なのは多用されたSN75188/75189ドライバICが必要とする電源。
距離を引き回したいなら電圧じゃなくて電流を使うのがいい
電流ループでシリアル通信といえば、MIDIか。
AVRに0-20mAの電流型ADをつけてほしい
絶縁が求められてるらしいね
627 :
774ワット発電中さん :2009/11/23(月) 17:48:40 ID:rPiHt9mW
電流流すのに電圧必要じゃん。なにがちがうの?
628 :
774ワット発電中さん :2009/11/23(月) 18:45:46 ID:zBSLTgyv
WINAVRでC++は使えますか?
Cの範囲内で使えば良し
>>626 キーボードやってた奴が、MIDI機器改造で
フォトカプラ買って取り替えてたのを思い出した
応答が速くなるとか講釈垂れてた
MIDIはカプラ使ってるからなぁ…遅いよねアレ。 絶縁するつもりでタイミングシビアなところに昔使って、再現性が著しく低い製品を 大量に作って地獄だった。
AVRが市販品に入ってるの見たことある? ATMELのEEPROMはやたらに見るけどAVRは今の所ないんだよな 海外だと有るのかな?
>>630 >フォトカプラ買って取り替えてたのを思い出した
>応答が速くなるとか講釈垂れてた
20年前ならスタジオミュージシャンの間にこんな都市伝説もあったね。
○○のケーブルにすると反応が速いとか、コネクタを金メッキにすると…とか。
でもきちんと考えれば
フォトカプラ+ロジック回路の反応速度 << MIDI転送速度(31250bps)
なんだから全く意味が無いんだと判るんだけどにゃ。
最近だと無鉛半田にすると音が良くなるとか
そもそもいい音の定義ってなんだろうね 単にノイズが無ければいいのかな? もしくは浮遊のLとかCとかで適当な帯域フィルタみたいのがかかって「味」が出るとか
>>634 時期的に合ってる、だいたいその頃
元機器についてた黒い奴外して、
シャープ製のパッケージ白い奴に交換してたかな
フォトカプラは速いぞ 数Mbpsくらい出る SSRは笑うほど遅い
オーディオマニアの人たちは音が変化した=良くなったって勘違いしてるんでしょ 人間飽きがあるから変化すればそりゃあ新鮮味はあるだろうけど 発電者の近くに引っ越したら音が良くなったはさすがに吹いた
ちゃんとやってる人は周波数特性くらい調べてるでしょ。
鉛蓄電池で(ryとかニッケル水素で(ryっていうのもあるよ
電源の質が音質を左右するって言うしね。 発電所の近くに〜は家に来る交流の波形が綺麗になった、 電池の種類が云々は負荷応答の良し悪しの事だと勝手に想像。
>>642 > 電源の質が音質を左右するって言うしね。
これはかなりホント。電源や電源ラインが貧弱だと出力に応じて電源電圧が振られる。
このため、バイアス点が変わったり、素人が聞いても判ってしまうぐらいの大きな歪みの原因になる。
>641の言うバッテリーベースにっていうのは、電源の内部インピーダンスを下げる、電源からの回りこみノイズを防ぐ
といった二重の意味で有効(とはいっても、さすがにパワーアンプを電池駆動にするには気合と根性と
お金が必要だけどね)
> 発電所の近くに〜は家に来る交流の波形が綺麗になった、
まぁ、こっちは相当眉唾。商用電源のノイズは極近隣(自分の家の内部とか)の影響がほとんど。
ただし、近所に工場とかあると相当に汚い可能性はある。もっとも、オーオタの中には柱上トランス
から先を借り切り(マイトランス化)しちゃう、愛すべき馬鹿もいるらしいよ。
にしても、スレ違いだなぁ・・・
>>628 Cの範囲を超えて使える。
けどAVR StudioのシミュレータのWatchがうまく動かない。
たかがAVRでC++が必要なプログラムって何? Cで構造体をうまく使えばオブジェクト指向になると思うが。
SDカードのリファレンスライブラリがC++だった。とかじゃない?
//
>>632 メルコのlinkstationとかの電源やFAN制御に90S2313のSOPが入ってるな。
>>632 なにかの基板ばらしてたら、Tinyの24か何かが乗ってた気がする。
メインプロセッサは別みたいだったけど。
650 :
774ワット発電中さん :2009/11/25(水) 00:56:33 ID:333Z/a8b
こちらに誘導されてきました。 AVRはじめようとおもうんだけど、 ライタとか参考書とか、ここのみんなのおすすめはある? ちなみに下知識はほぼありません。 電気は高校までの知識(理系)、数学はそこそこです。 マイコンのアーキテクチャへの理解は基礎の基礎のレベルです。 それぞれ一長一短がありそうですが、選択のヒントだけでもいただけたら・・・
目的は? 学習? シュミで何か作りたい? 仕事で仕方なく?
>>650 1. Arduinoでとりあえず何かを始めてみる
Arduinoの開発環境に飽きたらgccで直にプログラミングをしてみる
2. AVRISPmkII(純正ライタ)とAVRのチップを買ってきて何かを組み立ててみる
1→2に行っても良いしいきなり2でも良いと思う。
書籍に関してはよくわかりませぬ。
653 :
774ワット発電中さん :2009/11/25(水) 01:58:53 ID:M336GeBN
arduinoで初めて限界に達したら次いけばOK
シリアルポートがあるならAVRSPもいいんじゃないの?
655 :
774ワット発電中さん :2009/11/25(水) 18:22:59 ID:333Z/a8b
>>650 です。
目的は、趣味と興味です。
PWMやタイマ、割り込みなど、マイコン特有の動きをかじってみたいと思いまして・・・。
モーター制御やLEDなどでまずは基礎を覚えつつ遊んでみたいと思っています。
>>655 機能と使い方をとにかく知りたい、というのであれば
AVRマイコン・リファレンス・ブックという本がおすすめ。
データシートとwebの情報で事足りるという意見もあるけど、
本としてひとまとめになって参照出来る便利さは大きいと思う。
自分はかなり役に立ってる。
作例を多く見たいのであれば、AVRマイコン活用ブックかな。
AVRマイコン活用ブックはソースコードの説明がほとんどないのがちょっと・・・
まあまずはLEDでピコピコやってみることだな LEDの点灯時間を自由に制御できるようになるころには タイマーと割り込みの使い方はマスターしてるだろう
AVR Studioでアセンブラを使っているのですが、 シミュレータでデバッグをやってるとき バイナリの数値をを見てると疲れるので、 Cのprintfのようなデバッグ出力を行う方法はないでしょうか
>>645 最近のUMLベースな書き方だと、C++の方が素直に書けないか?
ストラテジーとかブリッジとか…
>>659 昔からPCとシリアルで繋いでデバッグするのが主流。
シリアルがないなら適当なUSBの変換アダプタで。
このスレでも良く出てくる秋月のAE-なんとかがいいんじゃないかな。
後はシリアル出力に対応したprintfをどっかから持ってくればいい。
tiny系はUARTがなかったりするからUSIやソフトウェアで用意する。
やはりシリアルデバッグは実物でやるしかないんですね ありがとうございました
LCD繋いでもいいと思うよ。 面倒ならe-dispというシリアル接続なLCDもある。 これはAVRのTXと直結でいい。高いけど。
シミュレータでデバッグ出来ないなんて・・・酷いな
シミュレータ動作中のウォッチ式は 16進数、10進数で切り替えられたほか、enumなんかはその名前でチャントでてた気がする。 アセンブラのときは知らないけども。
>>655 亀だけど、AVRマイコン・リファレンス・ブックはオレもお勧め
あとは試しながら学ぶAVR入門も良かった
この辺のサンプルを試しながら、自分流にモデファイしたり
周辺回路の分からないのをググったりしてるだけで結構レベルあがると思う
ライタはPC次第だけど、オレはchanさんの抵抗だけのライタからUSBASPとかHIDASPを作った
今ならHIDASPがイイと思う
668 :
774ワット発電中さん :2009/11/26(木) 01:10:16 ID:488jdhr4
初めてAVR使います。MEGA644買ったんですけど外部Xtalは付けれるのですか?時計作るので… あとシリアルコネクタに数個部品付けてとりあえずのライターってできますか? 調べ方教えてください。
まず服を脱ぎます
服を畳みます
ありがとう。H8/3069ボードあるからライター作ります。水晶はロジックかまして外部割り込み要因に使えばサブくロックになるから時計のためにメインクロック落とさなくていくなるね。 データシートまるでわからないw
672 :
774ワット発電中さん :2009/11/26(木) 02:09:04 ID:PLUMSZ7t
自己責任です
>>672 普通に使える
あとAVRにおいてライタ自作がスタンダードで問題は特にない
こういう簡単なライタを使ってusbaspxとかhidaspxを作るのがおすすめ
hidaspxいいよな ドライバもいらんし
hidaspxはhidspxがシンプルでavrdude+usbaspよりも使いやすい。
そうそうhidsxpがいいね
678 :
774ワット発電中さん :2009/11/26(木) 23:19:14 ID:iNPJ9aPz
HidSpxa
679 :
774ワット発電中さん :2009/11/27(金) 09:28:47 ID:w14KpC1D
いじわるしないでください
680 :
774ワット発電中さん :2009/11/27(金) 11:07:08 ID:dbUBxb79
hidaspx 2313に書き込むファームが分からない・・・ main_libusb.hex でいいの?
681 :
774ワット発電中さん :2009/11/27(金) 12:19:57 ID:xM67Hh2o
>680 main-12.hex
682 :
774ワット発電中さん :2009/11/27(金) 15:13:18 ID:o58qEU39
readme-jに書いてあるので読んでいればわかると思うけど一応・・ main-12.hex(HIDaspx用), main_libusb.hex(MacOS, Linux用) main-small.hex(USB-IO専用のファームウェア) main-RC.hex (RC発振モードのUSB-IO専用のファームウェア、実験レベル)
683 :
680 :2009/11/27(金) 20:13:22 ID:W6s/QrvW
>681 >682 ありがとうございます 一応 目は通したはずなんですが・・・ 色々 セットになっているけど 必要なものだけ欲しいな 判らない人間には混乱のもとだ
わからない人間は市販品を買いなさい オレは買いました
市販品ならavrwrtが安いくていいよ
色々あってAVRISPmk2に落ち着いた
AVRSPを使ってるが、 新しいPCにRS-232Cがなくて、USB変換ケーブル買ったんだけど 激遅で使い物にならんので、古いノートで書き込んでる そろそろ他のライタにすべきか
688 :
774ワット発電中さん :2009/11/27(金) 23:47:47 ID:xM67Hh2o
>687 HIDaspx
回し者じゃないけど、マジでHIDaspxいいよ 最近はmegaも安いし、千秋さん多機能の上位版作ってくれないかな
これから電子工作をはじめる初心者にhidaspxライタは難しい
691 :
774ワット発電中さん :2009/11/28(土) 00:18:57 ID:kXTZretE
というより、HIDaspxだと安いが2313に書かなきゃいけないからな・・・ 本当に一からやるなら、一番安いのはFT232Rを使うのしかないのかな
tiny2313特有でもないし移植は簡単だと思うけど 既にmega88で動くのがあったような
俺もFT232R→HIDaspxだ ChaNさんのシリアルライタとかパラレルライタを即席で作ってみてもなかなか 動いてくれなかったが、秋月でFT232Rを買ったら一発で動いた 自分で作ったという気にはなれなかったが、やはりLEDチカチカできるとモチベーションが上がる こてを握るのはその後からでもいいのでは。それまではブレッドボードで遊ぶとか
一から始めるなら、プログラマー(書き込み器)は買ってきた方が良いと思う。 他のMCUを賞味したことがあるベテランなら、そんなことないけど
と、俺も思うよ。最初は
>>685 買って、あとはそれ使ってhidaspxを作ればよろし。
しかしよくソフトでUSBのプロトコル実装できたな 12MHzで1.5Mbpsってことは、8クロックで1bit処理か 無理じゃないかもしれないけど難しそうだ
vusbは結構すごいことをしてるからな、まぁかなりぎりぎりだけど。 MEGA使うならRAMの余裕があっていろいろできるけど、2313だとほぼusbの処理だけで埋まってる。
限られたリソースや不自由な制限の中で要求を達成するところがプロだなと思う。 chaNさんの工作もプロ意識が滲み出てて、かなわないな〜って何時も思う。
>>687 いや、普通に AVRISPmk2 だろwww
純正品だしw
え、hidaspxのファームってVUSB使って書かれてるの?
702 :
774ワット発電中さん :2009/11/28(土) 11:30:43 ID:IAIFdeFl
>>701 >ドライバのインストールが出来ない環境でもマイコン関連の学習を可能にする為
>HIDaspやHIDsphなどのライタやAVRUSBのプロジェクトを参考に
>irukaさんの協力を得て、HIDaspをベースに安定化と高速化などの
>改良したのがHIDaspxであり、ハードウェアとファームウェア一式を意味します。
ってV-USB(AVR-USB)を使っていると書いてありますよ。
>>703 とんくす。全然読んで無かったわ。
どうでもいいけど、IDがもろAVRだな
>>704 >IDがもろAVRだな
ほんとだ。ちょっとうれしいw
これはめでたい
>>705 xLFっていうことは、LowFrequencyで使わず、ちゃんと水晶発振でヤレってことか?
なんにせよ、おめっとさん
F(早く)AVR(を動かしたかったら)xLF(LF使わないのが)g(Good)
>>707 そういうあなたもNoPですね(゚∀゚)
>>672 の配線だと書き込みしかできないので勿体ない。
以下はAE-UM232Rをプログラマ、USBシリアル兼用にする結線。
動作をスイッチで切り替えられる。
10K(RESET用プルアップ)
AVR側RESET#---+-----WWW----------VCC
|
←プログラマ動作 | シリアル動作→
↓ 手動リセットSW
DTR-------スライドSW---+---タクトSW--GND
|
AE-UM232R側RESET#----+
AE-UM232R側TX----AVR側RX
AE-UM232R側RX----AVR側TX
書き込みはスライドSWをプログラマ側にしてavrdude-serjtagを実行、
AVRとシリアル有効化はスライドSWをシリアル側にしてタクトSWでリセット。
書き込みをしていなければリセットは不要。
SCK、MISO、MOSIはそのまま。
これらのポートを別の用途で使うならAE-UM232Rとの
結線を74HC125経由にして#RESET=LOWの時だけ通過。
神IDと聞いて会社から記念カキコ
あー、
>>672 はconfigに"diecimila"を追加して使ってるのね。
(
>>711 が前提にしてる結線はsetjtag-0.3付属に元々入ってる"ft232r"の方)
>>672 を参考にする場合は
>>711 のDTRはRIと読み替えてください。
前に書こうとした時はプロバイダ規制中で書けなかったのだが...
>>711 シリアル経由で書き込みができるのは、あくまで事前にAVRにブート
ローダ(Arduino含む)が書き込み済みのデバイス相手の場合でないの?
少なくとも、対象のAVRが2313やATmega8/88/168/328で、素のデバイス
の場合には書き込みできないよね?(∴ 厳密な意味でISPライタと
しては使えない)
それともATMega64/128限定(確かISP端子がTXD/RXD)とかの話?
そうだとしてもISP書き込みにはSCKが必要だけど。
初心者ならavrasp 2 か avrwrt 買っとけばオケ
>>714 普通にAVRのフラッシュへ書く時にも適用できるよ。
それとシリアル経由で書くって話でもない。
>>672 の記事は、arduinoのブートローダーの話から派生してるから
誤解を生む様だね。
>>711 はarduinoとは何の関係もなく、AE-UM232R(FT232R)の
AVRプログラマとしての使い方と、本来のUSBシリアルとしての機能は、
結線を変更すればスイッチで切り替えられるよね、って話。
AE-UM232RをAVRプログラマとして使う記事としては、
こっちを見た方が判りやすいかも。
http://misumi.sakura.ne.jp/blog/archives/2008/08/avr_1.html この記事はserjtag-0.3.zip付属のavrdude.confをそのまま使っている。
(結線はavrdude.conf中のプログラマ設定"ft232r"に合わせてるので
>>672 と違う)
avrdudeの簡単な使い方
デバイス認識
avrdude -c ft232r -P ft0 -p m168 -B 57600
下位ヒューズ設定
avrdude -c ft232r -P ft0 -p m168 -B 57600 -U lfuse:w:0xf7:m
hex書き込み
avrdude -c ft232r -P ft0 -p m168 -B 57600 -U flash:w:main.hex:i
m168はavrdude.confに定義してあるAVRデバイスID。
-Bで指定するボーレートはクロックを変更した後は230400や460800とかも使える。
あ、
SCK、MISO、MOSIはそのまま、って書いたから誤解したのかな。
>>672 のまま、ってことね。言葉が足りなかったね。
ISPの3線+RESETで書くわけだから、これらの結線は要ります。
繰り返しますが、AE-UM232RのAVRプログラマとしての使い方は、
arduinoブートローダーとは何の関係もない汎用的なものです。
>717 AVRのTX、RXはISPモードに入ったら影響しないので切り替え不要です。 (ピンがどういう状態なのかは不明。入力かHi-Zだと思われる)
> SCK、MISO、MOSIはそのまま、って書いたから誤解したのかな。
そう。
>
>>672 のまま、ってことね。言葉が足りなかったね。
> ISPの3線+RESETで書くわけだから、これらの結線は要ります。
ISPの結線残したまま、TXD/RXDをパラってしまうのは、いささかどうかと。
リセット後の初期状態でAVR側のピンは入力になるから、ISP書き込み時の
信号の衝突はないとしても、SCK、MISO、MOSIを完全に空きピン(入力で
放置)で使うのでない限り、USBシリアルとライタ兼用で使うには、やっぱ
何らかの切り替えは要るってことですな。
要するにFT232RL(FT245)のBitBangモード(汎用USB I/O)を使ったライタで
書くってことね。
>>720 >>711 の74HC125云々はその辺りのフォローです。
AVRのRESET#と74HC125のOE#(TC74HC125APではG#)を繋ぐと、
ISPモードの時だけAE-UM232Rの結線が有効になります。
>>691 COMポート直結で一発で焼けたよ。
Dサブのゴミケーブルさえ手に入れば余裕だった
>>723 お疲れ様
ところで話ズラして申し訳ないんだけどAREFのってパスコン?
オイラはAD使わない時はVCCとAVCCとAREFを全部つないで、VCCにパスコン一つ
AD使う時でも、AVCCとAREF側に一つ余分にパスコン入れるくらい
データシートにゃLCネットワークって書いてあるけど、精度いるなら外付けのAD使うし
725 :
774ワット発電中さん :2009/11/29(日) 00:32:48 ID:tGavsZiL
ATMEGA88系(48〜328)のデータシートをプリントアウトしてたら やたらページが多くてインクが無くなり、インクを詰め替えて インクカートリッジのリセッターを使った。 プリント再開してやれやれと思ってリセッターの中を あけて見たらなんとATMEGA88が入ってた!
>>724 内部基準電圧用のパスコンです。
ADCが不要ならオープンで良いと思います。
727 :
774ワット発電中さん :2009/11/29(日) 15:52:00 ID:hLZixrl7
AVRISPMk2とAVRWRTの二つで悩んでいます。 マイコンは初めてなのですが、初心者にも使いやすいのはどちらでしょうか。 それぞれの比較サイトを探したのですがみつからないため、もし両方を知っている方がいらっしゃったら その比較もお願いしたいと思います。
>>724 最近のAVRのA/Dだと、内部レジスタの設定で、AVcc=AVREFに設定で
きるから、外部でAVccに直結する必要はない。 むしろ、1.1V内部
リファレンスに切り替えた際に、不具合が生じるかと。
コンデンサを付けるのは、リファレンス電圧のデカップリング用ね。
内蔵リファレンス選択時、AVREFピンには1.1Vが出てくる。
いくらAVRの内蔵ADCが低ビット分解能だからと言って、リファレンス
電圧がふらついては意味がないし、高分解能の外付けA/Dを使ったとこ
ろで16bit以上の分解能で使うのは、そうたやすくはない。
電源やGNDの引き回しをちゃんとやらないと、AVR内蔵のA/Dでさえ十分
性能を発揮できない。
729 :
774ワット発電中さん :2009/11/29(日) 20:43:51 ID:gsbD6j5l
USARTでPCとの通信の時、文字化けで苦戦。 ・m168、AT2313 全NG ・クロック1MHz、4MHz 全NG ・ボーレート 1200、2400、9600 全NG ・ベンチ STK500、自作ADM3202 全NG ・PC TeraTerm、ハイパーターミナル 全NG ・ケーブル USB-232Cコンバータ、232C-232c 全NG ・ソフト BASCOM BASCOMのシュミレータでは、ソフトOK 英語圏のPCを購入しないとダメなのでしょうか?
文字コードは何で改行コードはどれを使ってるん? バイナリで見たときの整合性は? ターミナルから保存して、Mbakerとかでも読めない? とテキトーに言ってみる
送信がダメなのか、受信がダメなのか、それが問題?
全NGってことは、たぶんタイミング以外の問題じゃないかと。 クロス結線してなかったり、負論理と正論理を間違えてるとか。
フロー制御大丈夫?
負論理だということを忘れてないか と書こうとしたがかかれてた
735 :
774ワット発電中さん :2009/11/29(日) 21:43:35 ID:gsbD6j5l
レスサンクス STK500でXtalにしてやってみます。
RCオシレータだと文字化けしまくる事があるかも
>>729 最近、負論理でしくってボロクソにレスが付いたオレがきましたよ
とりあえずPCに一文字送信して
バイナリを見れるターミナルソフト(自分はSeristerってのを使った)で見ると良い
ちなみに正負の論理違いだと a (0x61) は O (0x4f) に化ける
U (0x55) は U (0x55) となって化けない
PCから受けたデータをそのまま返すエコーバックなプログラムで 通信モジュールのテストでもするとかな…。 LCDでも付いてれば、PCから受けたデータをそのまま表示してみるとか。
AVRSPからHIDaspxに乗り換えようと思ってるのですが、 AVRSPで便利だった、マイコンからのソフトウェアUARTでprintfデバッグをする機能は 使えるんでしょうか それともデバッグ通信用に別の信号線を確保する必要がありますか?
>>727 初心者は純正品にこだわれ。
AVRISPmk2だって、別にそんなに高くないんだから
あえてサードパーティ製にする意味はないと思う。
741 :
774ワット発電中さん :2009/11/30(月) 00:32:45 ID:AG+v7xwh
>>739 >>デバッグ通信用に別の信号線を確保する必要がありますか?
はいそうなります。
>>727 AVRWRTでOK。
>>729 単純化したソースをさらした方が良いアドヴァイスを得ることができると思う。
mega186でDVDを読み込むにはどうしたらいいでしょうか?
745 :
774ワット発電中さん :2009/11/30(月) 19:45:12 ID:pvZRpNId
>>727 です。回答して頂いた方、ありがとうございます。
AVRISPmkIIに関してですが、共立(7000円)と秋月(4000円)で値段が大幅に違うのですが、
違いはなんなのでしょうか。商品ページを見る限り違いはわからなかったのですが、
違いはあるのでしょうか。
またAVRWRTではできて、AVRISPmkUではできないこと、またその逆について、
もし知っている方がいらっしゃったら教えていただけませんか。
秋月と比べても仕方ないだろ…
>>745 秋月は一万円以下だとクレジットカードで買えないので面倒くさい
代引きだと家にいなきゃだしな。
AVRSPがUSB-シリアル変換コネクタを使うと遅いのは giveio.sysを使って直接シリアルのピンを叩いてるからなんだな そうしないと自由にクロックを送れず同期が取れなくなる。 これを、ファイルハンドルでCOMポートの入出力を行えば、USB-シリアル変換コネクタも使えるようになる しかしクロックを送れなくなるので、いったんPCからのデータを制御用マイコンがデータを受けて、 そのマイコンをAVRの~RESET/MISO/MOSI/SCKのピンに接続して通信を行えばよい。 よし、いっちょ作ってみるか。
AVR910互換品でも作るのか?w
なんだもうあるのか 車輪の再発明をするところだったぜ
昨日秋葉原行ってきて300円液晶とそれを動かすための材料を買ってきた これでArduinoのシールドとして使えるようなフレームバッファモジュールを作ろうと思う ところで、AVRでinflate(ZIPやPNG)って現実的な速度で出来るかなあ。 液晶への画像転送のときに帯域圧縮で使いたいのだけれど。 それよりはオーバーレイで一部分だけ送るほうが現実的か。 そのときはベクタで描く方法の理解が必要になるけれど。 CPLD使えばっていうのはやめて><
CPLDがダメならFPGAを使えばいいじゃない!
>>753 更新しようと思った瞬間にその返しが来ると想像してしまった
http://naee.sakura.ne.jp/ ここで、外部SRAMとピン数の多い面実装AVRを使う方法で
フレームレート60fpsを達成しているみたい
ただ、mega168やらtiny2313でがんばりたい
tiny2313を並列動作させてクロスファイアもどきとかできないかな
>>751 なんだもうあるのか
SPIブリッジがまさにそれ。
AVRライタとしても速いし、PIC24だったかdsPICだったか忘れたが
PICkit2より速く書けた。
>>752 ZIP(PNG)のデコードはスライド辞書ぶんのバッファがいるから、
速度はともかくメモリの少ないAVRには向いてないと思う。
あらかじめ単純なやつにした方がよい。
>>754 AVRの並列動作は興味深いね。
同一クロックソースにして、シグナルを発行するマスターAVRと、
そのシグナルからプログラマブルにポートを上げ下げする
複数のスレーブ2313、という構成が簡単そう。
>>745 AVRWRTではできて、AVRISPmkUではできないこと、またその逆について
AVRWRTの利点
AT90Sシリーズに対応している
日本語でのサポート。GUI画面も日本語
HIDaspxなどを作った後、FT232RL+Tiny2313基板として利用できる
AVRISPmkUの利点
Xmegaシリーズに対応している
AVR Stuioから起動できる。ファーム更新もAVR Stuioからできる
保護回路がしっかりしている
書き込み状態・エラーがLEDで表示される。USBにつなぐと音がでる
どちらも単なるライターなので個人の好みぐらいの差しかないと思うけど。
>>757 クロックを同期させてもシグナルを受けるピンの同期化は別だから、
受け取るタイミングにより、まずスレーブ間に1クロックのズレが出る。
さらに、ピンの待ち受けをポーリングにするか割り込みにするかの選択。
ポーリングだとsbicかsbisを使うとして成立時2、不成立時+1rjmp+2で3、
検出が1回送れると5クロック分ズレが拡大する。
割り込みを使うと、一律遅延が数クロック出る代わりにスレーブ間のズレは
最小に抑えられる。命令同期の関係でフォアグラウンドループをrjmpのみに
しても1クロックのズレが発生するので同期化と合わせて最大2クロック。
この辺詳しい人いないかな?
回路が極端に簡略化出来るならまだしも、1つのデバイスを 同期が必要な複数のMCUで動かそうとは思わんかなあ… ネタとしては楽しそうだけど。
機能の分散化は簡単だし、よくやるけど 完全並列処理は無いな 誰か挑戦してくれ
マスターが複数スレーブにキックを掛けて同時に処理スタート。 各スレーブにはビジー信号を用意しておいて、全ビジー信号の解除を待ち次の処理へ。 並列処理しないときはバスで逐次アクセス。 というものは作ったことがある。 これが完全並列処理になるのかわからないけど。
MEGA164をMEGA644に置き換えは可能でしょうか?
前スレに時計の話題があったので試しに328pで作ってみたんですが LCDで表示していると誤差が10分で7秒ぐらい進むようになってしまいます。 32.768kHzの水晶を非同期のカウンタにつないで128分周して1秒おきの割り込みで カウントアップさせています。 LCDは秋月のSC1602BBWBでWinAVRのexamplesにあったhd44780用のライブラリを 変えて表示させています。 XPsp3、WinAVR-20081205、usbaspで書き込みです。 mainでボタンを押したときに表示されるようにしたりパワーセーブや 長めのウェイトをかけるようにすると誤差はほぼなくなるので すが原因が解かりません。LCDを使うときはしょうがないものなんでしょうか? コードはTIMSK2とsei();で溢れ割り込み許可して表示しているだけです。 lcd_gotopos(0, 0); lcd_putch(min/10+0x30); lcd_putch(min%10+0x30); lcd_putch(sec/10+0x30); lcd_putch(sec%10+0x30); //_delay_ms(250);
割り込みのところは ISR (TIMER2_OVF_vect){ sec++; if(sec==60){ sec -= 60; min++; if(min==60){ min-= 60; hour++; if(hour==12){ hour-= 12; } } } } だけです。
>>765 min,sec等の処理は60を引くよりも0を代入するようにしてみたらどうだろう?
で、割り込みがあった時だけ表示を更新させる様にすべきかと。
767 :
774ワット発電中さん :2009/12/01(火) 19:12:58 ID:/RG8iMxk
AVRWRTとAVRISPで迷ってます。他にも迷われている方がいるようですが、 どちらにしましたか? また、決め手はなんでしたか? 熟練者の方にも質問です。 あまり英語が得意でないのですが、AVRISPの取扱説明書は英語と言うことで 少し心配しています。翻訳版もあるのでしょうか、また、翻訳したものが出版されていたり、 使い方を詳しく解説した書籍、サイトなどはあるのでしょうか。 また、AVRWRTについても、使い方を詳しく解説した書籍、サイトなどあるのでしょうか。
>>767 ライタを選ぶ基準の1つは、コマンドラインから使えるかどうか。
何度も使うものはバッチ的に実行できるインターフェースの方が断然良い。
つまりAVRWRTは買っちゃダメ。
AVRISPmkIIは良し。(stk500.exe)
769 :
764 :2009/12/01(火) 20:31:36 ID:+GgX6aZV
>>766 代入より引いたほうがシンプルになるかなと思ってひいていました。
割り込み時の更新で時計としては十分になると思うのですが原因を知っておかないと後で
似たようなことをやるときに困るかなと思って質問してみました。
static volatile s_flgTimeChanged; なんて変数を設けて、タイマ割り込み内は、s_flgTimeChanged=TRUE; とフラグをセットする処理だけにして、 int ClockMain() { for(;;) { if(s_flgTimeChanged) { RefreshLCD(); /* LCD表示の更新 */ s_flgTimeChanged=FALSE; /* フラグのクリア */ } } } てな風に表示更新処理はメイン側においた方がいいよ。 割り込み 周期が1秒より短い(例えば10ms)場合、 static volatile s_numDivideCount=0; ISR (TIMER2_OVF_vect){ { if(++s_numDivideCount>=100) { s_flgTimeChanged=TRUE; s_numDivideCount=0; sec++; // 以下略 } } とすればいい。
>>764 とりあえずタイミングがシビアなのはアセンブラで書いて
クロックをきちんと数える
今安価で出回ってるATMega328はRev.Bのエラッタ持ち。 >Errata ATmega328P >Rev B >1. Unstable 32 kHz Oscillator >The 32 kHz oscillator does not work as system clock. >The 32 kHz oscillator used as asynchronous timer is inaccurate. 32kHzのRTCはまともに使えないと思った方がいい。
>>722 > 32kHzのRTCはまともに使えないと思った方がいい。
>>764 で、
> 32.768kHzの水晶を非同期のカウンタにつないで128分周して
> 1秒おきの割り込みでカウントアップさせています。
とあるので、外部にある発振回路と分周カウンタを使って、256Hzを作成
して、8bitタイマ入力にしている(エラッタは無関係)のでは?
>>771 経験上そんなにシビアとは思えないが、むしろAVRが何MHzで動作させて
いるかが気になる? 出荷状態のままのヒューズ設定だと内蔵RC発振の
1MHzじゃなかったっけ?
ズレは32.768kHzの発振周波数の誤差が原因の可能性もあるが、分母に
対してちとズレが大きすぎる。
>>767 そんなに英語がキライなら、国産日の丸ルネサスにすればいいのに。
776 :
764 :2009/12/02(水) 00:27:51 ID:Vd+wWzNk
書き方が悪かったですが、水晶は328pに直接つないでいて非同期の設定にしているということです。 ヒューズビットは書き換えていないので1MHzで動作しています。 エラッタのことは気づきませんでした。今度168pでも買ってきて試そうと思います。 ただLCDを頻繁に更新しなければそこそこ精度は出ているのでプログラムに問題があるように思います。 今試しにOptimization levelを0にしてみたら今度はおくれるようになりました。
>>776 LCD処理関数の中で割り込み止められてるんじゃない?
>>773 >>772 は
1.32khzの発信機の不安定さ
・32kHz発信機はシステムクロックとして作動しない
・32kHzの発信機は非同期タイマ(/カウンタ)として使うと(一応使えるが)不正確である
と二つの不具合を言ってる
非同期タイマって8ビットタイマにしかなかった機能じゃなかったかな
779 :
764 :2009/12/02(水) 00:51:19 ID:Vd+wWzNk
>>777 割り込み禁止になっていた場合それが解除されたときに即割り込みになると思ってたんですが
そうすると遅れないですかね?もうちょっと割り込みについて勉強してみます。
>>779 もちろん割込解除されたらペンディングされていた割込は即応答するけど、
保留中の間にさらに割込条件が成立しても、割り込み要求状態を保持する
レジスタは、1ビットしかないので、取りこぼしが起こる。
FIFOを持たないシリアル受信などでは、受信データレジスタが上書きされて
オーバーランエラーになる。
確かに処理内のどこかで割込禁止している可能性はあるけど、今回の場合1秒
以上の間ずっと割込マスクしないと、それが原因で遅れることはないし、逆に
割込禁止が原因なら、時計が遅れることはあっても進むことはない。
32kHzが不安定というエラッタが、通常の発振回路で想定される以上の周波数
のふらつきを含むのなら、時には遅れたり、時には進んだり(コード最適化
指定に依存関係があるように見えて、実は無関係)の可能性はある。
割り込み禁止中に起こる割り込みは 保留じゃなくて無視されるもんだとばっかり思ってた。 違ったのね。
>>781 そういう割り込みもある。とデータシートには書いてあるな。
具体的にどれであるかは書いてないけどw
ところでFPSLICって売ってるところある?digikeyでも非在庫保有品なんだよなぁ・・・ (PLCCのやつであそんでみたい)
>764 カウントミスという確率的なバグの雰囲気と、 スリープとかで電力に余裕をもたせると大丈夫というのは ハードウエアの異常を疑いたくなるんだが、 ブレッドボードで組んでてパスコンいれてないとかじゃないよな? >783 非在庫っていっても、在庫はあるから買えるんじゃ。
AVRでソフトモデムを作ろうと思っていますが、 どこかにAVRで使える高速フーリエ変換のソースはないでしょうか 周波数は、おおむね音声帯域(3KHz以下ぐらい)を想定してします
ChaN氏のページは記事が多すぎてどこか分からないので できれば直リンお願いします
甘ったれるな
>>785 ソフトモデムでFFTが必要というのは不思議だな。
FSKやPSK、QAMならFFTは使わないよ。
OFDMでもやるの?
初音ミクでググレ
6ピンMCUktkr
792 :
774ワット発電中さん :2009/12/03(木) 12:31:20 ID:5jBbkb87
こんにちは。あたしはカウガール。 AAとして成り上がるため、スレを巡る旅をしています。 __ ヽ|__|ノ モォ ||‘‐‘||レ _)_, ―‐ 、 /(Y (ヽ_ /・ ヽ  ̄ヽ ∠_ゝ ` ^ヽ ノ.::::::__( ノヽ _/ヽ /ヽ ̄ ̄/ヽ
>>784 現在のDigikeyの在庫が0でも、取扱対象の商品であれば購入可能な最低数量
(通常は1個〜可,リール品だと指定数量〜)以上の購入数を入れて見積ボタン
をクリックすると、予定納期が表示されるよ。
んで、カートに入れた後、実際に注文する時にどれくらいの日数まで待てる
のか30日単位だったかで指定できる。 希望日までに在庫が補充されないと、
その時点で自動的に注文はキャンセルされる。
>795 入荷がばらばらになる場合、配送単位で7500円越えないと送料がかかるから注意。 一括配送にもできるけど、底抜けに遅れても良いやつばかりで送料無料に 届かせるのが大変で、在庫なしへの注文はあまりやる機会がないな。
797 :
774ワット発電中さん :2009/12/04(金) 01:11:24 ID:40fRZc9Y
AVRstudioでwait命令を入れる時、単位はS(秒)、mSなどどれしょうか。
clk
799 :
774ワット発電中さん :2009/12/04(金) 01:35:30 ID:40fRZc9Y
>>798 それでは20MHzクロックを使っていればwait(1)を入れると50nSの待機ということでよろしいですか?
そんな関数見たこと無いけど
1クロック待機→nop
即値の使えない下位レジスタr0〜r15だけで 多倍長インクリメントとデクリメントをやってるのですが、 下より短くする方法はあるでしょうか? 符号なし32bit inc inc r2 brne 1f inc r3 brne 1f inc r4 brne 1f inc r5 brne 1f 1: 符号なし32bit dec tst r2 brne 2f tst r3 brne 3f tst r4 brne 4f dec r5 4: dec r4 3: dec r3 2: dec r2
>802 ゼロレジスタ作っとくのは無しかね。 インクリメント sec xor R0 adc R1, R0 adc R2, R0 adc R3, R0 adc R4, R0 デクリメント xor R0 dec R1 sbc R2 sbc R3 sbc R4 incでキャリは使えなかった筈だけどdecでボローは使えた気がするので。
DECはCフラッグ関係なさそうですけど・・・
>>803 802を作る時に確認しましたが、decはキャリー変化してくれませんでした。
データシートにも書いてありました。
ゼロレジスタはありです。
ということは eor r0, r0 sec sbc r2, r0 sbc r3, r0 sbc r4, r0 sbc r5, r0 でいいのか。 ありがとうございました。
正月休みは、ワイヤラッピングでQFPの配線に挑戦してやる
慣れると簡単
慣れれば簡単というのは同意だが、 さりとてelm-chanのその規模でやるのは嫌だ。その写真にもあるように 結局見た目も綺麗にならないし。基板をおこすと思う。
>>810 chan先生のマネしてカプトンテープ買おうとしたが値段みて心が折れた
ランドを剥がしちゃえばテープ貼らなくてもOK
じゃあもういっその事、かまぼこ板で
814 :
774ワット発電中さん :2009/12/05(土) 01:41:08 ID:EPVpvtRx
>>811 アマゾンで1000円しないぞ。
1000円程度であきらめる位、心が弱いのか?
815 :
774ワット発電中さん :2009/12/05(土) 08:37:48 ID:cDDcHBTJ
QFPはピッチ変換基板でいいや SOPならハーフピッチのユニバーサルにでも乗せてしまえば?
816 :
774ワット発電中さん :2009/12/05(土) 08:57:27 ID:pVO52Zlv
>811 カプトンテープの代わりにクッキングシート+両面テープ。 実験的なら十分いける。
無線屋ならベタ基板に仰向けで寝かせる場面だ。これ最強。
UEW配線用にボタンで20Wから130Wになるセラミック半田ごて買ったが 結局は基板起こすんだよなあ…… 幸い、CNCを利用できる環境にあるし
前、空中配線でさまざまな部品を組み合わせて走るように作った 立方体のロボットがあって、センサーとか無しに壁にぶつかったら 部品の足が短絡して向き変えたりするのを思い出した
>>818 CNCもなんだかんだで面倒でな。
結局はフォトリソ+全部品SMTが一番気軽だって最近思えてきた
>821 ボーグ艦ではないか? 私はボーグにとても感動したので、思わずこれを作ってしまったというのが、製作の動機の一つです。 このロボットは他のロボットの部品(抵抗やコンデンサ)をも同化して取り込んでしまいます。 すなわち、抵抗は無意味だ ということです。
最後の一行をいうために一体どれだけ努力してるんだ。 さすがとしか言いようがない。 前フリで 「立体で並列接続してるのでどこを測っても抵抗は10Ω程度」 と伏線張って最後に回収する筋書きにもセンスを感じる。
質問です。 ATmega88Pに12MHzクリスタルを使う場合、 AVRStudio の Fuses SUT_CKSEL の設定は、どれを選べばよいのでしょうか? Ext. Low-Freq. Crystal; 低い周波数ってどれくらい? Ext. Full-swing Crystal; これは20MHzのこと? Ext. Crystal Osc. 8.0- MHz; 12MHzはこれ?
普通に使うなら、フルスイングを選べ。 Ext.Crystal Osc は水晶発振器(データシートで外部クロック信号と書いてるはず)だから それで設定すると気持ちよく氏ねる
>826 ありがとうございます。 いろいろ試してたら、認識されなくなりました。 Fuseビットって怖いですね。
RESETを無効にしたか
おそらくExt.Crystal設定しちゃったんじゃないの。 面倒ならそのmega君は捨てる。 勿体無いなら12Mhzのオシレータ購入して動かす。 勉強したいならfuse リセッターを作る。
それなら他のマイコンか何かからパルス送ってやればいいだけ
Fuseビットに四苦八苦してる人に、全然親切ではないアドバイスだな
FUSEは、供給電圧が不安定な状態で書き換えると、 いじってない部分のビットがオンになってSPI不能に陥ったことがある。 リセッターで復帰できたけど、フューズ書き換えるときは気をつけないとと再認識した
話をぶった切りますが、 movwで参照されるレジスタって、cli〜seiで囲わなくても 割り込みでぶった切られることは無いですよね?
1クロック命令をどうやって分断するんだ…
データシート「Instruction Execution Timing」の例が 2レジスタオペランドについてだけだったのが気になりました。 ADIWとかは2クロック掛かってるので。 In a single clock cycle an ALU operation using two register operands is executed, and the result is stored back to the destination register. というか、1命令なら割り込みが遅延するだけで 分断しようがないですね。これ書いてる内に納得しました。
836 :
774ワット発電中さん :2009/12/07(月) 01:19:13 ID:YYR2C5Q2
ロックビットを制御ソフトのバグで書き替えれて使用不能にした俺が通りますよorz
最近のMEGAはファーム内でもある程度変更できるから そっちでやった方が安全かも
AVRライターの作成時に、卵-鶏問題解決のために、
シリアルポートを使ったライターを知りました。
ttp://blog.toshnet.com/category/18932-1.html 上記の回路図を見て疑問に思ったのですが、
このライターのリセットとVDDのスイッチは、
書き込み時に押すように説明がありますが、
これは常に短絡していてはいけないのでしょうか?
ものすごい素人質問だと思いますが、
なぜこのスイッチが必要なのか気になるのです。
また、この回路図どおりに作った場合、
書き込み中はずっと押しっぱなしにしていなければ
いけないのでしょうか?スイッチはオルタネート式の
物がよいのか、プッシュスイッチがよいのか悩んでいます。
常に短絡していた場合、ターゲットのAVRは常に書き込みモードになる。 卵鶏問題を解決するだけなら、書き込んだら取り外すだろうから、短絡したままでよい。 取り外さずに動作確認もさせるなら、RESETを0Vにして動作モードにする必要があるのでスイッチが必要になる。
違った。RESETを0Vで動作モード、電圧をかけると書き込みモードだ。 負論理なんだな。
>>839 さん
詳しく説明してくれて、ありがとうございます。
なるほど、動作モードの設定スイッチでしたか。
となると、この回路図の場合、5VがUSB電源から
とられているので、スイッチをONにしたとき、
書き込みモードになるわけで、書き込みだけに使うなら
常に短絡した状態でかまわないということになりますね。
ということは、書き込み時には常に押していないとだめなのか...
HIDaspxの作成に必要でしたので、ライタを作るための
ライタですので、短絡させたほうがよさそうです。
ご丁寧にありがとうございました。
いや、その
>>838 の回路のスイッチの付け方はなんかおかしいぞ
ターゲット側でRESETは5Vでプルアップされてるんだから
スイッチ押しても意味ない気がするんだけど
リセットスイッチがオープンのときは1KΩの抵抗でGNDに下がるんじゃない?
ちなみにISPの手順って電源投入時はRESET=LOW その後に2CPUクロック以上の幅のRESET=HIGHのパルスを与える だからスイッチ押しっぱなしはだめなキガスル。
オレ昔DASAケーブルで最初の奴を焼いたとき、手でrst連打した気がする。 そうしないとISPが始まらなかった。何度かリセットかけてるうちに、やっと動くという調子。
HIDaspx付属pdfの回路図ではRESETはプルダウンになってるから こっちは意味があると思う 同じ原理で1線でシフトレジスタ使うってネタがあった
まあ何にしても、他のライタ作るために1回書き込むだけみたいだからな 細かいところは気にする必要はないだろ
>>841 > ということは、書き込み時には常に押していないとだめなのか...
違う。いったん押して離す。その後データ転送。
>>838 の回路は、
1.ターゲット単体はRUNさせたいので10kでプルアップ。
2.書き込み中は手を離したいので1kでプルダウン。
3.リセットHパルスを与えたいのでVCC-スイッチになってるよ。
SCK=Lにしてから書き込みモード。リセットHパルスは必要。
状態によってはリセットLベタで書き込めるかもしれないが
それはたまたま。
>>842-843 の方々、ありがとうございます。
これからAVRを使ってみたいと思って回路と
にらめっこしている状態なのですが、
このような情報は本当に助かります。ありがとうございます。
> 1.ターゲット単体はRUNさせたいので10kでプルアップ。
> 2.書き込み中は手を離したいので1kでプルダウン。
> 3.リセットHパルスを与えたいのでVCC-スイッチになってるよ。
この説明で理由がわかりました。
私は単にデータを流し込むことでAVRは書き込めると思ったのですが、
リセットパルスを与えて、書き込みモードに設定し書き込むわけですね。
ということは、リセット短絡した後、しばらく放置しておくと、
書き込みモードが解除されそうですが、そのような認識でよろしいでしょうか?
ともあれ、このスイッチの意味がわかってうれしいです。
これから部品を集めてライタ作成をしたいと思います。
皆様、ありがとうございました。
851 :
774ワット発電中さん :2009/12/08(火) 22:37:08 ID:UtujWHDV
Cのプログラム上で、UARTにより取得された8bitのデータは、 どのように扱われるのですか? 例えば、その取得したデータをint型に代入した場合、 それは16進数になるのでしょうか。
bitの羅列に対する意味付けは人間の解釈でしかない。機械はただ動くだけ。
↑意味不明なやつ登場
>>851 どのように扱うかをあなた自身でプログラミングするものなんじゃないの?
WinAVRで付属の品番ヘッダファイル入れてるなら ヘッダファイル読めばヨクネ?と言う回答になるだけだしな…。
16進数になるかというのが意味不明 x進数なんてのは人間が読む文字列での表現であって、 intに代入された8bitの値は何進数だろうとメモリ内では同じ値をとる
符号拡張はどうーなるの?って話か。 WinAVR は char 型はデフォルトで unsigned char 扱いだっけ #include <stdio.h> int main(void) { signed char a = 0xff; unsigned char b = 0xff; char c = 0xff; int d = a; int e = b; int f = c; unsigned int g = a; unsigned int h = b; unsigned int i = c; printf("d ← a = %08x\n", d); printf("e ← b = %08x\n", e); printf("f ← c = %08x\n", f); printf("g ← a = %08x\n", g); printf("h ← b = %08x\n", h); printf("i ← c = %08x\n", i); return 0; } d ← a = ffffffff e ← b = 000000ff f ← c = ffffffff g ← a = ffffffff h ← b = 000000ff i ← c = ffffffff
>>858 普通に char = signed char に見えるんだが
int8_tとかuint8_t使えば悩まなくて済むお
いいんだけど、見た目的になんとなく使ってない 基準的に理想的なのはわかるんだけど
PCの16ビットから32ビットの切り替えのときメンドウなことになったから、 素intとか使えない体になってしまった 64ビットになったらまた変わるんかなぁ
863 :
774ワット発電中さん :2009/12/10(木) 23:00:21 ID:MIxJwRLR
初心者です。 AVRISPMK2が今日届きまして、さっそくあそんでいるのですが、 ピンは正確につないでいるはずなのに、オレンジの点滅が止まりません。 一度正常だという緑のLEDがつき、プログラムを書き込もうと思ったらファームウェアを更新する、 というような内容のダイアログが出て、深く読まずにOKを押したあとこのような症状にさいなまれてしまいました。 これはもしかしてファームウェアの更新に失敗してしまったと言うことでしょうか。 また、その場合どのようにすれば復帰できるのでしょうか。
>>863 AVRISPmk2のファームウェアのアップデートに失敗したかもって話かな?
とりあえずAVRISPmk2をPCから抜いて、
AVRStudioを最新のものに入れなおしてPCを再起動、
その後にAVRISPmk2を差し直せば直るんじゃないかな。
本当にアップデートに失敗したなら、
購入店かメーカーに交換依頼するしかないかもね。
届いてすぐなら秋月でも大丈夫でしょう。
>>863 ターゲットボードへの接続を外しても同じ症状がでますか?
>>863 デバイス マネージャ で正常に認識されてる? (Jungoの下)
本当にファームウェアが壊れてるなら、AVRISPmkII_UG.pdf に Manual Firmware Upgrade っていう方法が載ってるよ。
mega328Pいいね FLASH32KB、メモリ2KBもあるなんて、使い切れない これが250円で買えるなんていい時代になったもんだ
フラッシュの32KBはUVEPROMで言えば27256相当、RAMの2KBはSRAMで言えば 6116相当だからなぁ。 ROMの32KBなんて、昔の8ビットパソコンだったらモニタとBASICが載ってた わけだから。 ところで、WinAVR用のライブラリファイルって、ファイル名がlibで始まら なければいけないってのは、GCC独特のお約束なの? ソース中に「 #pragma (lib,"xxx") 」と記述して使う外部ライブラリを指定 できるMSのコンパイラみたいな、機能がないか、ググってみたら、海外の 掲示板に同じ質問している香具師がいた。(結論はできないらしい)
>870 リンカのお約束。-lhogehoge に対して libhogehoge.so を標準パスへ探しにいく仕様。 -l前置させないでフルネーム指定すればいけるよ。 ld main.o hogege.so some.so な感じになるように。
328はコストパフォーマンス異常だよな 使い切れねぇ
873 :
870 :2009/12/11(金) 10:56:05 ID:SzuS42ds
>>871 なるほどね。 ネット検索した際に「ファイル名はlibで始めなければなら
ない」という記述は見かけたんだけど、変なこと書いてるなとその時は気に
止めなかった。
AVR Studio のプロジェクト設定でライブラリを選択するプロパティがある
んだけど、「libc.a」を追加すると「-lc」が、「libm.a」を追加すると
「-lm」が、gccの引数に追加されるんでやっと気づいた。
ちなみに、この設定ダイアログでライブラリの検索パスを設定できるん
だけど、ここにパスを追加しても、ライブラリ(*.a)のファイル名がlibで
始まらないと、リストボックスにも出てこない。
ところで、gccの場合.ライブラリの標準拡張子は.aだとばかり思ってた
けど、.soって拡張子もあるの?
なんかだオープンソースってセンスねぇなと思う。
gccとかの仕様は基本的にunixのを踏襲してるだけでしょ・・・ つーか.aはライブラリ限定の拡張子じゃなくて、 ソースからアセンブル済みのファイルって意味じゃなかったか
Shared Object AVRファーム開発じゃ使わんので安心しろ。
>873 WinAVRに設定ダイアログもリストボックスも無いだろ。 そのへんはAtmel謹製の非オープンソースw
AVRの質問とはちょっと違うと思いますが、 お知恵を拝借させていただきたく投稿します。 AVR2313を使って遊んでおりますが、このICのC,Dポートは 各ビットで20mA引き込めるという認識でよろしいでしょうか? それとも、各C,Dポートでそれぞれのポートの総量20mAまで 引き込めるということなのでしょうか? また、ポートから先のデバイス(今はLEDですが)を H8に繋ぐ場合、こちらは2mAしか引き込めないので、 バッファICが必要になると思われますが、 単純にLEDをつける場合、ひとつのポートに10mA程度 引き込みたい場合、どのようなICがあるのか知っておられたら お教えいただけるとうれしいです。 現在AVRとH8を弄繰り回しているのですが、LEDのデバッガを作る 作業でシンク電流の差で困っていますヒントでも結構ですので、 よろしくお願いいたします。
Absolute Maximum Ratings* DC Characteristics Maximum Operating Voltage ............................................ 6.0V DC Current per I/O Pin ............................................... 40.0 mA DC Current VCC and GND Pins................................ 200.0 mA
(1)AVR2313 というマイコンはありません。 AT90S2313 or ATtiny2313 ならあります。しかし両者とも ポートCは ありません(ポートB と ポートD Tiny2313は +ポートA です)。 H8マイコンとごっちゃになってるのかもしれませんがおちついて。 (2)IOL(シンク電流)について ATtiny2313なら データシート doc2543.pdf (最新は Rev.2543I-AVR-04/06) p.181/182の DC Characteristics と Notes.4 を読みましょう。 全てのポートの合計が 60mA以下でないと VOLmax 0.7V/0.5Vを保証できない とあります。 テスト条件の IOLが 表本体と Notes.の方で食い違ってるので このデータシートは信用なりませんが(Atmelは もう Tiny2313は見捨てています。 だから、秋月に安く流れてきたのかもしれません)。 あと、いまどきの LEDは屋外で使うのでもない限り 1mA流せば十分判別できます。 心配なら 2mA流せば十分です。 2mA なら 15bit分でも合計 30mAなので AVR側は 余裕ですね。 事前にテスターで電流を測って適当な抵抗値を決めてください。 尚、>879 のは 「これを超えると壊れるよ(壊れても知らないよ)」という値 なので、これを当てにした設計をするのは推奨しません。 (3)AVR と H8マイコンのポート同士を接続する場合、電流はほとんど流れない (電圧で情報をやりとりする)ので直結も可能です。但し、両マイコンとも出力に して、片方を H 、片方が Lを出力してしまうと大電流が流れて壊れる可能性があるので、 心配なら 数kΩの抵抗を直列に入れた方がいいでしょう。 初心者のようなので、両マイコンの電源電圧は同じにしてください。 H8マイコンは品種もわからないし専門外なので、他の人にお任せします。 ただし、自分で調べた方が勉強になります。
>>879-881 さん
早速の御教示ありがとうございます。
まず、すいません、2313はATtinyしかないと思っていました。
なのでAVRといったらこれでいいのかな?と。以後正しい名称を心がけます。
各ピンの合計シンク電流量については良く分かりました。
一つ一つのピンというより、全体でと捉える必要があるようなのですが、
性格的に、ひとつのピンに例えば20mA流せますとはっきり知りたかったのです。
しかし、
>>879 さんのデータからは、40mA/Pinということになりますので、
最大40mAをひとつのピンに流せるよということになって、でも全体では
16Pinあわせても200mA超えるべきではないよ。ということになるわけですね。
現在はLEDですが、中期的な目標として高輝度1W級LEDやモータ駆動にも
手を出してみたかったので、ドライバIC?バッファIC?がないかな?と思っていたのです。
そして、
>>880 さんの情報はクリティカルなもので非常にありがたいです。
最初は、7414を使って見ようかなと思っていましたが、こちらの方が
大電流を流せます。教えてくれてありがとうございます。
しかし、Atmel社はTiny2313を見捨てているのですね...orz
ネットでたくさんの情報があり、使いやすそうだと感じて選択してみたのですが。
ディスコンになんてならないといいのですけれど(笑)
H8に関しては、3069Fというチップです。こちらでも同じような回路を
動かしたかったのですが、いかんせんシンクが少なすぎて...ということで、
>>880 さんのICが役に立ちそうです。
皆さん本当にありがとうございました。
MOSFET1本で数Aまでドライブできる それ以上ならリレーでも使えばいい
>>882 余計な補足かもしれないけど、
>>880 のトランジスタアレイは入力端子(I1〜I8)にHを入力すると
出力端子が電流をシンクする、という動作になるので注意してね。
むかしPWMでブザーを鳴らすサンプルをそのまま流用したとき MCU動作がとても不安定になった。 原因はサンプルの回路のブザーがピン直結になってて PWM出力で電流が流れすぎた事だった。抵抗挟んだら安定した。 それ以来シンク、ソース電流には気を使うようになった。
>>884 さん
ということは、NPNトランジスタと同等に動くということですね。
むむむ。マイコン側をプルアップして使いたいので、
それだと常にシンクしちゃうことになるのか...そうすると、
TD62308APG
ttp://akizukidenshi.com/catalog/g/gI-02773/ のようなローアクティブシンクアレイを
使わなければならないようですね。教えていただきありがとうございます。
実は、これと同じ失敗を前にやらかしまして、
シンクなので、アノードコモンの複数発光LEDを買わなければならないところ、
カソードコモンを買って、泣く泣くもう一度買いに行ったことがあります。
事前に知れてよかった。ありがとうございます。
ただ、今のところTD62308APGのように1.5Aもいらないよぅ(笑)
汎用的に使える無難なAVRと言えば、自分はmega8シリーズかなと思う。 mega8 mega48 mega88 mega168 <-このヘン mega328 もちろん、小さなチップを限界まで使う腕試しも魅力的だけど
>>882 モーターとか動かすならフォトカプラとかかましたほうが安心。
いい意味で。
USARTを使いたいのですが、ビットが反転されて出力されているようです 反転されないようにするにはどうしたらいいのでしょうか 反転回路を外付けする以外の方法で、良い解決方法があったら教えてください
893 :
774ワット発電中さん :2009/12/12(土) 00:01:57 ID:DOoGAw/x
>>863 です。みなさん返信ありがとうございました。
原因は、ファームウェアうんぬんではなく、
リセットのピンにLEDをつなげていたからのようでした。
う〜む、まだいろいろわからないことだらけなので、書籍を買って勉強します。
AVRマイコンリファレンスブックが上のほうでお勧めされているようですが、みなさんの意見はどうですか?
MAX232って500円くらいしたり100円しなかったり、なんか値段差がすげー
>>894 まぁいまどき、真性MAX232なんて誰も使わんよなw。10uFを4つつけるんだっけか?w
そういえば、確かコンデンサ内蔵のMAX232があったと思ったが。
俺は抵抗だけじゃなんとなく怖いのでフォトカプラでやってる
MAX232は22uFが4つだったけど MAX232Aになって0.1uFが4つになった。 MAX233がコンデンサ内蔵だけど500円するし20ピンもある。
ケーブル1mぐらいなら簡易法ですますけど 仕事で5m超えたらMAX232A使っている。 20m以上ならRS422+絶縁にしたり光ファイバーの変換器を使ったりしてます。 簡易法は片方の電源を切ったとき、回り込みでLEDが薄く灯くのが気になる。
もひとつ横やり >889さんのはHC540なので反転するよ。 バッファはHC541だけど秋にはフラットのLV541かVHC244しかない。 74HCは出力が弱いのでマルの74AC541、千の74AC245かAC244が良いと思います。
900 :
774ワット発電中さん :2009/12/12(土) 08:03:08 ID:jUu87ygM
>>899 >889さんは 「HC540とTD62083を使ったら」と言っているようですけど
901 :
890 :2009/12/12(土) 08:17:36 ID:8tBQ/hER
レスありがとうございます やはり反転させるような設定はないんですね MAX232は持ってないので、トランジスタで反転させることにしました
>>885 ポート電流を気にするくらいならちゃんとパスコンを入れろ、
通常ポートがショートしてもマイコンが不安定になることなんかないぞ。
>>901 トランジスタ2本かますくらいなら74HC04のが楽ではないかと
まぁできれば何でもいんだけどね
>>904 送信と受信で2個って意味です
誤解されるような文章でスマソ
>>895 え・・・そうなの?
普通にコンデンサ4つ使ってやってたけど。
今だと何が使われるんだ
>>907 10uFも要らないって事?
いつもチップコンだから10でも気になったことはないけどなぁ
909 :
899 :2009/12/12(土) 23:02:07 ID:1nMk3RPQ
>889さんは 「HC540とTD62083を使ったら」と言っているようですけど その通りですね、読み間違えていました。 ソフトで反転させてもいいように思いますが >マイコン側をプルアップして使いたいので、 の意味がLED基板とマイコン基板を分けたいということか不明です。
910 :
774ワット発電中さん :2009/12/12(土) 23:49:38 ID:8tBQ/hER
質問があります CTCモードでタイマー1捕獲一致をトリガーとしてADCを起動しているのですが、 ADC完了割り込みが、最初に1回だけ発生するのですが、2回目以降割り込みが発生しません。 何かクリアしなければいけないフラグがあるのでしょうか? AVRは、ATmega88Pを使っています。
>>910 タイマーの割り込みもADCの割り込みもクリアするフラグがある
ってか割り込みは基本的に発生するとフラグが立つのでどこかでクリアしないと再発生は無い
名前は忘れたからデータシート見て
あと、とりあえずタイマーで連続割り込みを掛けられることを確認して(ダイオードピコピコとかprintfとか)
その後ADCの割り込み
で組み合わせってやり方で作りこむことを薦める
タイマー割り込みとかは、割り込み成立してヴェクタにジャンプしたら、 自動的にフラグがクリアされる ADC割り込みが成立して、ちゃんと割り込みルーチンへジャンプしてるなら、 フラグは関係ない
913 :
774ワット発電中さん :2009/12/13(日) 01:59:21 ID:aOp99U02
一週間前からマイコンいじりだして シリアル、ロータリーエンコーダ、LCDとこなしたが、 ソースはほとんどコピペなのにすんゲー疲れた ATtiny2313だと、複数の事こなそうとするとすぐにメモリが足りなくなるのな mega系買ってくるかな
最初に買ったのは共立のmega88評価基板でした(ledとかボタンがたくさんついてるやつ) 2年ほど前に、たまたま酔っ払ってデジットに行って買ったのだけど、mega88はcでもそこそこ 書けるので良い買い物でした。今でもmega168にのせかえてつかってます。
>>914 私も、同じ。
あの評価基板、もっと評価されていい気がします。
>>910 最初のADC完了時に次回のADC起動要因をセットしてないんじゃないかな。
それと、もしも重要度が低かったり、逆に高分解能が欲しかったら、
割り込み許可はせずに、ポーリングで各割り込み要求を待って
処理する方が良い。複数あるならどれか1つにするとか。
タイマーやADCの各設定によっては、割り込みハンドラの
呼び出し準備や脱出期間が動作に影響してくる。
Cで適当に割り込みハンドラを書いてしまうと、
100クロックサイクル以上の無反応時間(=無駄)が発生して
他の割り込み要求に対しての処理がそれだけ遅延することになる。
ADC完了なんかはメインループで待った方が良い。
>>908 製品ならともかく、趣味のやつでチップコンデンサは使いたくないなぁ。
うっかり机の上で混ぜると、何uFなのかさっぱりわからんw
高周波特性はチップコンの方がいいんだけどね。
やっぱりDIPのICにディスクリート部品が好き。
なんといっても、あの積層セラミックの水色が、もう。ハァハァ
コンデンサフェチか
Auto Voltage Regulator
>>918 そりゃ、あんたはチップコンデサを床にばら撒いて、その上に裸で仰向けになって
「うぅ背中がのチクチクがぁ」というのが趣味なんだろうけど、それは認めよう。
趣味の電子工作はDIPICとディスクリを万能基板にさして、セラコンの切った足をリードにして配線。
これが定説。
小型にするときには表面実装にするけどね。 基板起こすときも楽だしw
テスターみたいなLC計買った。 チップコン、もうこわくない。
ディスクリートって「バラ」という意味で、ICじゃなければディスクリートなんだけど、 なんか表面実装はディスクリートと呼ばないっていうか、 表面実装じゃないことを強調する為の用語になってるのが違和感ある 英語のdiscreteでもそうなんだろうか
>>922 おぉ、言われて見ればそのとおりだ。
実際、カタログとかみると、ディスクリート部品の中に表面実装部品とかあるからな。
リード部品と呼ぶべきだったな。
セラコンって見た目がディスク…いや、何でもないです
正直自分で基板作ってるとリード部品以前に、 1608ですらでかく感じるようになってきているから困る。 部品面積というより、ランドの大きさで貴重な面積が消費されすぎている・・・
>>925 内蔵できるもんは全部内蔵したワンチップICを自分で設計して
試作品メーカーに作ってもらえw
AVR+PSoC+電源IC+内蔵できないコンデンサやコイル類 これで日曜大工的なことはたいてい出来る これ以上を作ろうと思ったらCPLDやFPGAに手を出さないと
>>916 > Cで適当に割り込みハンドラを書いてしまうと、
> 100クロックサイクル以上の無反応時間(=無駄)が発生して
どのコンパイラでそうなるか具体的に明示してないけど、普通に考えて
んなこたぁない。 ぜひ、再現コードを提示してもらいたい。
普通、A/D使う際に、メインルーチン側で割込許可と最初の起動を行い、
読み取りと2回目以降の再起動は割込で処理する。
割込ルーチン内では、A/Dレジスタ値を読み取って、バッファに格納した後、
必要ならチャンネルの選択を変更した後、次のA/D起動を行う。 完了フラグ
を用意して、メインルーチン側では、割込ルーチン内でフラグがセットされる
のを待って、割込ルーチン内で更新されたバッファの値を参照する。
>>928 PSoC 使うなら、AVR いらなくね?
PICグラム PICグラマ PICグラマラス
>>930 シーケンス組んだりIOポートいじるのめんどいからPSoCは決め打ちのブラックボックスにして、AVRでしこしこするのが楽なんよ。
>>933 PSoCはポートがちょいと使いにくいしなぁ
>>929 適当に書くって前提があるなら、全レジスタのpush popで64回、
クロックサイクルでは128サイクルだからあながちウソでもない。
ただ、タイトに割り込みを詰め込まないと、それが問題になることもそんなに無い。
ウエイト関数とかを使って順序処理してたりすると、 割り込みハンドラを使わずに待のは難しいから良し悪しだけど、 一例としてPWMのタイマ割り込みをポーリングで要因を待つのと、 割り込みハンドラを使うのとで、CPU使用率を比較してみた。 アイドル時 0% 割り込み要因をポーリングで処理 約50% 割り込み要因を割り込みハンドラで処理 約80% となった。CPU使用率はアイドル時間のカウントで計算した値。 ハンドラとポーリングの30%の差は、ほとんどが 割り込みハンドラのレジスタpush/popによるもの。 この時ハンドラが退避したレジスタは r0 r1 r18 r19 r20 r21 r22 r23 r24 r25 r26 r30 r31で、 ポーリングで呼び出す関数はpush/popなし。 割り込み要因は256サイクルに1回で、条件により取りこぼしあり。
しょーもない質問なんですけど、秋月のモジュールとかでピンヘッダとソケットが付いてるヤツ あれってピンヘッダが裏(部品が載ってない側)に来るのがお作法的には標準なのけ? ソケットとかついてるし悩む 個人的にはLCDは裏面にピンヘッダの長いのがくるようにして、 それ以外は表に長いのがくるようにしてるんだけど。。。世間を知りたい
>>937 メイン基板(マザーボード)になる側が大抵ソケット(メス)だよ。
より一般的なPCのマザーボードに置き換えると判りやすいと思う。
USBやPS/2などいわゆる一般的な(?)接続端子は供給側・ホスト側がメスだね。
電源供給があるときにオスの場合、何か金属製のものが触れると電源ショートするから
なるべく防げるためって聞いたことがあった気がする。
でもJSTのXHやVHを基板電源端子に使うよなぁ…とか思ったりもするw
>>937 LCDの場合はパネル取り付けの性質上そうなるんじゃないかな。
俺もそうしてる、でも接続はケーブルでマイコン基板側もオスだな。
ん、なんか俺の言ってることごちゃごちゃだな・・・。
ついでに、
>>936 をソフトウェアで分周した時のCPU使用率
2分周 (256*2 512サイクル毎に処理)
割り込み要因をポーリングで処理 35%
割り込み要因を割り込みハンドラで処理 57%
4分周 (256*4 1024サイクル毎に処理)
割り込み要因をポーリングで処理 24%
割り込み要因を割り込みハンドラで処理 43%
分周処理は関数の頭でカウントしてスキップするだけなので、
呼び出し回数は
>>936 と同じ。
ハンドラのレジスタ退避の影響がより顕著になる。
できれば割り込みハンドラはアセンブラでチューニングしたい。
そんなわけで,PSoC3/5みたいなDMAのありがたみがわかってくる
>>936 > この時ハンドラが退避したレジスタは
> r0 r1 r18 r19 r20 r21 r22 r23 r24 r25 r26 r30 r31で、
> ポーリングで呼び出す関数はpush/popなし。
AVR-GCCだとr27もpush/popしているようだが、それを勘定に入れても計14
レジスタ、push/popに要する時間は28クロック。
256サイクルに1回の割り込みって20MHzなら12.8μs毎、8MHzでも32μs毎なん
だが、そんな短いサイクルで割り込み処理する要求って現実にある?
というか、設計バランス上問題ありと思うけど?
素人が読むと、いかにもポーリングの方が優れている風に誘導されている
けど、ポーリングの合間に、30クロックほど掛かる他の処理を呼ぶコード
を書いたら、同様の処理落ちする点は変わらない。
割込で処理する場合、どのコード部分を走っていても、CPUが割込許可状態に
ある限り、レジスタの退避/復旧を含めても最短で応答できる優位性がある
ことに変わりはない。
>>939 機器内の接続に使う基板対ワイヤコネクタの場合、本来の使用状態では解放
になることがないから、ええんでない? それにメス側のコンタクトの方が
抜差回数の耐性が低いから、基板側がメスだと交換が面倒。
外部コネクタでも、AT互換機やVT-100等の25Pシリアルは機器側がオス
(しかも一部の機器では空きピンに±12V出てる)だし、LANのモジュラー
(RJ-45)も、一応メスだと思うけど、突っ込み所満載だし、電話(RJ-11)
に至っては48V掛かってるし、RING時は75Vpkだし...。
320x200、モノクロ、4bitインターフェイスの液晶パネルをコントローラ抜きで繋げよう…として
8MHz品、それもC言語で割り込みハンドラごと書くのは無理があり過ぎる事に気づく今日この頃…
>>937 >>942 も書いてるけど、ソケット側の方が駄目になりやすいので
使いまわししたい方をピンヘッダにすれば良いかと。
>>943 そもそもC言語だけじゃ細かいタイミング取りにくいでそ…
>>942 push popは2クロック。
インストラクション一覧を見てみるといい。
>>943 > 320x200、モノクロ、4bitインターフェイスの液晶パネルをコントローラ抜きで繋げよう…として
モノクロって階調なしのSTN液晶? 直接ポート出力で液晶素子をドライブしようとするなら、直流を印加すると
液晶が壊れると思うんだけど? この手合いだと、液晶側に1ライン分の
シフトレジスタとラインドライバが付いているやつ?
60Hz(16.7ms)で画面リフレッシュするとして、ライン当たり8MHz動作で
666クロック、20MHz動作でも1666クロックしかない。
これで320画素データ転送するなら、4bit幅だと、80回ループ廻す必要が
あるので1転送あたり約8クロック@8MHz、アセンブラでもムリなんでわ?
第一QVGA解像度の表示データ格納しとくのに、8KBのRAMエリアがいるぞ。
8MHzのAVRでそんなRAM容量ある品種ってあったっけ? それとも、動的
に表示データ作成するつもりだった?
っていうか、重箱の隅突付くみたいなウンチクより、設計前にこれくらいの
計算もやらへんの?
>>945 14×2x2しても100クロックの半分強にしかならないわけだが?
>>935 どこのC言語が全レジ退避なんてアフォなことするこかkwsk
948 :
943 :2009/12/15(火) 12:42:56 ID:nAmp4WpC
>>944 タイミングで厳しいのは1個所だけなので…
>>946 RAM外付け。
液晶はシフトレジスタとラインドライバが付いてる
FRM/LOAD/CPで送る奴。
chan氏のAVRでの擬似DMAと同じ方法で
4bit幅がうまく良くか試している…。
もっと速いマイコン使えばいい
Google日本語入力使ってAVR Studio内で日本語を入力しても 入力途中の文字が表示されないんだけど、これは俺だけなのかな。 入力した後Enterを押して確定すれば字は出てくる。 AVR Studioのバージョンは4.16.638、windows標準のIMEなら何の問題も無い。 致命的じゃないんだけど地味に困った。
951 :
944 :2009/12/15(火) 14:58:06 ID:HXLB3YLo
>>948 4bit幅で8bitバス幅のメモリを有効利用しようとすると、上位/下位の
ニブルを切り替える必要があるよね。まぁ、擬似DMAのソフト処理で
やってもいいけど。
確かエプソンにSRAM内蔵のLCDコントローラあったはずだし、画素数が
多くて今回は使えないかもしれんけど、mega169みたいにLCDコントローラ
内蔵のAVRだってある。
画面更新ができても、通信とかそれ以外の処理は取りこぼしたり、遅く
なったりして本末転倒な気がするナァ。 売れるであろう台数から考え
たら、コスト削減したつもりが、余計な開発工数で削減分以上の人件費が
かかってそう。
というか、たまごっちみたいなゲーム機向けに採用されている中華製の
マイナーなマイコンだと、ワンチップでしかもずっと安く実装できそうな
気がする。
usb162で遊んでるけど、serise2のソース見るのに疲れる、、、 まぁ楽しいんだけどね
>950 ATOKでもそうなる。 海外製アプリだから日本語入力不完全でも仕方ない。
>日本語入力不完全 ニュアンス違うな。ちょっと訂正。 WindowsのIME以外のIMEに対応できなくても かな。まぁ早い話があきらめってこった。 行番号表示の機能がないってレスもあったけど、それも地味に不便だよな。
>>953-954 なるほど。
AVR Studio使うときは素直にIME切り替えて使うのが良さそうね。
eclipse使ってみれば? 行番号もGoogleIMEも使えるよ
個人的にgVIMをお勧めする。
PIC16F876とPIC16F877の在庫をようやくほぼ使い切ったんで ここ二週間AVRについて色々調べatmega328pのデータシートを壁紙代わりに 眺めてきてなんとなくいけそうな気がしたので今日328pを10個644Pを6個 あとattiny2313も面白そうということなので10個買ってきた。 でも2313は10MHzまでの低電圧品のほう買ってきちゃった そこまでは知らなかったよ損したようなかえって得したような とにかくおまいら今日から俺をよろしくな
>>958 >あとattiny2313も面白そうということなので10個買ってきた。
100個じゃないのかよ
2313は百個単位で買う物とじっちゃが言ってたぞ
960 :
774ワット発電中さん :2009/12/15(火) 21:58:09 ID:hTfCSfyW
2313Vを100かっても使い道ないだろwwww
>>946 >14×2x2しても100クロックの半分強にしかならないわけだが?
いや、知らないのかなと思って。
まあいいんだけど。
hidaspxをブレッドボード上に組んだのですが、不具合だらけで困ってます。 hidaspxのファームはmain-12.hex、ISPターゲットは同じattiny2313、 hidspxコマンドを1度実行する度に以下のようなエラーが出て、 busyランプが点きっぱなしになって無反応になります。 原因は何でしょうか。 USB-IOモードではhidmon.exeは実行できて、コマンドも受け付けます。 (ただし実行後は無反応になる) >hidspx.exe -pr Locked device or Synchronization failed. >hidspx.exe -pr HIDaspx(0000) not found. たまにシグネチャを認識して動いたりしますが、 書き込みがほとんどまともにできてないようで、 ベリファイエラーだらけです。 Failed at 03FB:FF->00 Failed at 03FC:FF->00 Failed at 03FD:FF->00 Failed at 03FE:FF->00 Failed at 03FF:FF->00 ####################################] 938, 0.10s Verify 976 errors. Total read/write size = 1876 B / 0.48 s (3.81 kB/s) hidaspxのファームはAE-UM232Rからavrdude(serjtagパッチ)で焼きました。 こっちは何も問題なし。
>>958 俺もPICからこっちにきたんだ。
日本語データシートは印刷しないでリンクをクリックして使うものだから印刷不要っていうか印刷したら使いにくいです。
mega328でUSBでも浮動小数点でも好きなことやってね!
USB-HUB経由も変化なし。 明日ツェナー3.6Vをやめて3.3Vレギュレータで試してみます。 wiki見ると、どうも環境を選ぶ様で、 USBライタとしては敷居が高い気がする。
どうにも気になったので3.3V試したら全て解消しました。 USB-HUBなしでも正常に書き込めました。 うちの環境ではUSBの5Vのままだとまずいっぽい。
ブレッドボードだとクリスタルが安定しないのでは?
ブレッドボードは内部のコンタクトが長く、余計なスタブ配線ができて しまっている分、動作が不安定になっているのでは? クリスタル周辺と USBの信号ラインあたりは影響が大きい。 GNDラインも長く(弱く)なりがち だし。 これまで、幾つかユニバーサル基板でVUSBデバイスを作ったけど、1.5kΩ経由 で3.3Vレギュレータに繋ぐだけで、ツェナーは使っていないけど問題が起き たことはない。USBの27〜33Ωを入れるのも、なくても動く。
ツェナーダイオードをよく見たら3.6Vではなく3.3Vでした。 血統書付きの3.6Vに変えたら5Vで正常動作しました。 ダイオード刻印 3.3B(恐らくNEC RD3.3E B) → 3.6B2(NEC RD3.6E B2) お騒がせしました。
AVRが使えると、就職できますか?
971 :
939 :2009/12/16(水) 20:36:12 ID:IwZgjTe+
>>942 ,943
突っ込みありがとう。俺も勉強になりました。
メス側がすぐにガバガバになってダメになるので適度に交換ですねw
ピンヘッダの基盤同士をつなぐのにケーブルじゃなくてメスメスのソケットがあればいいのに ついでに合体状態で適当なスペーサの高さに合わせてくれよ
基板側をメスにして、オス−オスピンで基板を重箱みたいに積むのはあったギガス
オレの年収…
今の時代マイコン使えるだけじゃ……
977 :
774ワット発電中さん :2009/12/17(木) 05:08:20 ID:rnfZkCXe
attiny2313のシステムクロックをCTC動作で2分周して、 他のAVRへの発振器として使いたいのですが、 出力ピンとAVRクロック入力の間には何か挟んだ方が良いでしょうか?
>>977 各ICの電圧が同一ならストレートでいいんじゃないか。
>977 まっとうな設計ならダンピング抵抗をいれる。 しかし、オシロスコープ等がないならどうせ定数検討出来ないし微妙かも。
多数ぶら下げるなら、合計負荷容量をドライブできるか考えてバッファを 入れたり、スタブを極力短くして、一筆書き配線できるかどうかの方が 重要だろ。 ダンピング抵抗よりも、反射を考えたら、抵抗で終端するとか、EMI対策 ならビーズ入れるとか。 まぁ、繋いで動けば良しのブレッドボード房だったらこんな対策なんて 関係ないけど。(w
とりあえず一対一では何もなしでうまくいきました。 余ってる24MHz水晶を処分して12MHzを出したかったので、 目的の方は達成しました。 何か入れるにしても、特性インピーダンスを理解しないとだめみたいですね。 問題が出たときにまた考えます。 ありがとうございました。
インテリジェントオシレータw
>>980 んな1cmくらいの配線で考える必要なかろー
GHz帯でもあるまいし。
このスレの議論は厳密だよね 中の人のレベルが高いのかな 俺を筆頭に
厳密ってか難しいね、
厳密ってか難しいね、 趣味の工作レベルなのか、量産設計なのか回答に困ることはある。 俺は基本的に趣味レベルと思って回答してるけどさ。
皆さん親切ですね。
PICからAVRに転進しようとネット検索してみると AVRな人は学研肌で真面目な人が多いと思った
12MHzの波長ってどんなもんだか計算するのメンドイがそこまでなのかな
2009年末の開業って書いてあるけど もう開業してるのか?
つかマジで転職したい 冬のボーナスまさか1ヶ月切るとは予想してなかった
ID:rnfZkCXe が24MHzのクロックを一個目の2313に入れていることは 誰も突っ込まないのな・・・
クーラーつけてオーバークロック
やだな、オーバークロックは男の甲斐性さ
クリスタルが24MHzでも、分周ヒューズ設定して自身は12MHzで動いてればオーバクロックではない。 この状態でも12MHzクロックを外に出せたはず。
えー?
Oscillator Frequencyがmax 20MHzだと思いましたよ。
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。