_____
/ /|
/ ( ゚∀゚) /.∠フ 個人でも手軽に使える
/ /.∠フ || . Atmelの8-bit RISCマイクロプロセッサを
/ __ o/.∠フ || 中心に語るスレッドです。
∠| ̄ ̄凵 ̄ ̄|∠フ || *AAは「AVR H8 etc. マイコン総合スレ Part3」からいただきました。
.|| |_____|/||
Atmel AVR 8-Bit RISC
http://www.atmel.com/products/avr/
2 :
774ワット発電中さん :2009/07/11(土) 00:02:57 ID:B/Kurr0L
_,.-‐'''''''''―----、,,,__ r‐'´::::::::::L,,.......-―--、__`ヽ、 _,,.===-、 /::::::::::::::::/ `‐、:< `ヽ /:::/|::::::/-‐''''~ ̄ ̄ ̄`―-、_ i:::ヽ /::::| _,i::::::i:::/:::::|::::::::::/|::|,:i:::::::i::i:i`':::ハ i:::::::'´|:::::://:::::::i|::::::::イ |:| ||::::::::|:|:ヽ:ヽ:|, |::::::::::|::::::|_.....ハ....../' リ ヽi,__:::||::::|::::|:| |::::::::::::|::::::|ァ'⌒`' ,,,_ `''ァ‐、/::| |:::::::::::::|:::::| '⌒ヽ /::::::::::::| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |_:::::::::::|:::::| _ '' /:::::::::::::::i.<で、PWMはデジタル?アナログ? r'''‐、‐=‐、__|:::::|-、  ̄ ノ:::::::/|:::::::| \________ | \`‐-、‐、|r<ニ-、.,,_,,...-‐''´::::::::i-|/|::::| i < `‐L  ̄`ー''''|::::::/`''''' r/::::リ _/ /:: ::`-、_ ヘー-,...........|ニ<_ ~VN、_ \ /:: :: :: ::::| i ヽi__/‐、 /i、_\ ,..._ / \ |:: :: :: :: ::`-、_`‐| `''''( i i / / |:: :: :: :: :: :: :: :\|、 `-、 ヽ`.ノ 〉 L,_|:: :: :: :: :: :: :: ::::〉ヽ============''、 ィ ヽ:: :: :: :: :: :::>:: :: :: :: :: ::: ::::ヽ:: ::: :::Y:::|
誤爆・・・失礼
前スレ1000を応援します
どっちでもいい つーか、たった2通りなんだから試せばいいだろうに
>>8 決まっていない。
規格を記した数字が見やすいように取り付ければいいと思うよ。
前スレ998の >あ。hexファイルのサイズで見てたけど >実質は7kbだった。mega168でも入る。やったー。 相当阿呆だ。これだから調べもせずに質問してくる厨房は困る
前スレ998は、
>>11 のID:2eQXRlyTな。
やべ、俺もhexファイルのサイズが違うこと知らなかった
こらこら、調べないようにw
サイズってのがavr-sizeかもしれんぞ
ってのはないか。
というわけで、
>>15 hexファイルのサイズは2倍以上だから。
メモ帳でhexファイル開けばその理由がわかるよ。
>>16 うん。インテルhexフォーマットについて勉強してマスターしたぜ。
しかしWinAvrとかむずいからやめた。Arduino IDEでコンパイルしたら
7kbって出た。このhexファイルを使うことにするよ。
どうして即値ではなく、 DDRD = (1<<4) | (1<<5); // LEDポートのみ出力ポートに設定 PORTD = (1<<2) | (1<<3); // SWポートのプルアップ のような回りくどい書き方をするのでしょうか。
>>18 bit4とbit5を立てるというのをわかりやすく表せるから。
PORTとかではありがたみが薄いけど、たいていのC言語では
bit名のマクロが定義されているから、さらに楽ができる。
たとえば、TIMSKのOCIE1Aを有効にする場合、以下のどちらがわかりやすい?
TIMSK = 64;
TIMSK = (1<<6); /*TIMSKのbit6はOCIE1A*/
TIMSK = (1<<OCIE1A); /*OCIE1Aというマクロが定義されており、値は6*/
_BV()っていうマクロ(BitValueの略らしい)も用意されているけど、自分は余り好きじゃない
TIMSK = _BV(OCIE1A); /* (1<<OCIE1A) と同じ */
みなさん回答ありがとうございます。 すごいですね、簡単なプログラム書いてHEXファイル比較してみたら、 DDRB = 64; DDRB = (1<<6); どちらも同じ内容でした。 結局コンパイラが即値に置き換えてるのですね・・・勉強になりました。
Hexファイルの話、2スレ前でも出てたなー _BV()の話も良く出てくるし、FAQがあるといい気がする
どの表記が分かりやすいかは人によるね。 さすがに10進数で書くよりは、2進数で書く方がありがちな気がする。 TIMSK = 0b01000000; 8bit中どのbitが立ってるかパッと見で把握できるということで。 「0b」はWinAVR固有の表記だから抵抗がある、16bitは勘弁、という人もいるが。 「定数名を覚えなくていいじゃん」 「でもそのビットが何を意味するかデータシートと首っ引きじゃん」 「定数名の意味を知るためにデータシート見るなら同じじゃん」 「定数名は見れば想像がつくし、意味を合わせて覚えるだろう」 「なんで英単語暗記みたいな勉強せにゃならんの」 と自分の背後で議論が始まったことはある。
男なら0x
>>24 ふむ、そうだねえ。特にポートとかだと二進数の方がいいねえ。
しかし、定数名覚えるよりビット位置を覚える方が楽ってのは
ほんまかいな?と思う。慣れていればそうかもしれないけど、
他人が見てわかりやすいソースとか、異デバイス移植の容易さと
いう意味ではやっぱりシンボル使いたい。
>27 それで話は決着してた。 その人はプログラム書くときにデータシート開くのがクセのようで。 「定数名を覚えなくていいじゃん」の根拠はそこだったらしく。 他人にソースを見せるなら定数名の方が理解してもらいやすいよ、 と言われて納得してたと思う。
tiny2313で153.6khzを発振しようと思うんですが そうるすと 8000000/(153600*2)=26.0416666..... となって割り切れません。 26クロックごとにON/OFFすればいいと思ったのですが 割り切れないので困りました。 こういう場合どうすればいいですか?
ポート指定するときは、Define使って定義して_BV(LED0)とかにするのが普通だと思ってたけど そうしないと、配線の都合とかLEDひとつ増やしたい時とかで、ポート移動する時に困る
>>29 誤差を許容するか、クロックを外部にするかしかないね。
153.6kが153.8kじゃ問題なわけ?
0.2%も誤差なさそうだけど、どうせ内蔵RC発振でそんな精度は出ないよ。
既出かもしれないけど VDD-VSS間のパスコンは何故最初からICに組み込まれていないのでしょう?
>>32 やっぱりあきらめます。tiny2313の使い道が無いなぁ。
まあそのうち使い道もあるかな。
ID:2eQXRlyT が何を作ろうとしているか、激しく興味有り・・・
153.6kHzはググってみるとその周波数の発振子があるようだから
それで発振させたほうがよさげですね・・・
>>33 かさばるから&必要量が周辺回路次第で違うから じゃない?
>>33 値段が高くなるから。
半導体チップ上にコンデンサ作るなら、シリコンの誘電率は決まってる
から大きな面積を用意するしかないが、そうすると価格に響く。10pFで
すら安易に作れない世界で、0.1μFとか非現実的もいいところ。
パッケージ内にコンデンサを内蔵するとしたら、ハイブリッドICに
近い構造になるので、やはり製造コストに響くっつーかコスト的にやはり
非現実的。
外付けなら実装コスト考えても10円かからない0.1μFを内蔵したことで
コストが大幅上昇したら、汎用マイコンの世界では買ってもらえない。
>>33 PCのCPUにコンデンサーが載っているのを見て思ったのでしょうか?
PCは周波数(GHz)の都合チップの傍らにコンデンサが無いと意味をなさないからだね。
その他はやっぱコストの問題ですね。
>>35 153.6khzはシリアル通信の9600bpsのサンプリング周波数なんですけどね。
今は専用発振器を使ってるんですけどね。
マイコンでできたらかっこいいかなと。
雑誌のマイコン基板を使ってAVRISP互換のプログラマユニットを作りたいんだけど、 AVRStudioとAVRISPの間でどんなやりとりをしてるか詳細って知っている方居ますか。 実際の通信ログを取ろうと思ってWindows側にRSモニター(フリーソフト)を 仕込んではみたものの、バイナリでのやりとりには向かなかったもので。
>>36 >>37 ありがと
自分でブレッドボードに組んでいて毎回つけなきゃならないなら最初から付いていりゃ楽だと思った。
AVRに限らず他のICでもほとんど付けるでしょ。
どれくらいのコストアップになるんだろうね。
>>40 脚に半田で直付けしとけばいいんじゃね?チップに被せるように。
いや、なんでもない
>40 MAX232(コンデンサ外付)とMAX233(コンデンサ内蔵)の価格差を調べてみるといい。 MAXIMのDIPがdigikey調べで 300円 vs 800円くらいだ。 俺もこれを知ってからはパスコン内蔵してほしいなぁとダダこねることはなくなった。
ATMEGA168のパスコンは0.1μFでいいですか?
>>43 お前わざと言ってる? おちょくるのもいい加減にしろよ?
>>38 用途がそれなら余裕で許容範囲内だと思うんだけど。
>>43 多少は自分で考えるとか、調べるとかしてみたら?
厳密に言えばそのコンデンサのESLとか、
電源ラインのインピーダンスとか考えないといけないから、どうともいえない。
輻射ノイズ対策でデバイスにパスコンを実装することを提案した伊藤健一氏の立場w
>>46 君って不登校の小学生〜中学生?
Google等で調べることから始めたほうがいいですよ。
それが嫌ならドラクエでもしてなさい。
C = Icc × 2τ ÷ VD
許容される電圧降下(VD)
ラインによる遅延(τ)
・距離が命
・8
途中まで書いてあほらしくなった。 ID:2eQXRlyTはあぼーんにしとくわ
>>42 MAX232のコンデンサは5つだっけ。
ということは、1個100円か・・・そりゃあ嫌だな。
>>38 内蔵RC発振でやるつもりなら、どうせ温度安定性が悲惨なんだから、0.2%くらいいいんじゃないか?
それがいやなら水晶発振子。要らないと思うけど。
同じ単純すぎる動作を繰り返すものにマイコンを使うのはあまりかっこよくないと思うよ。
つまり製造プロセス上コンデンサを実装するのが難しいということでいいですか?
パスコンの半田はVccとGNDの位置関係からいってそんなに苦にはならないけどな。 他のデバイスはレイアウトに四苦八苦してますが。
>>53 ウェーハー上でサイズがでかいと言うことでしょう。
集積度を上げられない=コスト高
シリコンウェハ上で0.1uFって大変なことになるなwどっちが本体か分かんないw
AVRSPって、USB-シリアル変換使うと書き込みが100倍遅くなるのか そろそろUSBのライタに乗り換えるか
>>59 書き込み速度が速くなることより、最近のPCにUSBポートしかなかったりする事の方が
乗り換えの理由じゃ・・・
>>58 パスコンを内蔵するにしても、さすがにオンダイで乗せないでしょw
無理やりならモールド内に積層セラミックを抱き込ませる形かなぁ・・・
コストの割りに、ご利益がなさそうだけど。
いや、俺の新しいPCにRS-232Cがついてなかったから、 USBの変換ケーブル買ったんだけど、そういう理由で使い物にならなかったんだよ USBのAVRライタ作るにも、まずAVRのライタ必要だし
W5100のデータシート読んでたらTCPとUDPは同時に使えないらしいことが判った。 なんかモード切り替えさせるらしい。 同時に使うには多分IPRAWモードで自分で処理するしかない。 TCPしか使わない人なら関係ないし、DHCP対応も切り替えれば恐らく問題ない。 ここで話すようなことじゃないけど、ちょっとこれにはがっかり。 atmega128内蔵の方のWIZ200WebのW5300はまた仕様が違うから、 苺で5100の単体モジュールの方を買うつもりの人がいたら要注意。
>>63 同一ソケットではTCPとUDPを切り替えての利用だけど、
4つのソケットでそれぞれ独立してTCPかUDPを設定出来る
それじゃダメなのか?
>>52 キャパシタ内蔵型ICソケットは80年代から90年代に掛けて
産業用基板で一部使用されていた。M菱系の仕事。
たしかオムロンが出していたはず。
当時俺は小学生だったのではっきりとは覚えていないが。
いずれにせよ、コンデンサ壊れたらどうにもならんわ、
ICソケットの横からコンデンサのリードっぽいのがピロッて出て気持ち悪いわw
コストが尋常じゃなく跳ね上がるわ、実装時の考慮(心配する以外ないが)
しないといけないわ、うざいことだらけで消滅していった。
>>64 4ソケット独立にモードがあるってことでしたか。
なら問題ないです。
ありがとうございました。
>>64 の言うとおりだと思う。
トラ偽でもソケット0でUDP、ソケット1でTCPで動かす例が出てたけど。
3.1 common registers の所を飛ばし読みしてました。すいません。
ありゃ余計なお世話だった。 UDPとIPを同時に使うアプリってなんだろ? IP電話ぐらいしか思いつかないな。
>>69 いちいちTCP切断して切り替えないとだめなのかなーと思ったわけです。
同時ってDNSだってUDPだし、そういう事です。
トランス技術
>>72 ノイズ強化マイコンか〜。高そう・・・。
技術書に外にも一応パスコン付けてねとか書いてそうな気が・・・
AVRも良いけど、よりお手軽多機能なマイコンってどんな感じなんだろうねぇ。 色々取り寄せて実験してみるかな。どなたか触ったかたいらっしゃいますか? PSoC (Cypress) 14BitADC 9BitDAC / AMP / 8-32bit PWM - Timer - Counter / SPI / I2C / USART / IrDA R8C/2B (RENESAS) 16-bit 10BitADC 9BitDAC / 8bit Timer / I2C / UART H8 (RENESAS) - 16/32-bit 10Bit ADC / 8-16Bit Timer / 14Bit PWM / SCI3 / I2C SH2 (RENESAS) - 32bitRISC(65 MIPS 50 MHz) 16Bit ADC / 16Bit Timer / SCI
>>74 この中ではH8は遊んだこと有るけど、お手軽とは言いづらいかなあ。
16bitマイコンと比べるべきじゃないが、AVRは適度にシンプルでいい。
まあ、用途次第ですね。
なんでAVRよりPICのが人気あるんだろう
>>47 どんな提案をしたのかね、
低コストでの実装技術と一緒なら納得するけど、
理屈のみなら無視されると思われ。
>>76 収穫逓増じゃね?
と覚えたての言葉を言ってみる
が、なんか違う気がする
>>77 理屈じゃなくてですね、持ってるのがAVR以外のマイコンが無いので
他のマイコンはどうなのかな〜と。単純に思ってみてただけです。
通販で各2〜3個ずつでも注文してみて実際どうなのか調べてみようと思っています。
他のを見るとADC/DACが充実してるな〜と
>>76 PIC のが古いから、情報が非常に多い
情報が多い分、始めやすい
>79 レス番よく見てー
>>81 うわぁぅ!!レス番間違ってますな。申し訳ない。
>>82-83 うはは。すまそ。通販で簡単に入手できるものを選んだからねー。
手軽に始められるのはやっぱAVRかな、俺も昔はPIC使ってLCD表示やいろいろやってたが構造が変態でorz (dsPICなどは除く) リセットのヒューズの設定ミスったら5Vでの書き換えできなくなるのはなんとかしてほしい。
RESETに12Vかけて、他のピンをLoにしてXTAL1に数十パルスくらい送ってやれば ヒューズビットが初期状態に戻る、とかあればいいのになあ。 ディップスイッチでパラレルプログラミングでもできんことはなさそうだけど、面倒だし
>>86 だと思う。最低だとパスコン一個だけでも動作するし。
>>87 あまり簡単にファームをクリアできると、それはそれで問題だと思う。事故で消えちゃったとか
言われても困るし。
そうだ、オンチップでパスコンをつけるぐらいならオンチップでディップスイッチをつければ・・・
>>88 いや、ヒューズビットだけってことで。
FLASH/EEPROMのクリアやロックビットは対象外
>オンチップでディップスイッチ
どんだけ小さいディップスイッチなんだよw
AMDのAthlonでなんかやったのを思い出すw
>>89 > いや、ヒューズビットだけってことで。
書込み禁止を簡単にクリアできちゃったら問題だけど、
それ以外ならいいかも
> >オンチップでディップスイッチ
> どんだけ小さいディップスイッチなんだよw
いやいや、見かけは普通の8連のディップスイッチしかして実態は・・・
なんちゃってw
>91 はしがきの文章、めちゃくちゃなんだが大丈夫な人なのか?
>>92 全編、あんな感じの文章なのだが・・・w
今は無き雑誌「電子技術」(日刊工業新聞)に連載記事がメイン
× 今は無き雑誌「電子技術」(日刊工業新聞)に連載記事がメイン ○ 今は無き雑誌「電子技術」(日刊工業新聞)の連載記事がメイン
× 今は無き ○ 今は亡き 日本語でおk
97 :
77 :2009/07/14(火) 20:35:01 ID:eoRFsL9g
>>91 おー、すまん・・・ え、ええぇっ!?
うっぷんをぶちまけて業界を変えようとしてるのかwww
この文章で本に出来る日本の出版業界って…
そんなに変かなぁ、オイラは結構好きだぞwww
>>74 ARM7-TDMI(LPC2xxxとか)はJTAGなくてもシリアルで書き込めるから
適当なボードを買ってくれば難易度はAVRとそれ程変わらないよ。
AVRの速度や容量に不満を持ったらこれ。
日本語資料はあんまりないけど世界的に使われてるからサンプルは膨大。
tiny45じゃ無圧縮WAVが限界か 音質悪くてもAVRでMP3のデコード挑戦した人いないんだろうか
103 :
774ワット発電中さん :2009/07/14(火) 23:25:31 ID:hWRNWXFR
104 :
774ワット発電中さん :2009/07/14(火) 23:43:26 ID:Fv16LOID
ちょっと困っています。 ATmega8用のソースをATmega168用に修正してATmega168で使っていたのですが、 88Pを安く手に入れたのでそっちに移したいと思ったのですが、なぜかうまく動きません。 感触的にはクリスタルじゃなくて内部RCで動いているような気がします。 現在88Pのfuseの値は168で使用していた際と全く同じにしています。 avrsp.exeが出力するfuseの値の説明が全く同じなのでそれでいいかと思ったのですが... 48,88,168あたりからから88Pに移行するにあたって、何か思わぬ注意点とかあるんでしょうか?
>>103 リアルタイムじゃなけりゃ…とか言っちゃだめだよね?w
>>104 既出かも。WINAVRのバージョンによるかもしれないけど、
タイマー0のコンペアA一致割り込みが88Pでは割り込みベクター番号が
変わってるみたいで割り込みがこない。
AVR LIBCのサイトにも載ってなくて困った。
>>90 ディップスイッチじゃでかすぎるから、小さくチップ上に載せようぜ
小さすぎて操作できないから、FLASHテクノロジでスイッチの代用にしようぜ
これなら適当なインタフェースがあれば外から操作できるぜ
あ、ISP機構を拡張すればこのスイッチ操作できるじゃん。これでライタあればOKだ!
・・・・・あれ?
>>106 C言語で書くならベクタ番号直接書かないから関係なくない?
割り込みベクタテーブルや16kになった関係からコール周りが違うから 元が168なら88P用にリビルドしないと無理です
ちなみにデータシートに48/88/168の違いは書いてありますよ
114 :
104 :2009/07/15(水) 00:09:52 ID:N7OQemU8
>>106 ,109
WinAVR-20090313を使っています。
オールC言語だし、仕様変更があればコンパイル時にエラーが出るような
書き方をしてるんですが、何なんでしょうか?
>>74 AVRスレなんだから、AVR32も入れとこうぜ。
ついでにATMEL製ARMのSAM7系も忘れずに。
>>103 それ書いたの俺なんだが、その50MHz前後ってのは、
フリーの整数演算ノミのmp3デコーダ(Helix mp3 Decoder)を使って
128kbps/44.1kHz/16bitをデコードするって条件なのさ。
だけど、32kbpsとかの8bitモノラルとかまで落とせばAVRでも逝けるんじゃないか?という話があって…
ってか、書いてるって人が過去スレに居たような???
116 :
104 :2009/07/15(水) 00:23:38 ID:N7OQemU8
>>113 元々8用のソースを168用の少し修正して使用していたものです。
88P移行に際してソースの修正はない筈だと思っていました。今でもそう思います。
>>110 Makefile書き換えて、make clean;make allはしてます。
>>114 本当にMakeFileはきちんと修正したのか?
mega168のままなら88に存在しない命令セットを
コンパイラが生成してる可能性が高い(rcallやrjmpではなくcallやjmpとか)
生成されたlssファイルを確認してみろ
118 :
104 :2009/07/15(水) 00:45:50 ID:N7OQemU8
88P用じゃなくて88用にコンパイルしたファイルを書き込むと正しく動きました。 念のため書きますが、確かに88Pと刻印がありますし、avrspの認識も88Pです。
119 :
104 :2009/07/15(水) 01:20:04 ID:N7OQemU8
レスがないってことは既出なんでしょうか?
>>118 フューズの設定も88P用じゃなくて88用でうまく動いたの?
>>114 make cleanしてからチャレンジしてみた?
Makefile(CPUタイプ)の改変だけでは、再コンパイルしないことがあるよ。
>>120 思ってもそんなレスしてやるなや、かわいそうだ。
>>121 ’P’ってなんか差異があるのか、知らんけどさ。
単に省電力のチップ設計だと思ってた。
プラスティックモールド品。高温での使用は出来ません。
126 :
774ワット発電中さん :2009/07/15(水) 21:19:22 ID:mmX5p+5d
ぼくはAVRのPWMでスイッチング電源を作ります
100Vこわいお でもがんばるお
データシート(日本語)見てみた。 あ、あれ? 'P'ってスタンバイ以外は消費電力増えとるのかwww I/Oのドライブ能力は下がってそれかい。 ポンコツの'P'ですな。
>>126 そのスイッチング電源でAVRを動かすわけですね・・・わかります。
PICにゃー
131 :
104 :2009/07/15(水) 22:51:27 ID:N7OQemU8
>>121 fuseは168で使用していた際と全く同じ値です。
使用用途に合った値は88,88P,168のどれでも同じです。
デフォルト値はそれぞれ違うのかもしれませんけど。
それから当該の88P(偽?)は秋月のものです。
>>131 レジスタマップ見る限りPの有無にあまり差異はないですね、
シグネチャが違うのとSPMCSRとMCUCRにちょっと機能が追加された程度。
スリープを用いない限り88用でコパイルしても動作に影響はなさそうですね。
133 :
104 :2009/07/16(木) 00:46:45 ID:Axxxk0Ka
確かにスリープ使ってないです。
134 :
121 :2009/07/16(木) 06:13:12 ID:5/kqI8uh
>>131 そうですか。
自分も秋月の88Pを使っていて問題なく動いているので不思議です。
AVCCピンには電源を供給したほうがいいのでしょうか?
>>135 データシートには
It should be externally connected to VCC, even if the ADC is not used.
と書いてあります。後はご自分の判断で・・・
>>137 ですよねー
やっぱり供給しておこうかな
一応動いてるんですけどねー
AVRでスイッチング電源を作ろうと思うんですが、再帰的問題に陥っています 最初にAVRに供給する電源はどうやって作ればいいんでしょうか?
外付けで20MHzセラロックをつけたいんですが、AVRStudioでのヒューズビットの設定がわかりません。 ext.Full-swing Crystalを選ぶとISPErrorが出てしまいそれ以降そのチップは読み書き不可になってしまいます。 既にごみとなったチップが10個ほど・・・。どうすればいいのでしょうか。よろしくお願いします。
多分書き込み機かあなたのパソコンが故障してます
>>140 まさか、クリスタルつながない状態でそれやってるとか?
もしそうなら、当然発信源をクリスタルにすれば、クリスタルつながなきゃ以後ISPも含め動かなくなりますよ。
RESETと同じでこのあたりも罠だよね、自動で内蔵クロック使ってくれればいいのに。
>>144 確かに。ISP最中だけ内蔵クロック動作って可能だと思うけどなあ。
クリスタル用のコンデンサってどこで買えるの? 秋月には無いみたい
マジで言ってるのか・・? 鈴商で買えるんじゃね?
>>139 AC100V整流したDC130Vくらいから5Vくらい作れればいいんでしょ?
高抵抗+ツェナー(+高耐圧トランジスタ)てのが定番。
>>146 クリスタル用のコンデンサって何かわかんないけど,10pFや15pFとか
そのあたりの小容量コンデンサってこと?
昔はカウンターの一番奥より少し手前にあったけど場所変わったかな
WinAVRで作ってるのですが、 割り込みハンドラ分も含むとして、プログラムがスタックを実際どれぐらい 消費するのかを見積もるにはどうしたらいいでしょうか? スタティックにどれぐらい取っていいのか知りたいので。
俺も知りたい 今のところスタックを徐々に減らしていって、実行できなくなったところを使用量としている
nmとか、objdumpでセクションのサイズだの番地だのが見れるよ。
最近ググれば普通にわかりそうな事の教えて房が多くね?
>>146 あのコンデンサ、自分で基板起こすにせよ、万能基板でヤルにせよ
2012辺りのチップコンデンサの方が便利じゃね?
質問です。もう5年以上前に購入した秋月のAVRライターキット付属のアセンブラなんですが 名称:wavrasm (ver1.21) Win98seにインスコし、実行するとエラーが出て、不正処理云々と表示され 正常実行できないのですが、エラーを回避する手立てはあるのでしょうか。それとも、指示とおり Win95で使用するしかないのでしょうか。どなたかおわかりになる方がいらしたら 回答よろしくお願いします。
俺win98なんてとっくに捨てちまったからわかんね
>>158 こうなんというかピタッと収まる感じするよね。
ただしチップコンだと発振しない罠がたまにあったりする。
>143 いやクリスタルにはつないでます・・。
ベクタースキャンのゲームが作りたいけどオシロが無いからなぁ、 簡単にXYを表示するデバイスは無いものかな。
そもそも、セラロックを使う場合とクリスタルを使う場合でfuse-bitが違うって指摘が無いのは何故なんだぜ・・・ やっぱり、チップ名も出さない教えて厨だからか?
全振幅なら起動までのウェイト時間が違うだけで、セラロックならどれでも起動するんじゃないの まあ、石が分からないから推測に過ぎないが。ヒューズビットより回路の方が気になるけどな
>>140 AVR-ISP(mk2)はチップ自動選択ではないので
MainタブでAVRの型式を選んでますか。実物と違うFuseを書いちゃうよ。
クリスタルにはつないでます・・って20MHzセラロックじゃなかったのか。
(間違っているのは >143だが)
具体的に正確に書かないと原因なんて解らないよ。
配線もあやしそうだけど
>>155 秋月のアセンブラは持ってないけどディレクトリやファイル名が
漢字やロングファイルに対応してないとか
FT2232もそのまま使えるっぽい これからライター買うならこれかな
>>167 前スレで2232の話してたものですが、人柱見つかりました?
これで普及してMPSSE対応されればさらに書き込み速くなるかな。
MPSSEで使ってるけど。 でもAVRのシリアルプログラミングはクロック上限が5MHzと低いので 2232H使ったとしてもそんなに速くはならないよ。
>170 avrdude+パッチ。 2232パッチは適当にググれば出てくる。
>>168 いや、単にAE-UM232Rの代替として使える事だけ確認しました。
既にAE-UM232Rをライタとして使ってる人ならば、ドライバ追加等は必要なく、
USBに差すだけでチャンネルA、Bという感じで自動認識されます。
あとはそのチャンネルどちらかに対して同じように結線すれば使えます。
2232はARM-JTAGにもなるという話なのでそっちの興味で購入。
AVR freaks で、FT2232を、OCD経由でAVR用JTAGデバッガにしてるプロジェクトを見たけど、 あれ使えるのかな。 たしかMega8とかMega168あたりには対応してたように思う。 2232で検索すると出るはず。
>>172 VID/PIDをJTAGkeyに合わせとくとなにかと便利っす。
>>174 HappyJTAGとかいうのがありましたが対応してるMCUがごく限られてましたね
LCD表示が思い通りに行かないので、誰かお知恵を貸してください。 ATtiny2313 + LCD + BASCOMで1秒毎に数字をカウントする プログラムを組んでみました。 LCDは16 x 2のキャラクター液晶のSC1602BSLBを使用。 ATtiny2313は内部クロックの1MHz。 勉強のため精度は必要ないので、Timer1で1秒毎に 割り込みをかけて、カウントの変数を加算。 メインでは単純にカウントの数字をLCDに表示させて いるつもりです。 実行すると1文字目に数字が、9文字目の ところには半角のカタカナが表示されます。 動作としては数字が2カウントずつ変化し、 カウントが8を表す時は0を表示します。 (カウントの数字が0の時も表示は0が) 半角カタカナはケ→サ→ス→ソと変化していきます。 単純なループでWaitを使ってカウントを表示させる時は 正常に表示されます。 文字化けの原因って何でしょうか? 期待通りの動作をさせるにはどうしたら良いでしょうか? ======================================== $regfile = "attiny2313.dat" $crystal = 1000000 Config Lcdmode = Port Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 Config Lcdpin = Pin , Db6 = Portb.2 , Db7 = Portb.3 Config Lcdpin = Pin , E = Portd.3 , Rs = Portd.2 Config Lcd = 16 * 2 Cls Cursor Off Config Timer1 = Timer , Prescale = 64 , Clear Timer = 1 , Compare A = Toggle Compare1a = 15625 On Compare1a Tint0 Enable Compare1a Enable Interrupts Dim Time_n As Word Time_n = 0 Do Home Lcd Time_n Waitms 500 Loop End Tint0: Time_n = Time_n + 1 Return ========================================
>>177 自己解決しました。
Config Timer1の最後の「Compare A = Toggle」を削除すると
正常に表示されるようになりました。
お騒がせしました。
新たに回路組んでRS232通信させてみたら上手くいかなくて、回路のチェック、 それでも上手くいかないで何時間も詰まって泣きそうになってたら8分周外すの忘れてた ものすごい時間の無駄をしてしまった
180 :
774ワット発電中さん :2009/07/19(日) 02:55:34 ID:GTOEBCs6
WinAVRでTCNT0とかのレジスタのアドレス(実体へのポインタではなく) の値を得るにはどうしたらいいでしょうか? 例えばTCNT0なら、io*.hで定義されている、 #define TCNT0 _SFR_IO8(0x26) の0x26という値そのものが欲しいのです。 インラインアセンブラへの定数引数に使いたいので _SFR_IO8で出てくるポインタではまずいのです。 今は #define TCNT0_ADDR 0x26 みたいに定義して使ってますが、面倒で。
すいませんsft_defs.hに書いてありました なんてこった・・
ぐあ・・・しかも上げてた
作りたいものがないから勉強できない。 何か作りたいけど何を作ればいいかな
AVR工作はライタに始まりライタに終わる。 最低3種類作ってから出直してこい。 なんつって。 シンセ、リモコン、目覚まし時計、ロボット、センサー、あたりはどうかね?ちょっとだけひねった自分だけのオリジナル。 なにか決めたら目標と進捗をブログに書くのおすすめ。ここにも書く。誠実真面目ならアドバイスもらえる。
AVRライタをAVRで作るんですか? それは楽しそうだ。
>ここにも書く。 迷惑だからやめろ 日記はブログに書け スレが停滞気味の時にネタ振りのつもりならいいかもしれんがな 質問なら遠慮すんな あまりにも教えて君なのは問題だが
WinAVRでbuf[idx]のような間接参照を書くと、 コンパイラはよく以下のようなコードを吐くのですが、 lds r30, idx ldi r31, 0 subi r30 -(bufのloアドレス即値) subc r31 -(bufのhiアドレス即値) st Z, r25 これをそのままgasアセンブラやインラインアセンブラで 記述しようとしても、 subi r30 -lo8(buf) sbci r31 -hi8(buf) と書くとエラーになってしまい、下みたいにしか書けません。 lds r24, idx ldi r30, lo8(buf) ldi r31, hi8(buf) add r30, r24 adc r31, r1 st Z, r25 これだと1クロック余分に掛かるのと、 加算で即値が使えないのでr1みたいなレジスタが 必要になってしまいます。 コンパイラの出力のようにアセンブラでバッファの アドレスを負数として書くことはできるでしょうか?
上のsubc はsbciの間違いです
subi r30 lo8(-buf) suci r31 hi8(-buf) でいけない? ldi r30 lo8(buf+3) ldi r31 hi8(buf+3) とかができるから大丈夫と思うんだけど。
>>190 subi r30, lo8(-buf)
sbci r31, hi8(-buf)
だと、
C:\Temp/cc1fnzsZ.s:484: Error: can't resolve `0' {*COM* section} - `buf' {*COM* section}
C:\Temp/cc1fnzsZ.s:484: Error: expression too complex
C:\Temp/cc1fnzsZ.s:485: Error: can't resolve `0' {*COM* section} - `buf' {*COM* section}
C:\Temp/cc1fnzsZ.s:485: Error: expression too complex
のようなエラーになります。
subi r30, lo8(0-buf)
sbci r31, hi8(0-buf)
でもだめでした。
C:\Temp/ccOiQ2AA.s:484: Error: can't resolve `L0' {*ABS* section} - `rxport_buf' {*COM* section}
C:\Temp/ccOiQ2AA.s:484: Error: expression too complex
C:\Temp/ccOiQ2AA.s:485: Error: can't resolve `L0' {*ABS* section} - `rxport_buf' {*COM* section}
C:\Temp/ccOiQ2AA.s:485: Error: expression too complex
ちなみにidxやbufは以下のように定義しています。
uint8_t idx;
uint8_t buf[BUFSIZE];
>191 マイナスのうしろに括弧が必要。 "-buf" でなく "-(buf)" とすればおけ。
>>192 できました!
長い間疑問でした。
ありがとうございます。
なんだかんだで、avrspに戻ってきてしまった やはりハイパーターミナルでON/OFFできて、デバッグ表示もできる便利さは 他のライタじゃだめだ
AE-略でもできるお BitBang解除にリセットボタン付けないとだけど
for(;;) { ↑ なんか悲しげ
>>195 avrdude内でBitBangを有効にしっぱなしで終わってるから、
FT_SetBitMode(handle, 0, 0)を最後らへんで呼び出して無効にすれば
リセットはいらなくなるんじゃないかと思う。
MINGWとMSYS入れて、パッチ当てて修正してmakeでいいかな。
誰かやらないか?
AVR Studio+WinAVRでコンパイルしてるんですけど 下記のようなエラーが出てしまいます。 ucharってどこで定義されているんでしょうか? /vusb-20090415/libs-device/osccal.c:23: error: 'uchar' undeclared (first use in this function)
ヒント : #include
W5100動かない_| ̄|○
とりあえずarduino+etherの猿真似しとけば動くよ
203 :
774ワット発電中さん :2009/07/23(木) 20:49:40 ID:ZqR4ORCO
簡単に作れておもしろい作品を紹介してくれ
>>203 圧電ブザーで作る電子オルゴールとか。
後々キーボードやMIDIとかを付ける布告になるし和音にしたりとか幅広い。
少なくともタイマ割り込みとPWMの勉強にはなる。
音が出ればそれがインジケーター代わりにもなる。 LEDチカチカが済んだら次は音を出すのが良い。
LCDを使えるようになると、いろいろ出来るよ
>>206 俺まさに今その段階。
出力の手段ができると、途中途中でいろいろ確認できて幅が広がった
昔はLCDのお世話になっていたけど、シリアル+自作GUIの味をしめてからは さっぱり使わなくなったなあ
PCにつないじゃうってこと?
だってライタがPCに接続されてるんだから PCをデバッグに使わない手はない
夏休みになったから香ばしい奴らが多いなww
212 :
774ワット発電中さん :2009/07/24(金) 09:10:18 ID:GP09TR25
ならもう全部PCでやれよ
断る
LCDをデバッグ用と思っている虫が居るのか。
>>214 デバッグ用というより、ADCなんかの動作確認用として使ったかな。
みんなあんたらみたいなプロフェッショナルの人ばかりじゃないと思うよ。
俺なんか夏休みの工作レベルだし・・・
まるでプロとシロウトじゃLCDの使い道が違うみたいな物言いだな
LCDの使い道はそうなんですか。 もっぱらvusbでUSB接続してコマンドラインでデバックだなー。 そかtiny45ぢゃピンが勿体ないのかな
vusbの使い方俺にも教えて!
少ピンでも2線でやりとりすればなんとか 苺でI2CのLCD売ってるし、秋月のLCDと2313辺りで自作してもいい
>>218 はいはい。小学生の工作じゃないんだから。
もしくは日本語で書いてある本とか無い? 小学生でもわかるやつ。
>221 AVRにこだわりなければUSB付きのPICが秋月で200円で売ってるから、 USBメインならそっちのがいいと思う。PIC18F14K50 AVRのソフトでやるとLowSpeed(1.2Mbps)が限界なんで。
2313レベルの石で、USB転送を全力で動かした場合、Lowspeedで、どれくらい速度出るの? たとえば、特定ポートの変化状況をリアルタイムに転送するなどの単純用途で
上は1.5Mbpsの間違い。 速度はその上限からUSB側の転送モードで送れる単位に制限される。 これは2313でもmegaでも同じ。
>>223 ほほー
価格もおっけーですね
最近マイコンをいじりだしたのでPICをスルーしてAVRにしたんだけど、PICもいじってみるかなぁ
>>222 プロトコール本だね
「プロトコル」は「プロトコール」なのかなぁ
夏休みだから229みたいなのが沸いてんだな・・・しばらく平和だったのに。
>>223 AT90USBシリーズにDIPパッケージがあればもうちょっとお手軽だよね。
自分は変換基板で工作したけどやっぱりちょっとメンドかった。
>>228 英語の発音に近い表現なんじゃない?
まあ自分も違和感を感じましたけどねw
いじわるしないで知ってるなら教えてあげればいいのに 教える気が無いなら書き込まなきゃいいだろうに 最初はみな素人だったのにね オレは苦労したからお前も同じように苦労して勉強しろって言う考え? 分かった人間が分かりやすく教えるからどんどん進歩してくんだぜ 教えるのやなやつは人からも教わるな
232がどれにレスしてるのか分からないが、 愚痴るだけならあなたも似たようなもんだよ。 こういうときってスルーしてる人が多いんじゃないかね。
233に同じくどれにレスしているか不明だけど、218になら222で十分教えている気がしますが。 如何でしょうか
>>232 でもマジな話、簡単に人から聞いたり、解説サイトで楽に得た情報って、
すぐ頭から消えちゃうんだよね
いじわるして楽しんでるつもりはないが、自分で考えないと結局、後々損をする。
俺の場合、実機で苦労しながら憶えたAVRのasmは今でも全部把握してるが、
解説本を見ながら適当に憶えたperlは、当時はほぼ完璧だったが今はほとんど忘れた。
今日もAVRスレは香ばしいな
>>232 は説明書読まないで人に聞いてくるヤツと同じ香りがする。
以前に操作手順など全部マニュアル化して渡したのに読めと言っても読まないで何度も何度も聞いてくるアホがいて(ry
じがよめないのでしょうがない
小中学生のしょんべん臭いにおいがぷんぷんするな・・・
早く夏休み終わってしまえば良いのに。うっとおしい どこいってもクソガキだらけ
#define ever (;;) for ever { }
for (i = 12; 19 > i; i++) 夏休みの予定;
break;
return(0);
char* p = NULL; int i = *p; えるむさん所にアクセスできないからなにかとおもったら うちがアクセス規制くらってた・・・
AVR-gccのライブラリの中のルーチンって、割り込み入ったらちゃんとと分かな? カウンターを割り込みでキャプチャしていたら、時々こぼしやがる。 せっかくmain()の中身の永久ループ以外、イベントトリブンにしてるのにこれじゃ困る(´・ω・`)
日本語がヘン。スマソ ×AVR-gccのライブラリの中のルーチンって、割り込み入ったらちゃんとと分かな? ○AVR-gccのライブラリの中のルーチンって、割り込み入ったらちゃんとベクタアドレスへ飛ぶわな?
>>252 ほとんどのは(cli()とか以外は全部かな)ちゃんと飛ぶようにできているよ。
割込ルーチンの方に問題ないか?割り込み処理が長すぎて取りこぼすとか。
1つの割り込み処理中には別の割込はかからない(終了後にかかる)ことは知っているよね?
割り込みルーチンで多重割り込みを許可する時、 自分以外の割り込みを許可する方法があったら教えてください。 フラグを用意して判断することを考えましたが、 割り込み自体は掛かってしまうので、フラグを見て戻るまでが 無駄になってしまいます。 (タイマなら割り込みフラグをOFFにすればいいと思いますが、 タイミングずれないかな?)
255 :
774ワット発電中さん :2009/07/26(日) 03:39:53 ID:5q+Nilce
16KBタイプで5KB未満の書き換えを何回か行っているのですが。これは何回くらい書き換え可能なんでしょうか? 容量が少なければ回数は増えますか?それともフラッシュみたいな領域管理はされてないのでしょうか?
無線で通信したいのです。FMでもAMでもPMでもかまいません。 安く入手できる製品教えてください。
>254 割り込みハンドラ内で 自分自身の割り込みマスクレジスタの、割り込み許可ビットをクリアする。 ↓ seiで割り込み許可 ↓ 処理を行う(この期間自分外の割り込み可) ↓ cliで割り込み禁止 ↓ 自分自身の割り込みマスクレジスタ復帰 ↓ retiでハンドラ終了 でよくね?
>>255 同じところの書き換えだとしても人間の手で書き換えをやってる限りは無制限と考えてよい。
オンチップデバッガでブレークポイントを100万回くらい通るようなデバッグを
やるのならもうそのチップの書き換え寿命は終わりと思ってよい。
>>260 間違ってはないぞ?FMでもAMも送信できる。
RTTYやPSK31を使えば楽に海外と通信もできる。
「安く入手できる製品」なのか?
>>259 ありがとうございます。
うまくいきそうです。
SREGはハンドラ内に入ったら退避復帰するので、
cliはいらないですよね?
それと以前、複数のUARTを受信したいと書いた者ですが、 タイマ割り込みによる3点サンプリングの方法で100%文字化け無しで うまくいきました。(ポーリングはばらつきが激しいので諦めました) 当然ながらchを増やすごとにbpsを落とす必要があります。 現状はアセンブラで1chの1bitの各点のサンプリングで最悪ケースで 42+16クロック掛かる部分があるので、4ch処理する場合は (42*4+16)*3 = 552クロック、これと同等か下回るbpsが通信条件になります。 (この場合は28800bps=694クロックが間に合うbpsになります。 最悪ケースを除けば4chで100クロック未満なので、合間に他の処理も可能です) CPUが20MHzの場合、1chで〜115200bps、2chで〜57600bps、 4chで〜28800bps、8chでは9600bps、という具合になります。 逆に9600bpsなら16chぐらい受ける余裕があると思います。
>>269 同じことをやろうとして挫折した。よければソース晒してくれませんか?
>>270 オレも希望
汚いソースでも笑わんよ
オレのが汚い自信あるからw
ひとが苦労したのにタダでもらおうとすんなw
>>272 技術は一部の頑張り屋さんが進歩させて庶民に普及させることで
庶民のレベルがあがってるんだぜぃ
全部自分だと0の発見から始めないとw
まぁ、自分が答えられる時は当然答える
ギブ&ギブ
方式的には特別なことはしていません。 1chの場合、20MHz(20000000)/115200/3で57(正確には57.8704)クロックですが、 これを1/clkでコンペアマッチで割り込みを掛け、 ポートのスタートビットでタイミングを掴んだら、後は真ん中の ビットを読んでいくだけです。複数chの場合は同じ事をch分繰り返します。 受信バッファに格納する時だけZレジスタを使い、他は全て1レジスタのみで 処理して最小限のpush/popでクロックを稼いでいますので、 さらに状態変数等をレジスタ割り当てにすればもっと短くなると思います。 今は2点サンプリングでもっと軽くできないか考えてます。 ~~~~~~~~~~~_______X_______X_______X_______X_______X_______X_______X_______X_______X~~~~~~~~~~~~ stopbit startb d0 d1 d2 d3 d4 d5 d6 d7 stopbit pos 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 startbit(=0)を2回検出したら以後2番目(1)の地点を読む。 割り込み間隔は9ビットの間ずれない程度の精度があればいい。
276 :
774ワット発電中さん :2009/07/27(月) 00:49:48 ID:bZdAnBl5
>>268 >>SREGはハンドラ内に入ったら退避復帰するので、
>>cliはいらないですよね?
ハンドラ処理内で、自分自身の割り込みが入って要因フラグが立っていた場合、
割り込みマスクレジスタの復帰で、ハンドラ内で再度割り込みがかかる可能性がある。
>>276 ありがとうございます。
納得しました。ややこしいですね。
>>278 それではクレクレ君は到底納得しない。
なんてな。クレクレ君と言われるのが心外なら自力で仕上げようぜw
>>279 >
>>278 > クレクレ君と言われるのが心外なら自力で仕上げようぜw
それは誰に言っているの?
複数uartなんてavrlibでできないの?しらないけど。
メインで動いてるプログラムとは関係なく、5分経ったらパワーダウンするような動作にしたいんだけど、どうすればいいのか分からない
ソースを公開したくても出来ない事情がある場合もあると思う。
ブルドッグか、イカリか、オタフクか。それが問題だ
>>281 2ch程度ならavrlibとかで問題ないです。
多チャンネル受信の意義を考えてみました。
受け側をマスタとしてI2Cと比較すると、
メリット
・配線が単純(1線直結、同期信号不要)
・スレーブ側の送信は普通のハードウェアUARTに任せられる。
(つまりスレーブの個別デバッグはそのままシリアルで行える)
・全スレーブ信号を同時に受け取れる(I2Cだとマスタ側が読みに行く必要がある)
・スレーブがポート独立なのでID等を振る必要がない。(マスタのポートから判別)
デメリット
・各スレーブへの送信手段がない。
・通信速度はスレーブ数に依存。
・受信にほとんどクロックを割かれ、他のリアルタイム処理はやり辛い。
よって、複数デバイスをまとめる中継サーバの役割になると思います。
代わりに中継先との間はより高速なハードウェアに任せられるので、
取りこぼしの問題はまず起きないと考えています。
例えばtiny2313で作成するなら、VCC,GND,RESET,TX,RX,XTAL1,XTAL2
を除く13chが使えると思います。
接続するスレーブにリアルタイム性がないなら、I2Cでマスタから
各スレーブを順繰りに読みに行ったほうが楽、ということになります。
>>285 内部クロック使えば XTAL1, XTAL2 も使えるね
>286 >269読もうよ
内蔵OSCは過去に少しだけ試しましたが、個々のばらつきに加えて、 クロック自体の揺らぎや温度による変動があり、ハードウェアのUART で一見問題が出なくても、ソフトウェアで非同期通信すると厳しいものがあります。 セラロックでいいので外部クロックは付けた方が良いです。 それでもやる場合は、サンプル数を増やしても0や1が連続すると 正しいか判別できないので、スレーブ側で毎回データの前に0x55や 0xaaを送るようにして、マスタ側で補正しながら受けるような仕組みを 作ることになります。これでもクロックが揺らぐ以上は化ける可能性が 残りますので、さらにチェックサムを付けたりデータを大雑把に符号化 したり・・・内蔵OSCなら同期転送した方が確実です。
内蔵RCに20MHzモードがあれば・・・と、時々思う(難しいだろうなぁ)
ふと思いつき・・ チップの温度管理すればいいんとちゃうんかな? I/O電流で自己発熱させて・・・ごめn
291 :
774ワット発電中さん :2009/07/27(月) 17:34:06 ID:LksIS4hK
内蔵クロックって、8MHzのほかにもう1個なかったっけ?
>>291 tiny13が4.8MHz/9.6MHz
めが128k
同期転送といえば、マスターからクロックを垂れ流して、スレーブからの 入力をパラで受ければ、同じ事をMCUクロックをあまり気にせず 多チャンネル受信できますね。無駄なサンプリングも必要ないので 3倍は確実に速くなるし、スレーブ側はピン変化割り込みのタイミングで データを流すだけになる。ピン変化の代わりに内蔵のシフトレジスタを 使えればスレーブ側負荷をさらに下げられる。
>>295 ソフトウェア的にでも、外部クロックで外部割り込みかけて割込でin/out命令すれば8線送受信できちゃうもんなあ。
>>296 ポートが余ってれば送信も同時にできるし、同期式のが楽ですね。
識別子を頭に載せればマスタ側は1ポートで済むし。
(そうするとスレーブも受信のために割り込みは切れないですが)
クロック同期で良いんならSPIでも…
PWMをクロックに接続して、セルフクロック供給 ただしPWM起動までは外部からクロックを供給する必要がある エンジンで言えばセルモーターみたいなものか
300 :
774ワット発電中さん :2009/07/27(月) 23:15:04 ID:pBm1L/wA
多チャンネルUARTの方法提案した者だけど、同期通信なら、ソフトウェアI2Cの8パラを400kHzで作ったよ。 てか、それ作ってたから思い付いた。 ちなみに受信はビット辺り3サンプルで多数決で01判定してる。 ABCの多数決 =(A&B)|(B&C)|(C&A) て感じで。 inするレジスタを上手く使えば結構いけた。 あとは通信の合間に、受信データをビット行列として転置をしてるんだけど、これが結構重い。
>>300 この間は提案ありがとうございました。
>通信の合間に、受信データをビット行列として転置
自分はこれが難しく感じたので、chごとに状態とビット格納に数バイト
使って、割り込み内でバッファに格納するまでをやる事にしました。
割り込み時間がch数ぶん掛かる代わりに、メモリはそれほど使わなく
なったので、これはこれでいいかなと。
しかし400kHzと聞くと、やっぱり作り直してみたくもありますね。
サンプルの多数決については、真ん中ビットを読ませたらとりあえず
文字化けは起きていないので、そのままという感じです。
最初のタイミングさえ合ってれば0.5ビットずらす方法でもいける感じ
なので修正中です。
302 :
774ワット発電中さん :2009/07/28(火) 06:40:36 ID:hAeYaOZu
調歩同期だと各チャンネルのデータも同期しないから行列としては扱えないんじゃない? 後、同期通信の場合は通信自体には割り込み使わないで出来る。 スレーブが許すならMHzオーダーもいけると思う。 コアクロック:20MHz 通信クロック: 1MHz ビット辺り20CLK CLKラインのH,Lに2CLK その他の処理に18CLK て感じで。 まあ、その間CPU使えないのが難点。
>技術は一部の頑張り屋さんが進歩させて庶民に普及させることで >庶民のレベルがあがってるんだぜぃ あがらない,あがらない
庶民の利用できるものが増えたって話ではないかな。
305 :
774ワット発電中さん :2009/07/28(火) 10:55:49 ID:hAeYaOZu
オームの法則なんかも発見・証明には莫大な労力かかってるけど、今は中学生でも使える訳で。 そういう面では庶民のレベルはあがるんじゃない?
306 :
774ワット発電中さん :2009/07/28(火) 11:17:54 ID:6NmOPk+7
オームの法則って、どうやって証明するの? いや、証明できるの? 単に電気抵抗の定義に過ぎないと思うけど。
>今は中学生でも使える訳で。 と思ってると全然使えなかったりするわけでな 自分で考えようとしないクレクレ君にいくらくれてやっても ザルで水を汲むが如し
>>306 比例式で示すことができるという発見がオームの法則。
オームの法則を証明するには、V=IR の関係があることを測定で確かめられればよい そのためには、抵抗値が分かっている抵抗器と、電圧計と、電流計が必要だが、 19世紀初頭の技術でこれ作るのはすごく大変なことだよ
>>309 なんか勘違いしてないか?
オームが論文にまとめたのは、電圧と電流が比例関係にあるということだけだぞ。
だいたい、法則って、演繹的に導かれ、これに反する事実が見つからないから
法則(=証明できない)って言うんだと思うんだが。
一般に、法則に反する事象が発見されると、これを包含する、上位の法則が
発見され、下位の法則は、上位の法則において、ある条件化で成立する定
理(上位の法則が成り立つ場合に、当然の帰結として下位の法則が成立す
る)となるわけで・・・
もちろん、歴史的な背景から、わざわざオームの定理なんて言い直さないけどな。
で、なんで、これがAVRスレの話題なんだっけ?
A=アンペア、V=ボルト、R=レジスタンス がマイコンできとるだけじゃろ。
そろそろAVRな内容に戻さないか?
PCやWebやオープンソースの世界に比べて 組み込み系の人達はなんでケチな人が多いと思うのですが なぜでしょうか。(ソースコードを見せてくれない人のこと。) あっちの世界は下手な人から上手い人までたくさんのソースコードが Webに流通していて、悪いところもあるとは思いますが、 全体としては、なかなかうまくいっているように見えます。 ソースコードをWebにあげておくと、 勝手に誰かがバグ見つけてくれたり、改良してくれたり、いいことばかり だと思うのですが。その秘密のソースコードでお金を取るのでないなら。 特に技術的にチャレンジングなネタであれば興味を持ってくれるひとは レベルの高い人も多いだろうし、きっと自分のレベルアップになります。 組み込みの人たちには、 - 「オープン」という考え方が理解できない古い人が多い。 - あるいは、古い人コミュニティの考え方を吸収した若い人が多い。 - 恥ずかしがり屋さんが多い。 という具合でしょうか。 でも、TADさんとかchanさんのページにはお世話になっております。 長文失礼いたしました。 自分の単なる思いこみな様な気がしてきたのでこれでおしまい。
仕事じゃなく趣味でシコシコ作ってる[人・作品]があっちの世界に比べて 圧倒的に少ないという事情もあるのでわ。
たぶん、AVRfreaksに入り浸ると考えが変わるだろう。 日本語だけでググる人とみた。
ソースコードを公開しない=ケチな人 と言うのが個人的に不思議な感じがします。
で、そろそろAVRな内容に戻さないか?
>>314 ソースコードなんかどうでもいいことも多い、と言うこともあるかも。
プログラムとかアルゴリズムとかに興味がある人は、最初から組み込み
じゃなくてPCやWebやオープンソースをやるでしょ。
自分の自慢したいメインの部分がソースコードじゃなければわざわざ
労力をかけて公開する必要もない。
プログラムなんて、回路図見れば大体想像つくだろ?と。
320 :
774ワット発電中さん :2009/07/28(火) 14:20:03 ID:m2rXCTVS
典型的なクレクレ厨
AVRってむしろソース公開率は異常に高い気がする。 今までソース見れなくて困るって事態になったことがない。 探し方が悪いんじゃないのかと。
「オープンソースの世界」と比べたらソース公開率低いだろうな。 あっちはほぼ100%公開だからな。 WEB系もperlやPHPならソース公開が普通だし。 PCのフリーウエアなんか、ソース公開されてない率高いぞ。 組み込み系は似たようなもの(同じ物ではなく)を作ろうとすると、 ソースが欲しくなる場合が多いから気になるんだろう。
「オープンソースの世界」なのに100%じゃないのか。 意味わかんねw
必要なソースがすべて公開されているとは限らないからね。
そのオープンソース界ですら必要なソースが手に入らないとか、 一体どんなソースが欲しいんだよ。 さっきからただの愚痴にしか聞こえないんだが。
はぁ? 誰かと一緒にしてる? 俺は丸一日ID変わらないぞ。
一緒にしてる。 オープンソースのスレでやってくんないかな。 どこか知らないけど。
特許の出願前に公開したら、特許は認定されなくなる
だって、組み込みCPUの場合、自分で書かなきゃいけない部分は一般にプロジェクト依存だから、 アルゴリズムぐらいは他人の参考になるかもしれないけれど、ソースそのものは実装に依存するから 公開しても、あまり意味ないし、皆が共通で欲しいようなソースは、本家(atmel)のapplication noteが、 かなりの部分を網羅していているから、ここを読めば、たいていのことは不自由しないもん。 っていうか、本家の公開資料(application note, release note, datasheetなど)すら、 まともに読まないで、○○したいのでソースくれ、みたいなのはちょっとね・・・
多分英語が読めないんじゃないの?
>>330 アプリケーションノートもデータシートを日本語訳してくれてる人たちが大半は翻訳してくれてる。
>>311 オームの法則は、実際の電源の内部抵抗や非線形性だったり、
抵抗の温度特性だったりで比例関係を実験的に証明するのは物凄い大変だったのに。
関係ない話すいません。
>>331 英語だろうと日本語だろうとドキュメントなんて読まないんでしょ?
で,そのままパクれるソースクレクレしてろくに理解もしないで
手を入れて動かないと調べようともしないですぐ掲示板行き
ここはどうやらAVRスレではないようだな
>>326 なら最初から食いつくなよ。
レス乞食が。
W5100まだ動かない。 やっぱ自作プリント基板で0.4mmピッチはむりですか モジュール買います_| ̄|○
なあ、ところで >2のAVR Wikiはどうなったんだ? ずっとつながらないんだが。
夏休みは小学生〜高校生が多くてウザイ
Wikiはたまに落ちてるけど待ってれば復旧するよ
確かにロクに調べもせずにクレクレ言うのはどうかと思うが AVR触ろうって人間で、そんなレベルのヤツいるのか? 大半は自分なりに調べて、試した結果、わからないから教えてくれだと思うけど そもそもどんなレベルの質問だって データシート見ろ 試せ ググレ でほぼ解決しちゃうけど、教えてもらったほうが速いだろ
「ググレ」と言ってもらわないとググれないいんだろう。
hidaspxをユニバーサル基板で作ったのですが ライタとPCをUSBでつなぐとREADYとBUSYのLEDが同時に点滅し始めて PCには認識されません 何度も配線を確認したのですが、なぜこのような症状が起きるのかまったく不明です どうしてでしょうか?
ふーっ基板カットー プリント基板を作るのと、ユニバーサル基板で作るのはどっちが良いのでしょう? やっぱりプリント基板を作る方が良いんだろうが、大量に作る物も無いな
生基板に空中配線も忘れないであげてください
>>344 先入観か、資料ミスによって語配線に気が付いていない。
ありがちなのが、USBコネクタのPIN番号の数え間違い。
>>344 配線が間違ってるかファームの書き込みがマズイか部品に不良があるかのどれか
配線に一票
どうしてもわからんなら基板の表裏の写真さらせ
>大半は自分なりに調べて、試した結果、わからないから教えてくれだと思うけど と >そもそもどんなレベルの質問だって > データシート見ろ > 試せ > ググレ >でほぼ解決しちゃうけど、教えてもらったほうが速いだろ の矛盾。
>>346 生基板での配線は以前チャレンジしましたが、バーニングの香りがしました。
あれからだいぶ精進したつもりなので、またチャレンジしてみるかな。
でも、またバーニングだな。きっと。
バーニングの香りわろたw かくいう俺もやったんだけど
生基板が妊娠した!
生で基盤すれば妊娠するのは当たり前だ! 男なら責任を取れ!
>>344 ブログ持ってたら"HIDaspxで書けない!"とでも書いとくと
senshuさんが飛んできて手厚くサポートしてくれる
はず
>>351 やっちゃたときのあの香ばしい香りはたまらんね
なんというか言葉にできない
いつだったかのトラ技に、チップや部品を中華なべで炒めてるイラストがあって なんだかそれが、とてもうまそうに見えたんだ・・・
AVRって逆接やショートなんかに割と耐えてくれるよね。 もちろんやらないに越したことは無いけど。
ほほー みんなも結構やっちゃってるんですね。 自分だけかと思ってました。 PWMでLEDはできたので、こんどはモーターを回してみます。 電圧が12vなので、また違ったバーニングになるやもしれません。 バニ香させないようにがんばります。 ありがとうございました。
wiki復旧まだー?
>>355 ってかsenshuさんの掲示板に書くと12時間以内にサポートしてくれる
自分もsenshuさんのアドバイスで上手く行ったよ
感謝感謝
じゃあもう2ちゃんねるに来なくていいな
ここはAVRの雑談が楽しいんだろ。 そんな言い方しなくてもいいんじゃない?
EclipseにAVRプラグイン入れて開発してますが アセンブラが全くハイライトされないです なにか方法は無いでしょうか?
そういうソフトなんじゃないの?
だれもいないかな。 関係ないけどWinAVRの関数呼び出しについて考察してみる。 関数のローカル変数のアドレスを使う処理を書くと、 スタックポインタを得るために、以下のような無駄なプロローグが生成される。 push r29 push r28 rcall .+0 rcall .+0 rcall .+0 in r28, 0x3d ; SPL in r29, 0x3e ; SPH エピローグではSPを書き戻すためか、 割り込みが一時的に禁止になる。 adiw r28, 0x06 in r0, 0x3f ; SREG cli out 0x3e, r29 ; SPH out 0x3f, r0 ; SREG out 0x3d, r28 ; SPL AVRはレジスタ渡しが基本のため、DWORD値でも値渡しにした方が 効率的で短いコードが生成される。 複数の戻り値が必要な関数では、値を構造体でまとめて返す事が考えられる。 アドレスが必要な場合は、可能ならば変数をグローバルにすると短くなる。 32bit値を頻繁に使うSDカードの処理をgccで書いてたら コードが膨れ上がるので原因を調べたらこれだった。
>366 うまく再現しない。gccの版は? int test_code(){ int a = 1; test_code2(&a); } に対して 4.3.2 でプロローグは push r29 push r28 rcall . in r28,__SP_L__ in r29,__SP_H__ だけで rcall みっつもない。ローカルのアドレスオペランド 1 つに対して rcall 1 回じゃない? エピローグはSP動かしてないから書き戻しもなく、割り込みも触ってない。 rcallに対応してpopが増えるだけ。
変数の大きさによって変化します>rcallの数 関数内で配列のローカル変数を宣言するとかでも可。
忘れてた。 MCUはatmega168でgcc version 4.3.2 (WinAVR 20081205)
>368 なる。int 3つぶん、6バイト以上のスタック領域へのアクセスで>366になった。 構造体の参照渡しで問題になった訳ね。乙。 これから俺も気ぃつけることにする。
>>365 DataFlashに関してはアプリケーションノートに
AVRで使う場合の注意点と応用例(サウンドレコーダ)がある。
共にAtmel製品だからね。
372 :
リキ :2009/07/31(金) 05:16:45 ID:krW4tv+f
>>365 サンプル見るのがだるかったので、自分で調べて使ってみました。
2のベキ乗でないと気持ち悪いので、AT90USB162/AT90USB647
の SPI 512バイトで使いましたが、SDよりは使い易くて良いのでは
ないでしょうか。
#define PAGE_SIZE 512 // デフォルトは 512
#define MSG_SIZE 40 // デフォルトは 40
void set_buffer_power_of_2(void) {
U8 cmds[] = {0x3D, 0x2A, 0x80, 0xA6};
FLASH_ROM_on();
write_bytes(cmds, sizeof(cmds));
FLASH_ROM_off();
while (! read_status(FALSE)) {}
}
bool read_status(bool show_info) {
U8 stat;
FLASH_ROM_on();
write(0xD7);
stat = read();
FLASH_ROM_off();
// Device is ready.
return (stat & (1 << 7)) ? TRUE : FALSE;
}
void write_bytes(U8 bytes[], U16 length) {
U16 i;
for (i = 0; i < length; i++) {
write(bytes[i]);
}
}
void write(U8 byte) {
write_and_read(byte);
}
U8 read(void) {
return write_and_read(0x00);
}
void reads(U8 buff[], U16 n) {
U16 i;
for (i = 0; i < n; i++) {
if (buff) {
buff[i] = read();
} else {
(void) read();
}
}
}
U8 write_and_read(U8 byte) {
while (! (UCSR1A & (1<<UDRE1))) {} /* 送信バッファ空き待機 */
Usart_write_byte(byte);
while (! (UCSR1A & (1<<RXC1))) {} /* 受信完了待機 */
return Usart_read_byte();
}
ようやくwiki復旧したか
374 :
344 :2009/08/01(土) 02:00:48 ID:tveAw63j
USBケーブルのつけ方を変えてみたりUEWの取り回しを変えても 症状が変わらなかったので、まさかと思い違うTiny2313にHIDaspxを書き込んで 使ってみたところ、ちゃんと認識しました。 今まで使っていた秋月のFT232RLモジュールでのBitBangライタより相当速い…… ちょっと感激です。というかユニバーサル基板でちゃんと動いたのははじめてかも あとはUARTやFirmware書き込みコネクタを取り付けていないのでそれを取り付けます ICB-86でバカ正直に抵抗を配置した後にUEWで繋いだので裏がけっこう汚いです…… 以上チラ裏 今度からブログでやろう
夏休みの工作ネタ。 ラジオの緊急地震速報を受信して作動するなにかってのはどうだろう
あのピロピロピロンの音をどうやって検出するかが最大の課題 DACでデジタルに変換して、パターン比較するのかな?
周波数が分かっているならフィルターで簡単に作れる。 スペアナの必要もない。
そうなるだろうね。一応、あの放送のときはBGM等は無音だから、 細切れの音声周波数の補足さえできれば、なんとかなりそう。 そのあと放送波をつかった実践テストとして、大地震発生装置を作るのが大変だ
大変?フィルタ処理はアナログなのかな? 完全デジタルなら簡単そうだが。
リンク先読んでみれ。 >フィルタによる古風な処理方法でどこまでできるのか試すつもりで完成させました.
割り込み中に別の割り込み要因が発生したとき、 その割り込み要因はどのくらいの期間待っててくれるんでしょうか? 1 次の同一の割り込み要因が発生するまで 2 その他 要因となるフラグがハンドラによってクリアされない以上は 1だと思うのですが、この理解で合ってるでしょうか?
割り込みフラグは、割り込みベクタに飛ぶか、明示的にクリアしない限り消えることはない
>>383 >1 次の同一の割り込み要因が発生するまで
なんか微妙だけど、まあ同じ割り込みがもう一度かかれば、
2回の割り込みが1回と見分けが付かなくなるという意味ではそういえる。
同じ割り込みがもう一度かかった場合、割り込みフラグは立ったままになる。
初心者な質問で申し訳ありません。 Attiny45でISPモードでの書き込みが突然できなくなりました。 高電圧モードで読み書きはできるため、ヒューズの設定なども以前の状態に設定しましたが 以前解消されません。 ちなみにヒューズの設定は、Ext:0xFF High:0xDF Low:0x62 Lockbit:0xFF です。
Attiny45はどこで買いましたか
388 :
386 :2009/08/02(日) 23:42:12 ID:8QKnbbJ1
マルツです。
>>386 ライターのISP(SCK)クロック設定が高速すぎる可能性はありませんか。
CPUクロックの 1/4 以下の必要があります。
マルツデムパ
>>392 目から鱗・・・
確かにタコメータない車では耳で回転を把握してるよな。
>>392 まさにそれを見てこのスレに辿り着いた所でしたw 次が楽しみすぎです。
初歩過ぎですが質問2件お願いします。
Q1.説明の中でジャンパー線が紹介されていなかったのですが、ブレッドボードEIC-102BJに
付属の物だけでも、夏休み一杯くらいは遊べますか?
Q2.何か入力を付けた方が遊べそうだと思ったのですが、トグルスイッチやロータリー
エンコーダを認識させようとした場合、一緒に買っておいた方がいい部品はありますか?
ちょっとは調べてから質問しろよ。 これだから動画サイトの連中はどこに行っても嫌われるんだよ
>>396 質問の内容がおかしいだろ
どっちも自分で考えろよ
どれだけ遊べるかとか、本人次第過ぎる
一発目はPICで遊んだほうがいいよ AVRは少し敷居が高い気がする
AVR の方が扱いやすいけど、資料やノウハウは圧倒的に PIC の方が多いからなぁ 置き換えて読めればいいんだけどさ
CRD E-153を12Vに逆接続したら壊れますか? 電流はどの程度流れたかちょっとわかりませんがどうやら壊れたっぽいのです。
>>401 ・・・逆だと思うが・・・?
理解しやすさを考えると圧倒的にAVRだし、
昔は問題になった情報が足りない問題は今はないし。
>>403 電源直なら壊れるよ。
何しろダイオード順方向だからな
>>396 心無い回答も多いけど気にするな
ジャンパーは少し大目に持ってるほうが遊べると思う
買ってもたかが知れてるし、自分で作るのも遊びの一環としてはアリかと思う
入力は自分の構想によると思うけど、とりあえず安いタクトスイッチくらいはあるといいと思う
がんばれ〜
優しく答えてほしいなら、wikiで質問するんだな
夏だなぁ ニコニコも嫌いじゃないんだがこれだと何言われても仕方ないわ…さすがに
俺様がマイコンに興味持ってやったぞ ありがたく思えってな感じだもんな。 何を勘違いしてるんだかw
レス続けないでスルーしとけって
相手にする奴も同類だな。
412 :
774ワット発電中さん :2009/08/07(金) 20:57:52 ID:mZyiVfKQ
工業高校ならやるんじゃない?
414 :
774ワット発電中さん :2009/08/07(金) 21:04:13 ID:mZyiVfKQ
>>413 まじか。最近の高校生はなんでもできていいな
415 :
774ワット発電中さん :2009/08/07(金) 21:08:58 ID:ElNaSEJA
>>414 昔の高校生とかは、頑張ってZ80+ROM+RAM+8255を配線したんだぞ!(w
416 :
774ワット発電中さん :2009/08/07(金) 21:19:58 ID:mZyiVfKQ
>>415 何年前の高校生だw
上のバイトに応募しようとしたけど30歳以下不可って年齢審査きびしすぎわろた
俺だめじゃん。
いいね! 金のにほいがするw
>>412 会社概要すら無い会社に応募する30歳以上の大人なんているの?
これはw
募集対象には入ってるみたいだけど怖くて応募できねぇw
>>416 16〜30までじゃね?
いや、だから年齢制限を設けなくても、夢見がちな20代か 世間知らずな学生しか応募しないってw だいたいトップには開業と言っているのに中では業務拡大って・・・コピペHPにもほどがある。 学生中心とか言っている辺り、カモる気満々だろ。
422 :
774ワット発電中さん :2009/08/07(金) 23:03:09 ID:mZyiVfKQ
>>421 だいたいトップには開業と言っているのに中では業務拡大って・・・コピペHPにもほどがある
開業前に社内人員を増やすってことじゃないの?ままぁある話じゃね。
423 :
774ワット発電中さん :2009/08/07(金) 23:07:45 ID:mZyiVfKQ
>>419 新興企業の会社概要なんてそもそも信用しないだろ
アセンブラで、キャリーフラグが立っていたら次の命令をスキップ という処理を実現するには、どう書けばいいんでしょうか?
brcs 1f //スキップしたい命令 1: //飛び先
426 :
774ワット発電中さん :2009/08/08(土) 00:20:59 ID:Z6Q3NcyW
ありがとうございました そのままの命令があったんですね
>>412 なんだこれwほんとかよ。
工業系の大学生で、AVRは好きでいじってるんだが、
応募してみようかなwww
やめといた方がいいかな?
ちょっと怖いな。
>kounet Motor Enzinnering
なにこのスペル。ググっても出てこないしw
入社するのに出資金がいるんじゃね? 屁みたいな回路設計させて消える時間稼ぎとかな。
>>427 「一円でも金払えと言われたら逃げる。」を肝に銘じて
住所氏名全部ウソを書けばOKじゃね?
潜入レポ頼む。
>真に有難う御座います。 ってどうよ?
>>427 事業所所在地不明、勤務地不明、電話番号非掲載、事業内容不明瞭、企業規模不明
企業名中学生以下のミススペル
これでもチャレンジするかどうか迷える>427の若さがうらやましい・・・
>>427 スロットの体感機を作らされるのが関の山だな。
C++のコードだと,Watchウィンドウでメンバ変数が見られないんだけど, こういう仕様なのかな? それともWatchへの追加の仕方が間違ってるんだろうか. C++で書いてる人いない?
>>406 衝撃だったのですよ。半導体の回路ってもっと保護抵抗の計算とかあれこれ
周辺の回路を整えてやる物だと勝手に思い込んでいたもので、そんなポン付けな回路で
動いてしまうのかw・・・と。
読み返してみると確かにはしゃぎすぎましたね。申し訳ありませんでした。
>>434 流石に自意識過剰では?
素人がホームページを立ち上げていく時はこんな物だと思いますが・・・
437 :
774ワット発電中さん :2009/08/08(土) 23:57:23 ID:IwPJtD8h
会社経営なんかと程遠い連中から見れば確かに胡散臭いだろうが、 超新興企業なんて皆こんなもんじゃねぇの かの本田技研ですら当時は低学歴工員の集まりだったんだからさ
本田技研とこんな胡散臭い所を「新興」という言葉を使って、同レベルだと話すというのは、詐欺師としか思えない。
IJMPやICALLを使って面白いことできないかな
440 :
774ワット発電中さん :2009/08/09(日) 01:36:19 ID:UwrK7XfK
スマソ AVRのタイマー0、PWMモード動作についてなんですが、 周波数とDutyを変えて動作させるには Config Timer0 = Pwm , Prescale = 64 , Clear Timer = 1 , Compare B Pwm = Clear Down Ocr0a = R1 Ocr0b = R2 と書いて R1とR2にボリュームから入力される電圧をAD変換してやればいけますか?
何が言いたいのかわからん。
>439 あまり使わない命令だね、プログラム途中にデータを入れる場合に使ってる位 RCALL LCDSTRINGS .db "abcd",0 RCALL LCDSTRINGS .db "123",0 ;-サブルーチン LCD strings output .db "ABC",0 LCDSTRINGS: POP ZH POP ZL LSL ZL ROL ZH _LCDSTR1: LPM ADIW ZL,1 TST R0 BREQ _LCDSTREXIT MOV A,R0 RCALL LCDDAT ;LCDへ1文字出力用 RJMP _LCDSTR1 _LCDSTREXIT: ADIW ZL,1 LSR ZH ROR ZL IJMP
>>412 求人するなら、せめて会社概要のページくらい早く作って欲しいなw
しばらく様子を見てみるか。
>>412 あれ?今見たらスペル変わってるwww
旧)kounet Motor Enzinnering
現)kounet Motor Engineering
>超新興企業なんて皆こんなもんじゃねぇの どんだけ世間知らず?
いい加減うぜーよ その会社(?)ウォッチするスレ立ててそっちでやれ
その会社の社員ばっかになってるようだw
これから仕事を受けるにあたっての試験料だとか登録料だとか この仕事を請けるための証拠金が必要だとか,会社をこれから 立ち上げてやっていくから出資金出してくれとか, この機材が必要だからうちからこれを買ってくれ (クレジット契約付だったり)とか,納品したものに対して 難癖つけて金は払わず時には迷惑料よこせとか, 知り合いを紹介しろとか, 今居る会社の○○を利用してみろとかいって持ち出させるとか 実はもっと儲かる話があるからと先物取引とか・・ まぁいろいろあらーな
449 :
774ワット発電中さん :2009/08/09(日) 14:21:10 ID:pG91am7U
AVRを使って驚いたけどcoldfireやZ80に比べてプログラムがやたら長くなる なんか悲しいっす
じゃあ使わなければ?
そうだね、彼には向いてないみたい。
452 :
774ワット発電中さん :2009/08/09(日) 14:51:27 ID:B1Fubq5p
新入社員で入った年の創立10周年記念パーティーに来賓で本田総一郎が 来ていたよ。 そんな当時のベンチャーも去年いっぱいで解散。
453 :
774ワット発電中さん :2009/08/09(日) 15:00:28 ID:asuu6N7i
>>449 AVRは確かにコードの効率が悪いよな
数値計算とかさせてPID制御なんてさせようものなら
もう訳ワカメ状態になるよ。
>>450-451 のような幼稚なプログラムしか書けない馬鹿な奴には
最適なんだがな。
時代遅れのハード屋から見たらRISCがメモリ食うのは当然で、AVRだろうがPICだろうが 同じと思ってしまう。基本はC言語(みたいな高級言語?)を使うのが前提でしょ。 アセンブラレベルで使うならPICは使いたくないが。
>>453 マイコンも用途に合わせて適材適所だよね
とりあえずお前はこのスレに向いていない
>>449 いくらなんでもZ80よりもコードが長くなるとかアリエナスwww
Z80側のコンパイラもGNUなのか?
まさかとは思うけど、 イエローソフトの制限バリバリのコンパイラ仕様に基づいて 全てスタティック宣言してグローバル変数になってるソースを食わせたとか無いよね。
俺ほどの技術者はいないと思っていたソフト屋だけど 電子電気板に来て愕然としますた。俺なんて米粒以下です。
みんな結果として、米粒レベルが嫉妬しているだけなんじゃね? 足の引っ張り合い感が玉に漂うな。
じゃあへりくだってみんなに教えを請う俺が一人勝ちってことでw
>>442 forthのthreaded codeみたいなものを妄想したんだけど、
YレジスタをPCとすると
movw r30, r28 ; 1 PC復帰
LPM r24, Z+ ; 3 プログラム領域から次の飛び先読み込み
LPM r25, Z+ ; 3
movw r28, r30 ; 1 PC退避
movw r30, r24 ; 1
IJMP ; 3
これだけで12クロック掛かる
IJMP自体がZレジスタ使う関係で効率悪い
最初以外はadiw r30みたいなことをすればいいから LPMx2がなくなって6→2になるか
C言語を意識した関数ポインタ用じゃないの? 関数ポインタないとRTOS見たいな物組めないし。
ICALLが無いと関数ポインタが不可能となり、大きな足かせになってしまう。 IJMPはswitch文で生成されることがある。
gccはラベル配列でジャンプテーブルが作れる。 一般的に関数ポインタ呼び出しよりも効率がいいはずだけど AVRでgoto *jmp++;みたいなコードを吐かすと・・
466 :
774ワット発電中さん :2009/08/10(月) 12:52:28 ID:pFzEfjSB
みんなint→10進文字列の変換ってどうしてる? sprintf使ってる? それとも自分でプログラム作ってる?
itoaってないの?
chanさんのコードを少し改造して使ってる。 でもこのロジックは定数割り算でも32bitなら32回、 16bitなら16回はループして百クロック以上掛かるから 速度が要求される場所では16進で表示してる。 (16進なら数クロックで済む)
乗算が使えるMCUなら逆数を掛けるという方法がある
逆数ってw それはないんじゃないか。 int => BCDの変換のことを言ってるんだと思うんだけど、 8bitマイコンならまずBCDを256倍するルーチンを作っておいて、 MSBから1バイトごとBCDに変換しては256する方法が一番オーソドックスな 方法じゃないのか。 それともBCD経由せずにいきなりASCIIに変換する上手いやり方でもあるのかな。 仮にあってもそんなデバックしにくそうなアルゴリズムは実装したくないな。
>>471 あるいは?と思って試してみたけど、流石に10で割る動作を乗算で代行するのはきついかな。
16bit数値に24bit値(1677722/16777216)をかけるくらいならいけそうだけど、
乗算6回と加算6回で18クロックくらい。商からあまりでまた10クロックくらい要すると
10で除算するよりは短いかもしれないが、複雑だしBCDとか素直に10除算とかでいいかと思える。
冷静に考え直すとコード量の問題もあるね。
475 :
774ワット発電中さん :2009/08/10(月) 18:45:41 ID:YcUs7WBw
作ってる物によるけど、自分はあらかじめ10進数で使ったりする。 もう、packedじゃなくて1桁に1byte当ててやって。 変換処理は当然不要なんで、そこは最速。
>>472 だから無理だってw
演算誤差どうすんのよ。
そういう方法は、例えば計測器なんかでAD変換値を指示値に変換する場合のように、
一定範囲内で誤差を含んでいてもいい場合に使う方法であって、BCD変換なんかに
使っちゃダメだろう。
っていうか、だからそもそもオリジナルのintを10の累乗で割るって発想が
小学生的な発想なんで、そうじゃなくて普通はBCDの方を256倍(または16倍)
しながら、intの上の桁から1バイト(またはニブル)ずつBCDに変換した結果を
足していくって方法でやると思うよ。
そうなのか。 BCD演算は今までスルーしてた。
Z80時代に作った自作ルーチンを移植 効率じゃないぜ 愛着だぜ 当時1バイトのコード短縮を取るか 1クロックの短縮を取るか 一週間くらいグルグルしていたのを思いだす
16ビットとして・・と a[5]={'0'、'0','0','0','0'} 値が10000未満になるまでa[0]をインクリメントしながら10000を引く 値が1000未満になるまでa[1]をインクリメントしながら1000を引く 値が1000未満になるまでa[2]をインクリメントしながら100を引く 値が10未満になるまでa[3]をインクリメントしながら10を引く a[4]にあまりを足す
482 :
774ワット発電中さん :2009/08/11(火) 09:00:32 ID:0fi19NVA
10進変換はこんな感じ ↓ char *itoa(char *s,int i) { char a[5],c,p,pm; c = 0; if(i <0){ pm = 1; i = 0 - i; } else{ pm = 0; } do{ a[c] = i % 10 + '0'; i /= 10; c++; }while(i > 0); p = 0; if(pm){ s[p] = '-'; p++; } while(c > 0){ c--; s[p] = a[c]; p++; } s[p] = 0; return s; } コードの長さは -Os でコンパイルして AVR 218byte Pentium 122byte となりました gccは avr 3.4.3 Pentium 3.4.4 です
ところで、10進がらみは本家のアプリケーションノートにもしっかり出ているのに なんでそれを使わないんだ?
矜持の問題なのかもしれない。
>>483 好みがあるってとこだろうね。
Cの標準関数でもないようだし、gccのはちょっとサイズでかいしで。
>>482 >AVR 218byte
でかい原因はこれ
>a[c] = i % 10 + '0';
>i /= 10;
でかくて遅い
487 :
774ワット発電中さん :2009/08/11(火) 10:45:03 ID:0fi19NVA
>>486 余りと割算はサブルーチンを呼んでるので218byteの中には入ってないです
ちなみにMSP430だと150byteです
関数内ローカル変数が一定以上になるとでかくなる 配列使ってる関係じゃないかと レジスタのpushpopが半端ない
>>482 ↓こんなんでも良い?
char *itoa(char *s,int i)
{
char a[5];
char *pa,*pp;
pa = a;
pp = s;
if (i < 0) {
i = -i;
*pp++ = '-';
}
do {
*pa++ = i % 10 + '0';
i /= 10;
} while(i>0);
while(pa > a)
*pp++ = *--pa;
*pp = 0;
return s;
}
↑c言語だとスタックを使えないからスマートに書けないよな。
>>489 ・最後にわざわざsを返すとそれだけでレジスタをいくつか犠牲にする
・間接参照できるレジスタは限られる
・16bit符号付き10進は高々+6バイトに収まるんだから
後ろから埋めて最後にずらせば配列は必要ない
50ワード前後になれば及第点
492 :
774ワット発電中さん :2009/08/11(火) 13:00:26 ID:0fi19NVA
配列のアクセスってポインターを使うのとそうでないのとで かなり差がでますね。 これってgcc-4でも同じ傾向なんでしょうか?
単に>482をポインタ化しただけなんだが・・ x86なgccだとこのくらいの小細工でもだいぶ小さくなる gcc3.4.4で82バイトってとこだな
材料を揃え始めたAVR入門希望者です。 LEDチカチカからしてみたいのですがAVRの入出力やその他端子の機能など C言語での使い方を説明している、ド素人の自分でも分かる本ってありますか? 「AVRマイコン活用ブック」はその辺の説明が何もなくて。。。
>>494 もうちょいいうと、avr/io.h をインクルードすれば、
データシートに書いてあるレジスタ名でアクセスできる。
DDRB = 0xFF;
PORTB = 0xFF;
PORTB = 0x00;
PORTB = 0xFF;
こんなんでもチカチカする。
目にも留まらない速さだけど。
>>492 なぜポインタ操作だと速くなるのか、若しくは速いコードを書けるのか?
理解していれば、そんな質問は出てこないと思うよ…
最近のコンパイラは頭がいい
俺のようにAVRの性能を限界まで使うタイプは アセンブラでないとだめだ
マージンイーターでつね、wわかりまつ
>>500 最近のプログラマは頭が悪いので、相対的に見てコンパイラの頭が良くなった。
コンパイラはプログラマが作っているのですが
>494 書籍でってことなら 「試しながら学ぶAVR入門」があなたに向いていると思う。
プログラマに作られたプログラムは、プログラマが自分で計算するととんでもない時間が かかるものでも、いとも簡単に計算してしまうのです。不思議ですね。
508 :
774ワット発電中さん :2009/08/11(火) 23:14:40 ID:uthWtH+6
EEMPE ---> EEMWE EEPE ---> EEWE 2時間も悩んじったひょ しかもまだEEPROMにかけない、、、
510 :
774ワット発電中さん :2009/08/11(火) 23:49:19 ID:9nvhEKeD
みなさんは内蔵EEPROMは何に使ってますか?? 遅くて512Byteしかないから使い道が思いつかないです そのぶんSRAM増やして欲しい
512 :
494 :2009/08/12(水) 00:55:16 ID:RHXXgBxK
>>505 書籍のサンプルみたら良さげでした。非常に乙です。
>>511 タクトスイッチつけといて、実際に使うときにパラメータの微調整とか。
アナログ回路の半固定抵抗みたい感じ。
数Byteしか使わないけど・・・
>>511 当然動作設定用のフラグの状態を保存。
Windowsで言うところのレジストリと同じ使い方になるかな
>>511 割と多いのが、シリアル通信のパラメータ(通信速度、ビット長、パリティ等)
や、タイミング処理の可変ウェイト設定などの保存先とか。
不揮発だからバックアップ電池不要だし。設定の変更は十字キー配列の
タクトスイッチと液晶表示画面で確認しながらやる。
例えば、キーボードでも、キーを押し続けた状態からオートリピート開始
までの時間とか、オートリピートの速度とか、リピート処理するキーか
どうかのマスクテーブルとか。 さらに凝ると、オートリピート状態の
まま押し続けるとリピート速度が加速したりする。
>>511 え、必要でしょ。
別に無理してEEを使おうなんて思わずに無いと思ってれば?
俺はリセットの度にトグル動作でbootするように利用してるけど。
>>511 ISPで書き込めるし入りきりそうに無いデータを入れて
プログラムエリアをちょっとでも多く…とかにw
昔、スーパーキャパシタとリセットICを組み合わせて、 電源が落ちた時のメモリのバックアップに使ったことがある。 EEPは常時書き込みで使うと寿命が来てしまうから、その辺りは使いにくい。
>>516 なにそれおもしろそう。
具体的になにとなにを切り替えてんの?
>>516 動作モード切替スイッチをリセットスイッチと共用していると言うことかな?
その発想はなかった・・・けど、リセット(パワーオンやブラウンアウト除く)でSRAMって全初期化されるんだっけ?
リセットするたびにEEPROMのフラグを反転させて、何らかの初期値に使うってことだろう SRAMがどうとか関係ないお
いやそうじゃなくて、リセットでSRAMが保持されるなら、初期化されない変数を確保して そこを利用してもいいかな(書き込みが楽な分いいかな)と思ったりしたんで。 まあ起動時に次のリセット用にEEPROM書き込みもたいして面倒じゃないかと思い直した。
>>520 別にSRAMでも良いのだけども、リセットSWを設けずに
電源でトグルさせる場合もあるので癖でEEを使用してます。
BCC領域以外というのもC言語でやりにくいし、
スタックの深さも読みにくいのでSRAMでやらない理由ですかね、
AVRのシリーズでRAMの大きさや番地も違いますし。
>>519 いえ、単純に実行モードとプログラムのロードを切り替えてるだけです。
ISPを使わない開発のときにそうしてます。
EEPROM書き込み時に電源ぶっちされた時の対策はどうすべきしょうか
>>524 もし書き込み失敗に終わっても問題ない(次回は初期設定でもいい)なら、
データのチェックサムか何かを最後に書き込み、利用時はこれをチェックするって事でどうでしょ。
書き込み失敗が許されないなら、電池で電源落ちないようにして、電源管理はAVR自ら
スリープにはいることで行うとか。EEPROM書き込み終えてからスリープにはいると。
最後にチェックサム書くのは良いですね 検討します!
>>524 データを2箇所に書く。一箇所に書き込んで、書込みが正常終了したことを確認してから
もう一箇所も同じデータを書き込む。
書込み途中で電源ブッチされても、最悪書き換える前のデータは生きている。
どちらのデータが正常かは、>525の通り、チェックサム等で対応できる。
電源が切れたというイベントを拾えて、そのタイミングで 保存しておくことってできない?
>>528 外部電源が切れても、ローカルな何らかの電源を確保してAVRを動かせるなら、
外部電源OFFを感知させて終了処理して電源落とすことはできるだろうな。
ただ、それでも結局、瞬断とか、停電とか、携帯デバイスを落下させて
電池がぼよーんと外れて突然断する危険から、逃れることができない。
2段階で書き込む
>>527 式か、3箇所に書き込んで多数決で決めるとか、
なんらかの安全策は必要になる。
設定したはずのデータが消えるって、アタマくるよね。
しかも自分で組んだプログラムだと、悔しいけど誰にも文句を言えないしw
そういや昔、AT90S1200で、EEPROMの先頭1バイトが、消えやすいって言う
設計上のエラッタがあって、ソフトウェア的な対処法も公開されていたな。
今出回っているデバイスは、そのエラッタはもう消えてるのかな?
二箇所に書けば完璧ですね
AVRは使ったことがないので事情が違うのかもしれないけど、(まあたぶん一緒だと思うけど) 他のマイコンだとコアの暴走による書き換え対策の方が 頭の痛い問題だね。特にケチって電源監視ICを付けなかった場合。
キャパシタで書き込み時間だけは稼ぐってのはどう?
>>533 できたらカッコイイですが、
それで安定した5Vって取れるでしょうか?
参考になりそうな回路図か何かありませんかね
>>534 1Fとかのスーパーキャパシタ使えば、
電源切れても数秒〜数十秒とかの単位で電圧は維持できる。
5V安定させたければ昇圧DC/DCとか要るかもだけど、
キチンと電源を分離してれば、書き込みする間くらいは変動無いに等しいよ。
キャパシタの容量をでっかくすればいい
AVRとその他の電源を分離していれば、 10μとかでも十分行けそうな気もしますけど。
電源監視つけろよ
BODを備えてるなら、電圧監視割り込みも欲しいとこですな
540 :
774ワット発電中さん :2009/08/13(木) 12:05:06 ID:xPcKlyAs
EEPROMって1byteの書き込みに2.5msかかるんだろ。 結構きついよね
その間CPUも停止してる訳だし、 連続しての書き込みならコンデンサーの電力でも十分でそ。 試してみるべ。
542 :
774ワット発電中さん :2009/08/13(木) 12:33:46 ID:xPcKlyAs
>>541 止まってないよ。
大体そんな仕様だと使い物にならんだろ
勘違いしてました。 書き込みの際、処理落ちが発生してたから、 幾分足止め食らってたのを完全に停止してると思い込んでいました。 すいません。
コンデンサーがあったら電源が切れたことがわからないんじゃ
ダイオードを噛ませればいいのでは?
>>544 電源→Diode→キャパシタ→AVR
↓ ↑電源監視(コンパレータ)
→→→→→→→→→→
ってところでどうだろ?バックアップするならどうせダイオードいるよな?
計算したら20MHz実行で1.2秒くらい動作させるには 0.1Fくらいの容量を必要としますね。 orz
>>547 EEPROM書き込むのにそんな長時間保証しなくていいと思うけどな。
5V→ブラウンアウトする4.5Vくらい?まで保持すればいいから0.5*容量/消費電流 くらいか?
それよりLEDとかいっぱいチカチカしていたらすぐにこける予感。
電源監視でひっかかったらすぐにこっちから止めないといかんか。
>>543 CPU止めたいなら
書き込み→アイドル→割込み→書き込み→
でいいと思うんだけど。
てか、今検討してる用途ならそうすべきなんじゃ。
Tiny2313でモータ制御しようとしてるですけど、モータ回すとAVRがリセットかかるんですよ。 AVRとモータの電源を一緒にしてるのがいけないんだと思うんですけど、 電源一緒にしてもリセットかからなくするのにいい方法ないですかね。 パスコンの容量増やしたんだけど手持ちの容量じゃだめで・・・
電源からの配線をできるだけ根元から(GND側もね!)分けておき、 マイコン側にはR通してC入れたり、D通してC入れたり…
>>551 モーター駆動電圧をAVR電源電圧より高くして(たとえば12V)、
AVRにはドロップレギュレータ経由で給電する。
AVR5V給電なら、12Vが8Vくらいまで落っこちても大丈夫。
6Vとかなら、AVRの方を3.3Vにするとか・・
>>552 抵抗を通すと、マイコンとその周辺回路の消費電流によって、E=R*Iの電圧
降下が生じるのでよろしくない。
電圧降下を少なくしようと抵抗値を低くすると、せっかくマイコン用に独立
したコンデンサという"ため池"設けて電荷を貯めても、モータ側に食われて、
コンデンサ容量を大きくしても効果がイマイチ。
抵抗よりもインダクタ(L)を使った方がいい。
>>551 要は、突入電流(高周波領域)に対して、マイコン電源とモータ電源との間の
インピーダンスを上げることで、マイコン部分に独立した電源を設けた
のと同じ効果をもたらす。
GND電位は基準だから、できれば電源の近くに一点アースで。マイコン
とモータのGND配線が共通だと、モータ負荷電流(の変動)によって配線の
共通インピーダンスでGNDが揺らされるから、マイコン回路へ行くGND
配線と、モータのマイナス配線は分けたほうがいい。
モータをHブリッジ等で駆動していて、基板への共通電源の入口が1箇所なら、
そこからのGND配線をモータ周辺とマイコン周辺で分ける。ベタGNDなら両方の
ベタGND同士は、コネクタの端子根元で一点アースになるように、スリットを
設けてベタを分割すること。
電源容量がタリンのとちゃうん?
リセットIC
>>554 電気って光の速度なのに枝分かれさせる点を数センチずらすと
改善されるって不思議です。
パスコンもできるだけICの近くにってのも同じ理屈?
素人ですみません。
1秒間にたった30万`しか進まないんだぜ。
>>557 「何」が光の速度なのかを考えると不思議は解決するぞー
ようこそ!電磁気学の世界へ1
>>550 スタンバイにしたっかったのですが、EEPROM割り込みが使用できないので。
アイドル=1/3
スタンバイ=1/30
電力1/3じゃあんまりお得感がしなかったので・・・
そんな難しい話じゃなくて、
>>554 の言ってるのは
抽象的にいえば、基板のパターンの導電率を捨象できない場合がある、と。
ただそれだけのことでしょ。
抵抗(導電率)よりもインダクタンスが効くね。 回路図上は無いものとして設計しても 実際にはパターン上にはRCLの成分が存在するのが問題。 まあ、その辺は554の書いてる通りだけど。
回路図上で動く回路は多くの人が設計できる 便利なシミュレーターとかも多いしね 回路図の動作をする回路を基盤上に実装するのは多少のコツがいる 特にアナログ回路 回路図には浮遊コンデンサなんてないしね
ある外部機器から無線でテレメトリを送りたくて ストロベリーリナックスの微弱無線モジュールを用いてUARTを AVRからPCに送る実験をしているのですが、その前段階でUARTは無線でつなぎ AVRは電池で駆動させるとUARTがうまく送信されません。 USB給電の5Vでは問題ないのに9Vの006P電池から7805を用いて給電するとうまくいきません ところが、レギュレータを用いず9Vをそのまま流すとうまくいきます ただ、9Vを直接供給するのは問題があって、無線モジュールのほうがストロベリーリナックスの サイトでは3V〜6Vとなっています。一緒に掲載されているデータシートでは3V〜12Vと なっているのですが、少し不安が残ります UARTってけっこう電流を消費するのでしょうか? ケチってマンガン電池にしたのが裏目に 出たのでしょうか?
すみません >無線でつなぎ は有線でつなぎの間違いです
無線通信以前で躓いてるってことか? PC側はどうやって受け取ってるんだ? さっぱりわからん 上手くいってるならデータシートを信用すれば?
>>567 PC側はAE-UM232Rで受け取っています
まだAVRのTXDとAE-UM232RのRXDを直結している状態です
これのAVRの電源をUSBの5Vから006Pの9Vを5Vに降圧したものでやると
うまくいかないというものです 一個500円ですから試してみましょうか……
動作中の電圧計ってみた? 電源の差で動かないなら、単純に容量が足りてないとみた。
光の速さでも、1秒間に地球を7回半しか回れない 地球の裏側に届くまで、66ミリ秒もかかる ナノ秒、ピコ秒という単位を日常的に扱ってると、とんでもなく遅いような気がしてくる
>>569 測ってみたところちゃんと電池駆動は5.03VでUSB駆動は5.04Vで
有意な差があるとは思えません
また、同時にLEDも点灯するようにしたところ、電池駆動でもLEDは点灯します
誤差に有意な差があるかどうか、それは統計的に証明しなければならない そのためにはサンプル数が少なすぎる
FT232RとAVRが別GNDになってました、なんてオチだったりしない?w
なんか無線モジュールのほうが9Vで動いたのでいいやって感じですが、 なんで動かないんでしょう…… そういえばAE-UM232Rの3.3V出力で動かしてみたところ、はじめのUARTを少し出力しただけで AVRが再起動すると言うのを繰り返していたので、何か関連があるのかもしれません しかし微弱無線モジュールの到達距離が短い…… かといって送信側のアンテナをいじるとなると法に触れるので 受信側のアンテナの改良をするという方向ですかね
AVccとAVRefに何も繋いでないとか? そもそもAVRマイコンは何をお使いで?
AVRはTiny2313です 後だしばかりですみません
>>574 最近(2007年以降)の電波法規定で特定小電力無線モジュールがトレンドに。
微弱無線は今更って感じ
まっ,悩むことが青春さ
>>574 回路図あるならどこかにうpしてみたほうが良いような気がする。
発振防止にコンデンサーはいれてるか
>>570 前に日経サイエンスであった記事で、
北米大陸横断する通信路は、通信路に通信中パケット50個が並ぶ
というのが衝撃的だった・・・・光速度おそいじゃん・・・・
そうか、アメリカの無修正サイトが遅いのはそのせいか!
まあ、「動きません、わかりません、なんとかしてください」しか言えないようでは サポートセンターのお姉さんを泣かせるお馬鹿と同じレベルだね。 日本の掲示板って暗黙裡に他人にエスパーであることを期待している人が多いけど、 英語圏の掲示板ではまずそんな人見たことないんだよな。 これは、くだらない文学鑑賞中心の国語教育の弊害だなたぶん。
>これは、くだらない文学鑑賞中心の国語教育の弊害だなたぶん。 それはないと思う。 質問する訓練ができていないからだと思う。 判らない事質問する時には、自分の理解できている事柄を自分の中で整理できていて、その上でわからない事を他人に説明する能力が必要。 この手の能力は学校の授業ではほとんど学習する事ができない。 丸暗記する方が学力が上がったと思われやすい風潮が良くないと思う。 自分で悩んで、人に相談して、解いていく流れを学習すれば質問の仕方もうまくなると思うよ。 初心者も何度か叱られながらも、半年やり取りすれば慣れてくる。
>>584 占領下のお馬鹿化教育方針に中共の日教組が乗っかってしまったので
現在の義務教育には、論理的思考を育てるカリキュラムが全くない。
>この手の能力は学校の授業ではほとんど学習する事ができない。 北米だと小学校から、有名な"Show and Tell"なんていうプレゼン能力養成カリキュラムが あったりするらしいけどね。 そういうのは日本の教育ではほとんどないね。 子供の嘘をつく能力を養成する作文教育はあるが。 現に英語圏の掲示板では「エスパー召喚質問」を投げてる人ってあまりいないから、 やっぱり教育の問題だと思うよ。
588 :
774ワット発電中さん :2009/08/14(金) 11:58:57 ID:zKFTO6VE
>>584 教育方針に日教組は関係ないよ。それを決めてるのは文部科学省だろ。
そして論理的思考を育てて一番困るのは自民党だ。
国民が賢くなると首相の馬鹿さ加減が目立つからな
おかげでAVRをいじれる俺は回りから尊敬されて良い気分
日本は良い国です。
>>584 今は電気・電子系学科の偏差値は最低ランクだし、その最低ランクの中のさらに
落ちこぼれがこんな便所の落書きみたいな場所で質問しているんだか仕方ないって
大目にみてやるのが大人ってもんだ
自己紹介乙
592 :
565 :2009/08/14(金) 19:05:03 ID:06v/BRwi
自分の質問が悪かったようで荒れてしまいすみません
9V駆動での送信機の実験がうまくいったところで送信機への供給電圧を5Vに降圧して
同じようにしてみたところ同じように動きました
おそらく多くの方が言っておられたようにシリアル変換モジュールとAVRのグランドを
一緒にしておかなかったのが原因のようです。初歩的なところで躓いて無用な質問をしてしまい
すみませんでした。
受信機側にアンテナをつけ、また送信する際に特殊なヘッダをつけてそれを受信機側に
デコーダとしてつけたもう一つのTiny2313で処理すると確実に送れるようになりました。
ある程度の距離だと実用性があるので、今度から使っていきたいとおもいます。
>>578 さんのおっしゃられているように、微弱無線では到達距離や確実性に問題があるので
次は特定小電力無線モジュールにてやってみたいと思います。
安価で手に入る特定小電力無線モジュールはXBeeぐらいしか私は知らないのですが、
ほかに何かあるでしょうか? XBeeだと今回のように手軽に使えて、また双方向なので
いい事尽くめなのですが……
長文すみません
気にすることはない。 この板の連中は口は悪いが、何だかんだいいながらもみんなで 楽しくやってるんだ。そもそも一般人はこんな所には居ないしな。
まさかAVRスレまで選挙活動が来るとは・・・必死だな
mega88使ってて、ポート増やすのにtiny2313の綺麗に出てるPORTBを 使おうと思ったら、肝心のUSIがPORTBに割り振られてんのね・・・ こういう場合って2313側のSPIとかはソフトウェアでやるしかないよね?
つMEGA164P
あ、ソフトウェアでやるぐらいならUSARTを倍速で使う方が早そうだね つーか644pに変えた方が早いのか
きれいに出てないピンたちをきれいに使えるようにする マクロを作るのがいちばんはやいんじゃね
601 :
774ワット発電中さん :2009/08/16(日) 00:21:32 ID:qpeU2Icd
アクセスが1〜数クロックズレるのはきもちわるいときもある。
602 :
774ワット発電中さん :2009/08/16(日) 00:59:53 ID:7V1JE2rw
俺は吹奏楽やってるから、AVRで電子メトロノームと、電子チューナーを作る メトロノームの方が簡単そうだ チューナーはFFTのプログラミングしないとだからね
ソフトウェアによるSPIスレーブは、スレーブクロックに応じて マスタ側で適当なウェイトを入れながら通信することになる。 スレーブクロックが20MHzで1Mbps出ればいい方か。 uint8_t spis_read_write(uint8_t w){ uint8_t i = 8, r = 0; while (i--){ r <<=1; if (0x80&w) SPI_PORT |= _BV(SPI_MISO); else SPI_PORT &= ~_BV(SPI_MISO); w <<= 1; while (!(SPI_PIN&_BV(SPI_SCK))) ; // LOの間待ち if ((SPI_PIN&_BV(SPI_MOSI))) r |= 1; while ((SPI_PIN&_BV(SPI_SCK))) ; // HIの間待ち } return r; }
AVRアセンブラで乱数を発生させる方法がわかりません。 1秒ごとに7セグに乱数を表示するものを作ろうとしていますが できません。orz ふつうはどうやって発生させるのでしょう? 最終的にはこのプログラムを応用してランダムに向きを変える 虫のような動きをする車を作ろうと思ってます。
まずツェナーダイオードを用意してだな…(以下略 マジレスすると 乱数 アルゴリズム とかで検索すればいくらでも出てくるんじゃないのか。 完璧を求めないなら16ビットの数値5倍して1を足す、を繰り返すとか。 んで下位8ビットを使う。
607 :
774ワット発電中さん :2009/08/17(月) 00:21:12 ID:XT/hwEhz
できるだけ少ないピンで7セグに表示する方法を教えてください
BCDデコーダ
シフトレジスタなりを外付けして(ry アマチュア的には下手な汎用ロジック買うよりもATtiny2313買った方が 安い。適当なマイコンにLEDの表示管理を任せて、本体側のマイコンは SPI経由なりUART経由なりで通信して使えばよろしいのでは。
i2c化
まさかのSCSI化
秋月部品レベルだと組みあがるまで時間掛かるから、 苺linuxとかでI2CやSPIの適当な製品をさくっと買ってくる。 手軽に電子工作した気分になれる。
>>610 実際I2Cの7セグとかって有ってもいいような気がする
>>614 現実問題としては液晶パネルの方が安くて汎用性あるから
今更製品としては7セグLEDってのもの…
ttp://elm-chan.org/works/avrx/report.html ここのISP対応設計のb,cの対策を74HC125で
やろうと思うのですが、以下のような回路にして、
ISP書き込み時には74HC125をHi-Z状態にすれば
問題ないでしょうか?
VCC=5V
ISP
| | |
AVR | | | 74HC125
________ | | | _________
| .| | | | .|
SCK .|--+-|- |-------| -|>- |------
MOSI. |----+-|-------| -|>- |------ SPI Slave
MISO .|------+-VVV-.| -<|- |------
________| 1kΩ |_________|
>>618 ありがとうございます。
なんかブレッドボードでテストしたら動きませんでした。(直結は問題なし)
AVRのSPIは最大でも100nsだからHCでも間に合うはずなんだけど。
125は配線が面倒だから573にすればよかったかな。
MISOに3.3Vも混じってるから閾値の問題かな? 原因がわからないのでまた明日にします。。
組み直したらうまく動きました。書き込みもできました。 どこか接触不良か配線を間違っていたようです。
おっと
hidspxの2号機が安定しないorz 1分位するとなぜか安定する。 謎だ。
いつのまにか328pが千石で売ってますね
千石に行ってみたら、電子工作系の書籍コーナーが出来ていた。 で久しぶりにトランジスタ技術を手にとってみると・・・ あの電話帳みたいなトラ技の厚さが半分以下になっていた。 こりゃマジで不況ですなぁ
割り込みハンドラ内でraiseできる例外機構を考えてます。 1) 例外ルートを設定しておく(スタックポインタを記憶。setjmp相当) 2) 割り込みハンドラ内で例外を検出 3) RETIを呼ぶ前に、スタックポインタの戻りアドレスを広域変数に退避 4) 代わりに例外ハンドラのアドレスに書き換える 5) RETIを実行し、例外ハンドラへ飛ぶ 6) 例外ハンドラを処理(割り込みと同じく要レジスタ退避) 7a) 続行不能ならスタックポインタを書き換え、例外ルートまでジャンプする(longjmp相当) 7b) 続行可能なら広域変数に退避したアドレスをPUSHしRET (続行可能性がないなら直接例外ルートまで飛んでも良い) 恐らく割り込み関係フラグを正常に処理するにはIRETを一度実行する 必要があるのでこんな感じになりました。 これができて何が嬉しいかというと、割り込みをトリガにして強制脱出が 可能なので、ポーリング処理でいちいち脱出判定する必要がなくなります。 こういうのって既にあったりしますか?
考えてます・・既にあったりしますか? って言ってる意味がわかんね。やりたければやってみてりゃいいんじゃねぇの?
629 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/08/19(水) 09:42:32 ID:plbMfnLq
浮動小数点の計算をするプログラムをattiny2313に入れようとしたら ROMの容量が足りません。 attiny2313とピンコンパチブルで容量の大きなチップってありますか?
>>627 タスクディスパッチと何が違うのか説明してくれ。
2313で浮動小数点って何をするんだろうか
633 :
774ワット発電中さん :2009/08/19(水) 13:44:26 ID:lXkHtc2v
電卓? カシオミニみたいに割りきればいいのに
634 :
774ワット発電中さん :2009/08/19(水) 15:27:26 ID:gz8qHLKX
ものすごく大雑把な書き方でスミマセンが、 TINY2321にWinAVRで書いたIOコントロールするCプログラムがあり、 容量がフルに近くなったためATMEGA 88Pに移植しているのですが、 何か機種に寄る設定などで「ここには注意」みたいな箇所ってありますか? 思うように動いてくれない箇所がありちょっと困ってます。 具体的に事情を書き並べるのが解決への早道なのでしょうが、簡単なミス だと恥ずかしいので... すいません。
635 :
774ワット発電中さん :2009/08/19(水) 15:28:19 ID:gz8qHLKX
あ、既に質問から間違えてる... 2313です。(2321ってかいちゃった)
クロックのヒューズ設定くらいかな。
637 :
774ワット発電中さん :2009/08/19(水) 15:53:57 ID:gz8qHLKX
>>636 さん 感謝です。
早速ありがとうございます。クロックに依存するようなプログラムでは無いので
88Pでも内部クロックを利用し、デフォルトのままなんです。
2313では一度外部クロックに焼いてしまい、触らぬ神に...みたいな気分です(^_^;
そっかTinyは内部発振あったのよね。 ならデフォは同じ1MHzだから問題ないかな。 でもせめてDIV8は解除して8MHzで動かした方が良いと思いますけどね。
>具体的に事情を書き並べるのが解決への早道なのでしょうが、簡単なミス >だと恥ずかしいので... こういうのは、回答者に推測箇所を無駄に増やして 善意の回答者に意図的に負担を与える、最悪のパターン
640 :
774ワット発電中さん :2009/08/19(水) 17:06:34 ID:gz8qHLKX
>>639 さん
おっしゃる通りです。スミマセン。なにか見落としている部分が世代の違いに
よってあるのかな?とお聞きしたかったもので。639さんも思いつかないとの
事なので、これ以上はご負担をおかけしたくありません。ありがとうございました。
>>638 さん DIV8の件、ありがとうございました。今の不具合が解消したら次の
ステップにしたいと思います。
匿名掲示板で間違いの現象をさらすのが恥ずかしいか。 変な人も居るもんだ。
1. 下手に理屈こねず、とにかく秘密にして質問 2. 詳細晒せ→仕事なので公表できません が最強なのになw
1. 特定のアルゴリズムや処理方法に、なぜか異様にこだわる 2. なぜそれが必要なのか理由を晒せ→宿題ですから聞いているのです、黙って答えてください が次候補
いかにして回答を得づらくするか、において最強だな。 馬鹿のやり口だ。
>>628 試しに作ってますが、1)にレジスタ退避もいるのを忘れてました。
結局例外ハンドラ機構はsetjmpとlongjmp使うのとほぼ同じ。
それと多重割り込みを考慮するとやや面倒です。
(割り込みを許可している一番下位の割り込みハンドラの
リターンアドレスを書き換える)
>>631 スタックの中身は退避しないのでタスク切り替えはできません。
それでも例外ルートに戻る情報にjmpbufでも24バイト必要なので
AVRにはやさしくないです。
で、答えてやる気のない奴に限ってうるさいとねw
フラグで脱出判定した方が
>>645 予めスタックの深さを記憶しているし、
多重階層の何処からでも脱出が可能というのは良いかも知れない。
タイムアウトや外部からの強制終了の用途以外あまり思いつかないけど。
メンテ性では後始末の記述がチグハグになりそうで、
信頼性が要求される用途では危険な書き方になりそうdすな。
割り込みハンドラから直接例外ハンドラを呼んだ方が楽なのでは?
>>649 RETIの正確な動作に自信がないでああ書きました。
RETIがマニュアル通り、SREGのIビットをセットしてRETするってだけなら
直接呼べます。
>>648 CSアサートとかWDTみたいなハードウェアに対する順序処理は、
気を付けるか、例外を保留するみたいな仕組みが必要だと思います。
マイコン使いの連中ほど気持ちのいい男たちはいないって、 マイコン使いは、ハード屋よりも勇敢で、ソフト屋より誇り高いんだって じっちゃんが言ってた
風呂に入らねえから臭いしな。
そこで、風呂に入ったらボタンを押して、その時刻と回数をEEPに記憶し、 いつ風呂に入ったか統計させる装置を作るのが真のマイコナーの姿
マイコナーの天敵は水だぜ・・・グフッ!
AT TINY45を使い始めたものなのですが、勉強のため タイマ0を割り込みをつかってLEDを点滅させる プログラムを書いてみました。 FUSEビットを書き換えてCPUクロックの前置分周無し に設定し、タイマクロックは1024分周、オーバーフロー 割り込みをかけています。15Hzぐらいで切り替わるかな と思いましたが、実際には1周期に6秒ぐらいかかります。 180倍ぐらいの速度差が生じてしまっているのですが なにが悪いのでしょうか?
656 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/08/20(木) 11:47:27 ID:np6jYe9y
>>655 よーわからんけど1周期16,7秒くらいじゃないのか?
アセンブラで書いてスタックを設定していないとか言うオチ?
655です。開発環境はWINAVRです。 >656さん システムクロックが8MHz、1024分周して、256カウントなので 8000000/1024/256=30.5... なのでon/offの周期は15Hzぐらいかなと 考えたのですが、間違っているのでしょうか? FUSEビットのDIV8ビットは"1"に書き換えてあります。ほかに 何かあるのかな。割り込み関数内ではカウント変数をインクリメントして いるだけです。 >677さん 上に書いたようにcで書いてます。
"c"って書いてあったのか・・・ 見えんけど。 ならソースを晒そうよ。
660 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/08/20(木) 12:49:16 ID:np6jYe9y
>>658 タイマーは8ビットを使ってるつもりが実は16ビットだったっていうオチじゃないですか?
655です。 >659さん すみません、658内で書いた上の方ってことです。 御気分を害したようでもうしわけありません。 で、ソースをとおもって見ていたら、ひどく単純な間違いを 犯しておりました。なおしたら、約17Hzのパルスが出力され、 無事動作しました。(自分で書いたプログラムを勘違いして いました..。) ご助言いただきありがとうございました>656、657さん
>>661 そういうときは間違った理由も書こうぜ。
たぶん笑われるレスがつくだろうが、その2倍くらい身に覚えがある人がいて、
3倍くらい勘違いしていた人が救われるかもしれん。
663 :
774ワット発電中さん :2009/08/20(木) 15:57:47 ID:wROabInT
AVRでイーサネットの制御を行うサンプルはありませんか? 10BASE-Tぐらいの遅い速度ならできそうな気がするんですが
>>663 「avr uip」で検索すると沢山でてくると思います。
ありがとうございますそれで調べてみます
>>664 AVRで簡単に扱えそうなのは、ENC28J60とW5100(WIZ812MJ)がある。
ENC28J60のサンプルはavr enc28j60でググれば出てくる。
W5100ならarduinoのシールドがサンプルになる。
すぐ使いたいならarduino環境揃えるのが一番早い。
ENC28J60の方を使ってるけど、TCPセグメントサイズ512で実測1.2Mbps程度。
サイズを増やせばもっと出そうだけど、W5100はさらに速いはず。
ありがとうございます 1.2Mbpsも出れば十分です
W5100だとAVRで8Mbpsも出るそうだよ。 バッファも16kバイト使える。(ENC28J60は8k)
>>661 動いて何よりです。
しょーもないミスは慣れない環境だと誰にでも起こりうるので気にしないことですな。
自分がよくやるのはコンパイルされたのと全然違うフォルダのHEXを焼いて、
ソースを変更しても全然バグが直らねー!とか。
ベタなのか解らないけど、JTAG ICEでデバッグ中にAVR Studioが落ちると もう一度接続しても、JTAGでアクセスできなくなってる事がままあった。 あーあ、石死んだなーって諦めてたけど、 ある日、基板の電源さえ入れなおせば大丈夫だってことを知った。 個人的には結構衝撃的だった。
教えていただきたいのですが, AVR StidioでAVRISP mkUにConectした際, 「ソフトに問題が発生したため」でソフトが終了していまい, mkUが何も繋いでない状態で赤と橙の点滅をしつづけ, mkUにConectできなくなってしまいました. 直す方法はあるのでしょうか?
USB抜いて刺し直せ
HIDaspx使おうぜ AVRStudioと連携できるんだぜ
連携できるとは初耳 USBaspxを作ったはいいがVistaでは動かないことがわかりずっと秋月のシリアルパラレル変換ICを使っていたがこの際作ってみるかな
ATmega168(20MHz、5V)の電源をPCのUSBポートから取ってるんですが、
USBポートに差し込んだ時のコールドブートで変な状態になり、
固まってしまう場合があります。そうなるとWDTも機能しないので、
手動リセットするしかなくなります。
ヒューズ設定見直しと下記RC&ダイオードによる外部リセット回路を
付けると、症状の頻度は減りますが、それでも完全ではなく、
変な状態になる前に一瞬タイムラグがあるのを見つけたので、
その間にWDTリセットすることで今の所コケずに起動するようになりました。
(MCUSRのWDRFで切り分け)
今は下の外部リセットと0.1uF、10uFのパスコンを付けてますが、
電源をPCのUSBから取るような場合、他に何か付けるべきでしょうか?
5−4 外部リセット回路2:RC&ダイオードによるリセット回路
ttp://www001.upp.so-net.ne.jp/FITDESIGN/manu5.htm
677 :
674 :2009/08/21(金) 14:01:38 ID:MYsejtK6
>>676 パスコンって単に繋がってればいいとか思ってる人が初心者に多いけど、
配線の引き回しをかなり短くしないと全く効果は無いよ。
手配線の時はICソケットの中に入れる覚悟が欲しいところ。
端的に言えば、回路の問題でなく配線スキルの可能性が高い。 ブレッドボードでやる場合には特に電源周りに気を配ろう。 差し支え無ければ写真うpヨロ。
>>676 自分の場合は AVR で簡易リセット回路を用いてうまくいったためしが無い。
リセット回路をケチらずに普通のリセットICを使えば解決しそうな気がする。
すいません、470uFをVCCとGNDにはさんだら症状は起きなくなりました。 MCUSRで確認すると、今度はBODがうまく機能してるみたいで、 リセット回路も不要になりました。 電流不足なのかな。
>>681 最初に疑うなら、681が作ったボードの電源ラインが不安定って事だよ…。
USBケーブルで高々50mA程度で電流不足とかありえないし、 消費電力に対して470uFは過剰すぎる。 パスコンのセラミックコンデンサーを的確な位置に配置した方が吉。 まさか電源ラインにウレタン線使ってたりとかアホな事してないだろうな。
USBに470uFは大きいと思います。33uFまでが適切かと。
実はセラロック使ってましたというオチ
>>684 その発言は適切ではないような。
USB2.0の仕様書には、電圧降下の限度値からレギュレータの後も含めて
10uF未満って書いてあるんだぜ?
まあ実際にはこんなの守ってない製品のほうが多そうな気はするけど
AVRだけ載せてるとは限らない罠
確かに、USBパワーでパルスモーターとか回したたりしてなwww
USB扇風機とか酷いよな、おかげで俺のパソコンのUSBポートが1つ死んだ
128kHZの8分周のクロックにしたら書き込みがおそーい
tiny45入手。今までtint2313かmega88使ってた
692 :
774ワット発電中さん :2009/08/22(土) 21:48:49 ID:WAJXS7Ud
パスコンをいっぱいつけると、発振するよ
発振してほしいときには発振せず 発振してほしくないときには発振する 人生もそんなもんだ
吹けば飛んでいくし、ちょっと目を離したら見失うし?
おまいら、ノイズ対策実験用のノイズジェネレーターどうしてる? んなもんねーって言われたら終わりだが・・・
ESDテストはノイズ研究所の試験器を使ってる。 しかしAVRってノイズに弱いのな。ピンに放電させると必ず暴走する。
AVRで乱数を発生させればいいんじゃないの?
698 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/08/23(日) 11:05:56 ID:ufdOB/Cu
ピンに放電なんかしたら普通壊れるだろ
>>696 逆に暴走しないチップを教えてくれ。
少なくともSHARPやHITACHIやTOSHIBAでも暴走するけど。
普通は、ESD対策はケースや装置への実装を含めたシステム全体でやる よね。 たかが、5Vや3.3Vで動いているマイコンの外部ピンに、kV単位の電圧を 注入すれば、そりゃ暴走もするわな。(w
暴走どころか爆発するぞ
>>700 暴走しないというのは無理で、壊れない&適切にリセット掛かり復帰することが目標では?
>>702 某国内AVメーカーだったか、ノイズ対策と称して、リセットIC出力(マイ
コンのリセット端子)に0.1uFぶら下げるように推奨していたぞ。
CR時定数によるリセットじゃなくて、電源ノイズでリセットICが過敏反応
してリセットが掛からないようにするためとか。
キチガイ文化だなと思った。
>>703 リセット端子にパスコン入れるようなもんか・・・
マイコンはほぼマスターしたので、高周波に挑もうと思ってるのだけど しきいが高いな高周波は 基礎理論からもう一度勉強し直すか
>>705 ノイズ発生源が乱数でいいとか思ってるうちは無理だろう
てか、マスターってw
7セグにしろLCDにしろデジタル時計製作は 初級者のステップアップに丁度よいテーマだと思うぞ。 自力でやってみれ。 LEDチカチカ覚えたら7セグで時計、LCD制御覚えたらカレンダーと時計。 モーター制御覚えたら鳩時計でも作ろうかってなw
>>708 時計マスターに質問!
俺が32Kの水晶外付けで時計を作っても、
一週間で時間がずれちゃうんだけど
精度の高い時計の作り方のコツを教えてください。
実用にならないんで意欲半減してしまう。
ずれた分をこっそり足し算
>>709 時計組むときは32kHz水晶なんか使わないで秋月の温度補償付発振
モジュール(12.8MHzのTCXO)を使うのが時計自作の定番のような…………。
tiny2313を仮定して、6桁の7seg駆動だとI/Oピン数が微妙。
74AC138で桁デコードするのと、4511あたりでBCD-7segデコード
するのと、どっちがいいかな。
表示の自由度だと前者か。初心者向けには後者かな。
時計も、電源断対応でのバッテリバックアップをAVRだけで実現させようとか考え出すと… 万年カレンダーは任意の日付表示を実現する計算式(曜日自動判定)を アセンブラで一から書くと意外と面倒だよね。 閏年計算なんかも入るからな〜。
>709 タイマ・カウンタを比較一致で使って0.5秒ないし1秒を計時してるんだけど、 比較値の設定で落とし穴がある。 例えば16ビットカウンタで32kHzで1秒をカウントするとき、 OCR1A = 32000; とすると時間はずれる。 OCR1A = 32000 - 1; が正解。 カウンタの値が一致した次のサイクルでカウンタが0に戻されるので。 自分の場合、ATtiny2313で、7セグで4桁。 11.776MHz(秋月で売ってるやつ)の発振器を適当に分周して使って、 1カ月で数秒ずれるかどうかってとこ。 1週間で1秒のずれも許さないんだ、ってことだと>711の通り 定番の高精度発振器KTXO-18S使えってことになるんでは。 あと、ATtiny2313で7セグ6桁はギリギリ可能といえば可能。 でも7セグと水晶と電源でピンが埋まるから設定スイッチ付けられないw
電波時計つくりたい
>>712 yyyy年mm月dd日の曜日は、(1月,2月は前年の13月,14月とみなす。)
( yyyy + [ yyyy / 4 ] - [ yyyy / 100 ] + [ yyyy / 400 ] + [ ( 2.6 * mm ) + 1.6 ] + dd ) mod 7
そんなに面倒か?
鯖運用とかしてるとNTPで時計同期とか普通にやるので、普段見る時計は 鯖がリファレンスになってたりする。もしそうなら、電波受信するより LAN, シリアル, or USBでホストPCに同期させた方が実用面では簡単かも。 電波受信にロマンを感じるなら、がんがれ。
UARTを用いてシリアル経由で時刻を設定して表示する時計作って満足したけれど まだまだ奥が深そうなんだな Tiny2313でgcc-avrで書いたけれど、ROMを見てもう機能の追加は出来そうにない感じだった それに何故か8ビットのタイマ0と内部発振8MHz使ってるから3日ずっと走らせてたら30分ずれていた 案外UARTが容量食ってるんだよなあ LCDやらだともっと詰めれるんだろうな
>>714 gpsモジュールからシリアルで時計データ持って来るぢゃだめ?
振り子とリードスイッチで1HZ を作ってだな。
タイマは8bitでも問題ないけど、内蔵RCは無茶だね。 UARTで容量食うのは多分数字出力の処理の仕方だろう。 gccでも工夫すれば結構詰め込めるよ。
内蔵もそうだけどクリスタル付けた程度だと ポート電流によってコア電圧も変動し、発振周波数は結構影響を受ける。 誤差を気にするならポート電流を抑える工夫も居るし(トランジスタを付けるなど)、 電源を安定させる為のコンデンサーをてんこ盛りにしなきゃ。 面倒なら外部クロックモジュール用いる。(モジュールの電源は独立させる) 誤差補正はクリスタルの時はトリマー型のコンデンサで調整。 モジュールの時はプログラムで調整機能を加える。
一方ロシアは電波時計モジュールを使った
商用電源周波数を基準にしたら、かなり精度高いよ。
あ、日本国内の場合ね。
>>708 でも面倒だからそろそろシフトレジスタ内蔵7segとかが超安価で出て欲しい・・・
つなげば同じI/Fで何桁でものばせるし。
>>725 2313とか下手なドライバIC買ったりするよか安いだろうし、
AVRスレらしくAVRでSPI接続とかで作ってみたらいいと
思うんだけどどうだろうか
>>726 SDRAMの仕組み知ってたらわかると思う
マルチしてないか
>>729 地域によるだろうが、長期精度は結構高い。
オヤジが30年前に買った同期モーター使った時計をまだ使っているが、
月差30秒くらいで動いていて、しかも月差30秒のくせに年差も1分以内程度。
発電所って、総サイクル数でも管理しているのか??
(先月はちょっと平均周波数10ppm低めだったから今月は平均10ppm増し目標でいくべぇ!とかw)
>>727 いやまあ、7segLEDにシフトレジスタと抵抗組み込んじゃえばほとんど変わらない値段で供給出来るんじゃないかと思ってさ。
足の数減る分のコストダウンもあるかもしれんし。何桁でも5線(data,clk,latch,GND,Vcc)で、しかも何個でも数珠繋ぎで済む。
AVRで遊ぶ立場なら
>>727 の言うとおりなんだけど。
732 :
774ワット発電中さん :2009/08/24(月) 10:19:43 ID:EZKcYkpX
発電所は波の数を数えて補正していると聞いた。 だから誤差が累積されない。一日の変動はかなりあるそうだ。 1Hzは\100時計を分解してそこからもらう。以外と精度がいいようだ。
昔(今も流通在庫がどこかにあるかな?)セイコーが出していた32.768kHzの DS-MGXOという水晶発信器は精度2.5ppm(月産7秒以下.選別で0.5ppmもあったかな?) だったなあ TCXOとかではなくて水晶のカット方法で工夫したやつで普通にコイン電池で バッテリ駆動可能なくらいの低消費電力だったな。(さすがに高かったけどね)
発振が発信になっちまうわ,月差が月産になっちまうわ・・・ 駄目だ・・夏ばてかな?
【マイコン】正確な一秒を求めて【誤差】
32kの水晶は音叉型で、数MHzに使われるATカットなんかよりかなり大きな 温度係数を持ってる。だから夏にあわせると冬に遅くなるし、冬合わせると 夏早くなる。
>>726 君はどうしてそんな事をするのだ?
人をおとしめて楽しいのかい?
みなさん聞いてください。こんな事があるとは、俺がPICスレに書いたものをAVRスレに書いて
マルチに見せかけようとする輩がいたのです。俺はAVRは見たことも触った事もありません。
あ、いや、マルツで実物くらいは見たことはありました。
昔のPC88シリーズが8MHzだった事を考えると、自作PCをPICでやりたいと思いまして、
向こうのスレにそんな質問をしたのですが、いやマルチにされてしまいました。
自分の無能さに合わせて、まずは順番に30pinSIMMから勉強しろよ
>>739 勉強するから30pinSIMMを売ってくれ。
↓時計の話に戻そう
↓リセット回路の話に戻そう
高校野球の話でもしようぜ
いやAVRの話しろよ
マイコンに温度センサを追加すれば普通の水晶でもDTCXOに等価になるな。
747 :
774ワット発電中さん :2009/08/24(月) 22:51:53 ID:iMDTDe9c
たしか電波で時刻を常に送ってるところがあったはず 高周波に挑もうと思ってるから、最初は電波時計を作ってみようと思う
748 :
sage :2009/08/25(火) 00:28:57 ID:xUU/gVmM
>>747 >>高周波に挑もうと思ってるから、最初は電波時計を作ってみようと思う
残念 40KHz,60KHzなのだ・・・高周波といえる?
電波時計受信キットも異様に高いし、市販の電波時計を分解してみても
COBチップが張り付いてる専用設計だったりで、いまいち回路の実態がわからない。
秋月のは、回路規模に気合い入れすぎて、組み込み用途じゃ使えない
http://akizukidenshi.com/img/goods/2/K-00559.jpg 電波時計の受信部って、100円ショップで売ってるようなAMラジオの部品を
流用みたいな芸当ってできないのかな?
タダで降ってくる電波を、安価な方法で、ぜひともAVRで使いたいなぁ。
>>749 ELMさんとこに作例あったよ>電子工作>その他>電波時計
受信専用IC使ってるから異様にシンプルだったがw
>>753 分解せんでもそのままそれを使えば?
分解したものを使っても楽しくなかろーに。
いや、あくまでも初期の勉強用教材のリファレンスで、という前提でだよ。 要はこれのクローンを作りたいのよ。
時間の補正ならインターネットの方が楽なんじゃないの?
AVRをネットにつなぐまでが大変だし、 時計合わせに使うSNTPのプロトコルも実装しなければならない それでもやるのかね
>>757 どう考えてもそっちのほうがめんどそうだが…
TCP/IPとNTPを実装して…
DNSクライアントも必要だし…
>>760 どっちもUDPベースだからそうでもない
ただ、時計ごときにethernet繋げるなんて馬鹿げてるから
シチュエーション的にはネット対応したついでだろうね
有り物を組み合わせれば直結だから構成はシンプル
実用考えたらDHCPクライアントもいるけど
コード量に気を使えばmega88+enc28j60でいける
電波時計の方は専用チップがありゃ2313でおつりが来るのでは? そうでもないって言えるほど同じじゃないよ。有りもの使うと高いしデカいし。 RTC付きのJJY受信チップが手頃に出回らんかしらん。
えー そんな突っ込みが入るとは思わなかった
そんなこと言ったら専用チップとAVRわざわざ組み合わせるまでもなく
>>759 でいいじゃんかよ
外付けありという意味ではどっちもどっち、
線がいらない分、JJY
LAN環境のある、JJY届きにくい屋内で使うなら、NTP
>>759 がいいけどそういうこというなら電場時計買ってくればOK、ここはAVRスレだw
って感じ?
>>759 ここはAVRスレだからあくまでも「本体」はAVRだってことで
なんにせよJJYは色々楽しいよ。 ガキの頃からデジタル回路ばっかりで無線とかオーディオとか横目で見ながらスルーしてたが 最近JJY受信に興味持ち始めて今更ながらラジオ少年になってる。 LC同調回路計算してはコイル巻き巻きしてます。
コイルはLCRの中で一番作りやすい部品だからな。 コアとワイヤをストックしてあるので、無い値も簡単に作れる。
こんなこともあろうかと! 俺はLCメーターでも作ろうかと思って部品注文したところw
>>758 うん、別に大変とは思わないけど、
まAVRのクラスが32KROMレベルになってしまうがな。
>>769 こういう目的ならディップメーターの方が・・・
ディップメータとは懐かしい響き
774 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/08/26(水) 00:14:36 ID:WJu6jT8C
電波時計のアンテナってみんなどうしてる バーアンテナみたいな奴で感度とれる? JJTって長波帯だよね アンテナが大きくならないの?
>>776 コツ コツ コツ
・−−− ・−−− −・−−
・−−− ・−−− −・−−
ジェージェーワイ ジェージェーワイ いちじ じゅっぷん ジェイエスティ
・・− ・・− ・・−
コツ コツ コツ ポーー コツ コツ
>>774 >>759 のPSoCの電波時計作ったけど
ラジカセに入ってた直径1cm長さ8cmくらいのフェライトに
ホームセンターで買った太さ?長さ10mのエナメル線を全部巻いて適当に作った。
アンテナの知識とかまったく無い'`,、┐('∀`)┌ '`,、
いまどき電波時計も1000円で,バラすとアンテナも同調用のコンデンサも フィルタ用の水晶も手に入るけどもね. 手巻きでも高々40kHzとか60kHzだから学校での共振回路の実験みたいな 感じで巻き数調整していくっていう手もある. LC並列にしたのと抵抗を直列にして発振器つないでオシロで波形みながら・・ って感じで
>>776 モールス信号は、「ト」と「ツー」で覚えよう
トンだと トン トン トンカラリッと 隣組〜 語呂が悪いのだよ
てーて て ててーてー ててて
てーて て ててーてー ててて てーてってっててーてー てててっ ツート ト トツーツー トトト ツートットットツーツー トトトッ 「ト」と「ツー」だと語呂が悪い
786 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/08/26(水) 10:30:27 ID:WJu6jT8C
おまいら モールスは トンでもツーでもトでもてーでもなく ・ と − ですよ
てってってー
えいぶるの話を
マイコンで何でもできる、と自由度・可能性にワクテカしてるだけではつまらないので 楽しいアプリケーションを考えようぜ、 って流れでおk。
緊急地震速報をFFTでデコードするやつの実装について語ってくれ。 それ聞いてワクテカするから。
http://www.jmbsc.or.jp/hp/online/j-online3.html 配信サービスを受けるには、下記の回線および端末等をご用意いただきます。
■通信回線
「デジタル専用線」または「IP−VPN」のどちらかを選択し、通信業者にお申込みください。
* デジタル専用線
64Kbps以上 (INS64によるバックアップも可能)
* IP−VPN
ご利用可能なのは、NTTコミュニケーションズのArcstarのみです。
※インターネット回線は確実性が低いためにご利用いただけません。
データフォーマット
緊急地震速報のデータフォーマットの解説資料および地点コード表については、
気象庁発行の「配信資料に関する技術情報」に掲載されています。
* 高度利用者向け緊急地震速報
配信資料に関する技術情報第216号・・・1,575円(税込み)
* 一般向け緊急地震速報
配信資料に関する技術情報第261号・・・1,029円(税込み)
技術情報は書籍にて当センターで販売しております。ご購入を希望される方は、下記までお申込みください。
【購入申込み】 気象業務支援センター 振興部
http://ja.wikipedia.org/wiki/%E7%B7%8A%E6%80%A5%E5%9C%B0%E9%9C%87%E9%80%9F%E5%A0%B1 ラジオ受信機
ラジオで放送される一般向け緊急地震速報を検知して、速報内容を伝達する機器が発売されている。
ラジオ局が放送している緊急地震速報を利用する事で、情報受信料や特定の回線使用料が不要である。
その他、AM、FM波を使用しているので、ブロードバンドが敷設できない地域でも利用できる。
常時ラジオを視聴できない場所や組織に受け入れられ、採用が急増している。
地震と電波時計といえば。いま考えると、電波時計のJJY信号に、 地震警告ベルを鳴らすフラグ機能をいれたらよかったのにね。 ・必要性=時計は全人口が使うデバイス ・電源=電池駆動で常時稼働 ・設置=ユーザが自ら、電波を受信可能な場所に設置してくれる ・機能=目覚ましベルがついてる製品が多い→そのまま警告ベルに流用可能 1秒で1ビット送る現行仕様に、緊急を示す特殊パルスなどの例外を入れることと、 いまの1時間ごとの間欠駆動を常時稼働にさせる必要はあると思う。 これなら、世帯に1個、タダで配れるレベルのコストで全世帯を カバーする地震警告ブザーを実現できたかもね。
電池が持たなそう。 ところでこのスレの住人なら0.25mmピッチの足にポリウレタン線でハンダ付けは余裕だよね?
どこそこの地域には何秒後とか、もうすぐ来ますよってデータをJYYで全国一律に流すのはさすがに意味薄では。 北海道で地震が起きたとしても、九州の連中に緊急性はほぼないわけで。 そもそも時計は自分がどの地域にあるか大抵知らんし。 それで全然関係ない場所の電車とか止まったら各方面からブーイング必至じゃね
>>782 国試の無線従事者免許試験の参考書にもかいてるぞな
>>795 ブレッドボードとユニバーサル基盤しか使ったことない
>>795 0.5mmピッチは数えられないくらいやった。 0.4mmピッチのパッケージが
あることは聞いたことがあるけど、現物を見たことはない。 先が細く
尖ったコテと、0.3mmの糸ハンダ使えば、たぶん問題なくできるだろう。
0.25mmピッチのハンダ付け用パッケージなんてあるの?
リード幅0.125mm、リード間隔0.125mmとか? ポリウレタン線径は0.1mmΦ?
基板のパッド幅/クリアランスはいくらで設計するんだろう?
AVRには0.35mmがあるけど、千鳥配列だから実質0.7mm。 0.25mmはTABじゃないかと。最近見かけないね。
>>797 50文字/s くらいまでならそれでも良いかも試練が
それ以上だと音(てててーててーてーててーてて)で覚える必要があるぞな
安定しなかったhidaspx 2 号機にとりあえず手元にあった2.2マイクロFのコンデンサを入れたら超安定。
HIDaspxに電解がいるのはFAQだと思った。 なんでChanさんライターやTADさんライターには入れなくてもいい電解が必要なの?
>>803 802です。確かに1号機には電解コンデンサを搭載しておりませぬ。電解コンデンサを載せたのも少し前のパスコンの話題で試しになんとなく搭載してみたレベルです。
ソフト屋上がりのエセマイコン野郎なので、実は電子回路の理屈が解ってなかったりする所が多多あります。
そのくせFAQを見つけられていなかったのでポインタを教えていただけると嬉しいです。
あっ教えて君エセマイコン野郎になってしまった
>>804 電解コンデンサを付けたら動いたという報告が2回ぐらいsenshuさんのページにあって、
今では回路図の(8)に書いてある。
書いてないポイント:水晶回路は短く配線ぐらいかな。
>>805 802です
FAQと言うことでsenshuさんのページをざっと探したのですが、探し方が悪かったようです。もう一度読みます。
>今では回路図の(8)に書いてある。
らじゃー
>水晶回路は短く配線
確かに1号機より少し長いかも
ありがとうございました。
スレチですみません。 7セグLED用のスモークブラック(半透明)のケースをご存知ないですか? 7セグLEDの外形寸法は12.7x19mmです。
アクリル板買って来て自作だ
810 :
774ワット発電中さん :2009/08/29(土) 08:09:24 ID:yJMWn0zA
アクリル板をきれいに曲げるにはどうすればいいですか
mega168でコードが収まらなくなったので328Pに移行したら、 なぜかUARTが動かない。 この辺で何かレジスタや状態に仕様の変更があるのかな? hexファイルはMakefileをMCU = atmega328pに修正して clean後に作り直したし、SPIやタイマ0、タイマ1やPWMの動作は 確認できた。しかしUARTだけ動かない。 mega88から168/168Pの移行時にはこんなことなかったのに。 データシート読み直してるけど、原因がよくわからない。 328Pの単純な動作確認から始めるしかないか・・・。
配線間違えただけだった・・・
ドンマイ!
817 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/08/30(日) 00:47:06 ID:wiOpjM82
AVRって調子にのってプログラムを作ると すぐにメモリーが足りなくなるよな いい加減に全品種をROM128K/RAM64kに統一したらいいのにな 値段据え置きでね
>>817 どんだけリッチな8ビットマイコンだよ。
まああれば欲しいが。
大阪国民()笑
あ、2048回/32msだから15.625usなのか 20MHzとして1クロック50nsだから30クロックで15us 無理です
ん?間違えた 50ns*312クロック=15.600usだった もしかしてできる?
>>819 脳味噌のレベルが低いって事
つまりお 前 の 事 だ
リフレッシュを割り込みとかでやればなんとかなるんじゃないの? だいたい規格より余裕はあるからリフレッシュレート低くても化ける確率低いかも。
825 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/08/30(日) 11:16:13 ID:wiOpjM82
RAMを増やしてもプログラムの容量が増えんからなぁ。 つまらんっす
通信で任意に流れてくるデータの先頭を見つけるのにはどのようにしたらいいですか? たとえば、車のLANであるCAN通信で、データの先頭を見つけるのにはどうしたらいいのでしょう。
CANなら、立ち上がりエッジを捕まえる。
>>820 AVRのアドレス空間からいくと無駄にでかすぎる。
素直にSRAM使った方が、簡単確実。
AVRでRAM増設ならシリアルRAMでそw
でっていう
シリアルRAM・・・・それって、うまいのか?
書き込みの速いSDカードみたいな感じで使えるのかな 変数置いたりするんじゃなくて外部記憶と割り切れば・・・
だめだ、シリアルRAMとかいうとトランジスタみたいな3Pin奴しか 重い浮かばねえ・・・
バイト読み書き可能だから使い勝手はSDと大違いだよ 変数も置けると考えていい まあバッファ用意してバースト転送しないと効率悪いし 直結のRAMとは比較にはならないけど
>>835 サンクス。SPIなのか。これなら読めそうだ。
SPIはオシロで読む
シリアルFRAMってのもあるんだな。
普通のアドレッシングっていうかマッピングがされればいいんだけどね、どんなのでも。
>>840 それは16bitの世界かなぁ・・・今時の8bitに外部バスは重くないか?
H8をマジオススメします。
842 :
774ワット発電中さん :2009/08/31(月) 21:43:47 ID:KO/ziaHD
>>840 AVRはメモリ空間に余裕が少ないからね。
xmega系もあるけど、64Kを超えると扱いが面倒だし。
大容量メモリが必要ならAVR32じゃないかな。
xmegaって出てるのか?
>>843 向こうじゃ出てる。
だけど暗号関連の輸出規制で
digikeyから日本には出荷出来ないようだ?
ってのが前スレあたり。
日本サイトのdigikeyでA1が検索に引っかかって買えそうだけど、 規制されるのだろうか?
うお、買えそうだ! ちょっと前までは絶対なかったのに。 これは注文してみようかなー
xmegaでも相変わらずジャンプが遅いな IJMPが2にできるならRJMPや条件付き、せめてnear範囲は1であってほしい rjmpでポート待ち受けとかやってると損した気分
848 :
774ワット発電中さん :2009/09/02(水) 09:06:18 ID:qDFX3yfg
AVRのピンに、容量の異なるコンデンサをつけて、 デジタルバリコンを作ろうと思っているのですが、 製作例はどこかにないでしょうか
バリキャップにD/A出力をつなぐだけでは? D/AはPWMを平滑化するよりか抵抗でラダー組んだほうがいいかな。
バリキャップは誤差が大きそうなので使うつもりはありません
xmegaは日本橋のデジットにあるのを見た。 品種によるのかな?
誤差?何の誤差だろうな。 無調整で目的値を得られると思ってんのかな。 特定値のコンデンサ集める方がよっぽど大変なきがするが。
スレチだったら申し訳ないです 制御にatmega88を使い、磁気センサーによるライントレースロボットを作ろうとしています 磁気センサー側の回路の組み方、SCL・SDA端子は解るのですが、 atmega88側の回路の組み方や各端子の意味がよくわかりません またatmega88のプログラミングはどのような環境で行うのでしょう?
俺が添削してやる 制御にatmega88を使い、磁気センサーによるライントレースロボットを作ろうとしています ↓ 制御にatmega88を使い、磁気センサーによるライントレースロボットを作れという宿題が出てきました
スレチだったら申し訳ないです 制御にPIC16F688を使い、磁気センサーによるライントレースロボットを作ろうとしています 磁気センサー側の回路の組み方、SCL・SDA端子は解るのですが、 PIC16F688側の回路の組み方や各端子の意味がよくわかりません またPIC16F688のプログラミングはどのような環境で行うのでしょう?
>>853 ステップタイプ(Cを次々パラに繋いでいくタイプ)の可変コンデンサを作ろうとしてるんじゃないんだろうか?
書きっぷりから見ると、研究室の先生かなんかに「これ作れ」といわれて、途方に暮れているって感じがする。
(自分で思いついてやるんだったら、青写真はすでに頭の中にあるだろうから「制作例」なんて聞き方は
しないと思う)
磁気センサーによるライントレースロボットって? ラインを磁石テープにでもするのか?
>>855 そんなわけないじゃん こいつ死ねばいいのに!!!!!!!!!!!!!!!!!!
エ ド ス イ ン レ エ ト
>>859 そういう過剰な反応すると図星だったと思われるだけだぞ
>>858 そういうペンキがあったと思うが。
工場とかの用途でも自律型のロボットていうのはなかなか面白いな。
>>854 ここで聞くよりググッタ方がわかると思う。
× 磁気センサー側の回路の組み方、SCL・SDA端子は解るのですが、 ↓ ○ 磁気センサー側の回路の組み方、SCL・SDA端子は課題のレジュメに書いてあったのですが × atmega88側の回路の組み方や各端子の意味がよくわかりません ↓ ○ SDA/SCLをatmega88に繋いで回路を組め、という課題がありますが、 興味がないので調べる気力もありません × またatmega88のプログラミングはどのような環境で行うのでしょう? ↓ ○ またatmega88のプログラミングしろと書いてあるのですが、調べること自体が面倒なので、 掲示板に質問を丸投げしてみましたので、必ず回答をお願いします
つまんねぇ
つまらないのは確か。 だが、SCL、SDAと言われても… I2Cっぽい命名だが、センサのデータシートも一切無し。 それで、どうしろってんだと。
いやでもまあ、864の言ってる事が真実じゃないの。頭の悪い学生が 書きそうな「質問」の仕方だし。
まぁ、そこまで虐めちゃうのもどうかと思うけどw 自分で問題提起してあそこまで調べたら(SCL/SDA端子は判るとかまで言い切るほど知識があるなら) 「ATmega88と磁気センサとI2Cを使って接続したいと思っています。何か良い参考文献やサンプルとなる 回路はありますか?」とか聞くわな。 もっとも、そこまでたどり着ければ本家のアプリケーションノートにズバリそのままがあるから、自分で見つけ られると思うが・・・
プログラム環境なんか他人に聞くまでも無い事なので、 調べる気なんか端から無いということはわかる。
ADCよりI2Cのほうが難しいと思うよ。
>>855 >>864 が事実に一票
磁気センサを組めるならAVRなんて鼻くそみたいなもんだろ
ここまで出来ました、どうしてもここだけ出来ません、知恵を貸してください
これだと親身なレスが付きそうだが、質問が漠然としすぎ
>>871 >ここまで出来ました、どうしてもここだけ出来ません、知恵を貸してください
これが大事。
最近、高専/工業高校でAVRがはやっているところもあるから、 それだろうね。簡易な結果がわかりやすいトレースロボットだし。 大学だと、PICか、TIのDSPでデジタル信号系か、 学習実験ならZ80現役だろうし。
874 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/09/03(木) 00:29:57 ID:26m4MCFD
俺がATtiny2313を使って作ろうとして失敗したもの ・関数電卓 ・モールス解読器 ・ナンプレ ソルバー ・学研4bitマイコンエミュレータ
875 :
774ワット発電中さん :2009/09/03(木) 01:55:09 ID:tE9/0+qA
>>874 おまい、向いてない。
他の仕事さがせ、
2313で関数電卓はキツイな。 多分、Windows標準の関数電卓の半分も機能を入れられない。
877 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/09/03(木) 11:27:50 ID:26m4MCFD
半分どころか、浮動小数点演算のルーチンを入れただけでROM容量をオーバーするよ。 今までLCDの表示ルーチンと割り込みを使ったタイマールーチンしか出来てないけど この2つでROMを800バイト使ってしまった。 いまビンゴ・マシーンを作ってるけどまた失敗しそうな勢いです。
>>877 なんで2313でそんなもんばっかり作るんだよw
モールス解読器の方は頑張ればできそうな気がするからがんがれ。
あえて2313で作るからには、 技巧の限りを尽くしてやってたのかと思ったのに 普通に浮動小数点使おうとしていたのか。 そんなん無理に決まってるだろ。
浮動小数点四則演算担当2313 各種関数担当2313 LCD/keypad/電卓動作IF担当2313 に分けるとかw 冗談はさておき、mega88/168とか使えば? 168とかだと今度はグラフ書かせたくなったりするだろうけどw
881 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/09/03(木) 13:54:18 ID:26m4MCFD
デジットで買った780円のマイコン基板がたまたまATtiny2313用で それと一緒にATmega168も買ったけどピン数が違うのでその基板に乗せられなかったっちゅう訳です
>>873 このスレの先達の皆様方にはとうてい及びもしないレベルですが
高専生でロボコニストの私は制御にAVRを使用しています.
回路も簡単なものしか組まないし,開発環境にはgccがあるのでとても便利です.
AVRはアーキテクチャがシンプルで、ゼロからはじめる人も、楽に開始できる。 アセンブラレベルでの構築もやりやすい。 それゆえ、小型機から大型まで、いろんな場所で活用しているが、 俺の経験では、電源ピンにわずかなスパイクのヒゲが入ったりすると、 AVRがラッチアップして自己破壊する事故が多いと感じる。 ACアダプタの電源をつないだ直後の突入電流で、 接続した複数の5V系ICの中でも、AVRだけが燃えたことが、何度かある。 こういう症状は、たまにしか発生しないうえ、 過渡現象の捕捉診断がやりにくいから困り者だわ。 某USBゲームパッドの製造メーカーの中の人も、 Atmelの石はラッチアップしやすいと嘆いていた。 (これは厳密に言うとAVRじゃないけど、数多くの修理品の中で Atmel銘柄の8051系の石を搭載したモデルだけ、焼け事故が頻発するとのこと) というわけで、Atmelの製造する石自体が、異常環境での耐性が弱い 傾向があるようなので、最近ではラッチアップ対策を少し念入りに行っている。
>>883 私が作ったものはどれもtiny2313を使った車載のツールで、
高温・振動等非常に環境が悪いともいえますが、具体的にどのような対策をされたのか
教えてください。
モールス解読器はできるだろ。 長点と短点の判断さえできれば、あとはテーブルを引くだけなんだし。 LCDも4ビットあればドライブできるから頑張れ。 関数電卓は諦めろ。
>>885 関数電卓のボタンを押すアクチュエータを2313で制御すれば実現可能
so-netうるせーよ
>>883 ちゃんとICメーカーに不良解析レポートとか依頼しているの?
普通は販社通して依頼するんだが、ここに書いてウサ晴らしってことは
数が少なすぎて構って貰えないか、回路設計がデタラメのどちらかでしょう。
異常環境というか、USB電源やACアダプタとかでも起こりうると思うよ。 上の方にあるhidaspxにキャパシタ入れて解決するような話じゃない。 ほんとに安定してる?>入れた人
俺は2000年からAVRを使い始めてるが、
趣味の工作なのでH8やARMとかよりもよりも結構乱暴に扱っていて、
ラッチアップとか燃えたのは無いからなぁ。
スパイクノイズでリセットは普通にどのマイコンでもあるし。
>>883 には燃えた写真でも見せて欲しいものですが。
>>890 きっとライターであぶられていじめられた555みたいな写真がくると予想してみる
digi-keyにユーザー登録したら鉄アレイみたいなカタログが届いてびっくりした。 でも、ちょっとうれしい・・・
>>882 おぉ、懐かしい
NHKのロボコンってまだあるのかな
オレも昔は高専でロボット作ってた
学校泊まったり、仲間でワイワイ楽しかったぜ
いい思い出だ
オレん時はAVRみたいな良いモン無かったから精々OPアンプとかリレーで頑張ってた
ということでオッサン達に何でも聞いてくれ
オレ以外の誰かが答えるに違いない
ちょっとどころじゃねーだろwww
PICなら余裕なんだろうな
内蔵の1.1V基準電圧ってあまり精度よくないな
>>897 VINT (内蔵基準電圧) Min1.0V Typ1.1V Max1.2V
AREFに温度補正付きのリファレンスICで基準電圧与えてあげなはれ
>>896 PICって昔パソコン通信で流行った時の画像形式?
つまんね
やねうらおとか2313を100個使って何かやろうとしてたけど、 結局何かできたん?
在庫ができた
やねうらおってエロ本著書出してる人?
つーか元々エロゲも作ってた人だよ まあそんな話はどうでもよくて、 あんなもの100個も買って何作ったのかなと
推論システムだろ。 100通りの答えを同時に導いて、類似性を判断して多数決で決定するっていう 文殊の千重さ。
ああ、いいとものアレか
プロはAVRにエロスを見出すことができる
attiny2313は速度の遅いPLD感覚で使えるのがいいね。
抵抗は無意味だw
912 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/09/05(土) 01:48:42 ID:DcPst+iG
ATtiny2313って以外と応用がきかないよね。 コードの効率が悪いのに加えてプログラムメモリーの容量が少ないし レジスタの数がやたら多いのでRTOSを走らせたらコンテキストスイッチングにやたら時間がかかるし っていうかRAMが少なすぎて運がよくて2つくらいのタスクしか走らせられないし おかげで俺が作ろうとした物が事如く失敗だよ。
ほんの数年前までは、みんなAT90S1200をゴリゴリつかいこなしてたんだけどな。 作品も、ネットを探せばたくさん出てくる。スタック2段、32byteのパズルあそび。 90S1200と比べれば、なんて自由度の高いチップだこと>2313
914 :
774ワット発電中さん :2009/09/05(土) 02:31:37 ID:99LnMTox
>>912 自分用途のコード量やRAM容量の見積もりが甘い、出来ない事を自慢されても。
まるでtiny2313が悪いかのような口ぶりに笑った
2313でWindowsを走らせようとしてる人がいるスレはここでつか?
うーん、何か言おうと思ったけど 釣りか?やっぱり 言いたい事はいっぱいあるけど 向こう側でニヤニヤされるのが業腹だ
918 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/09/05(土) 08:11:08 ID:DcPst+iG
そんなに言うなら、お前らが2313で作った物を晒してみろよ。 メモリーが足りなくて失敗したのが山ほどあるんじゃないの?
>>918 やりたいことが先にありきだから失敗するようなプロセッサの選択はしてない。
従って、失敗はないからうpも出来ない。
tiny2313を先に買って、さて何をしようかと考えるから失敗する。
>>918 AT90S1200 → AT90S2313/AT90S2323 って使ってきて
最近はATMEGA168使ってる。ATTINY2313って使って無いな。
>>918 リモコンとか、試作回路のテスト用の信号発生源だったり。
スイッチを分散配置するシステムとか(通信して情報を取得)。
小さな回路 + Tinyで、インテリジェンスなユニットとして補助的につかう。
922 :
sage :2009/09/05(土) 10:42:35 ID:pKp7K4+a
>>918 tiny2313とmega168を使い分けている。
器を用意してから何を入れるかを考えるのか、君は。
入れるものが先にあって、器を買ってくるのでは?
器の大きさが自分で想定できないなら、まずは大きめで練習すればいいのに。
そのあと小さい器へ移植するのが常識だろ。
まぁ今時なら、そこまでケチらなくても、RAMつきの良質なチップが
安価に出ているので、こだわりがなければそのままでよいと思うが。
DcPst+iGは、
>>629 からいろいろ試行錯誤してるようだが、
同じような失敗ばかり何度も繰り返していて、学習能力もない。
このスレを「so-net」で検索すると、奴がいかに無能かがよくわかる。
あるいは、2313ありきの基板を学校で用意されて、夏休みが終わるまでに
なにか作ってこいと言われている、典型的な宿題坊やの可能性も高い。
昔、2313をI2Cスレーブにしようと思ったけど、デバイスIDがあるから 扱い辛くて効率も悪いしコード量的にもUARTやSPIの方がいい。 何個も繋げる事を考えても138あたりと組み合わせてSPIでいい。 結局I2Cを使うケースはマスター側で既に何か繋いでる場合ぐらい しかないことに気づいた。
2313が100円だからこだわってるというわけではないのか?
I2Cでマルチドロップにしてデバッグ用のポートにしたときは便利だったな
2313手元に汎用ICが無いときの代用に便利だよ
928 :
774ワット発電中さん :2009/09/05(土) 12:51:13 ID:vFgsLapz
一つ10mSで100110111...と続く信号があるのですが、どのように測定したらいいでしょうか? なにかいい案がありましたらお願いします。
また課題丸投げか そのまま留年していたほうがいいんでない?
930 :
774ワット発電中さん :2009/09/05(土) 13:16:40 ID:b/SWzwF6
>>928 SHIFTINを使って、
SHIFTIN PIN#.$ , PIN#.$ , % , & [, * ]
#にポートピンの名(AからF)
$にポートピンの番(0から7)
%に変数名(データ入力用)
&にクロックをどうするか 外部クロックの立ち上がりでMSBスタートの5でいいと思う
*に入力するビット数 [, * ]は外しても良い
こんな感じでどう?
俺も最近この手のに手をつけてないから不安だけど、これで行けると思う
>>928 ロジアナで測定するのが一番楽だよ。
学校の実験室にあるでしょ。
AVRのATmega644pを使っているのですが、PORTBをすべてON OFFを繰り返して LEDを点滅させてみたのですが、 PB0はかなりの光度で光り、PB1〜7まではすごく儚い光度でしか光りません・・・。 なにが原因か皆目つかないので、だれかご教授お願いできませんか? 電源は安定化電源から入力しているので、アンペア不足ではないのですが。
追記です。 ATtiny2313でも同様な事が起こりました・・・。
データシート読まない、または読み方が判らないのが原因 光度が必要ならLEDを直接ドライブなんてするのはやめとけ
DDRを正しく設定してないんじゃね?
>935に一票 DDRB=1; と書いてポートBが全ピン出力になってると勘違いしてる気がする
トラブルシューティングの基本 原因範囲を狭めていく 例。PB1を単独で光らせて見る →同様に儚い高度 PB1の回路、設定の見直し →かなりの光度で光る 全体の問題、電源や負荷合計をチェック
テスターではかればいいじゃねーか
>>918 so-netうるせーっていってんだろw
940 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/09/05(土) 20:54:58 ID:DcPst+iG
ろくな製作例も示せない奴はいばるんじゃないよ。 アホ! 俺がATtiny2313を使ったのは、たまたま格安でボードのKITが売られてたから買っただけで 実際に使ってみて使い物にならない事が良く解ったよ。 おまけに電源ラインの配置が他のAVRと違うから差し替えもきかないしな。 道理で安い訳だ。 というわけでATmega168のボードのKITを買ってきたけど、こっちは 値段が倍以上するんだよなぁ。 まぁすぐに328に差し替える事になるんだろうけどね。
初心者だけど、2313でプレステ2のコントローラ作った。 全く問題なく動いてる。
安かったからとりあえず買って使ってみるってのは間違ってないけれど、 使えなかったからって愚痴るのは恥ずかしいぞ。
943 :
774ワット発電中さん :2009/09/05(土) 21:41:28 ID:lDWCI8b6
初心者スレが過疎ってるのでこちらで質問させてください ATmega88でカラーLCDの表示を行っていたのですが挙動がおかしいので いろいろ調べたところ、出力ポートとして割り当てているPORTCの一部が動作していないようです。 すべてのポートに周期的にH/Lを切り替えて出力し、LEDをつないで調べたのですが、PORTB全て,PORTD全て,PORTCの0, 4ではちゃんとLEDが点滅するのですが、PORTCの1,2,3,5,6がずっと消灯したままです。(PC6はRESETなので当然ですが。) PORTCを出力ポートとして使うにはDDRC=0xFFとする以外に何か設定でも必要なんでしょうか?それともmega88が逝ってしまっているのでしょうか? 心当たりとしましては、3.3Vで動作させているときに5VのUSBaspで書き込みをしてしまったことがあります。 まとまりのない文章ですみませんがよろしくお願いします。
>>943 >3.3Vで動作させているときに5VのUSBaspで書き込みをしてしまったことが
たぶん、それくらいじゃAVRは壊れないと思うけど、
そんな心配するくらいなら、予備のAVRに差し替えてみたら?
同型ICが何個かあっても損じゃないし、それによってトラブルシュートの
原因が1つでも潰せたほうが得策かと
AVCCの電源を供給していないんじゃないの?
>943 うっかりミスってこともある。 DDRC=0xFFは間違いないか? DDRC=0x11にしてないか? プログラム中のどこかでPORTC= をDDRC= と書いてないか?コピペミスとかで。 「周期的にH/Lを切り替えて出力し」…PORTC=0x11と0x00の繰り返しになってないか?ビットシフトの勘違いとかで。
>>943 データシート見るのメンドイから適当言うけど、ポートCって他の信号と共用じゃない?
USARTとかかぶってない?
ヒューズがおかしいとか大丈夫?
948 :
943 :2009/09/05(土) 23:39:28 ID:lDWCI8b6
原因がよく分からないんですがいつの間にか解決しました。 たぶんプログラムのうっかりミスか、ブレッドボードで組んでるので接触が悪かったとかそんなことだと思います。 予備がなかったのでともかく壊れてなくてよかったです。 皆様ありがとうございました。
949 :
943 :2009/09/05(土) 23:47:50 ID:lDWCI8b6
ところで
>>3 .3Vで動作させているときに5VのUSBaspで書き込みをしてしまったことが
>たぶん、それくらいじゃAVRは壊れないと思うけど、
結構アバウトで大丈夫なもんなんでしょうか
アバウトっていうよりも、AVRは5Vも定格範囲内だから 耐えてくれるという意味合いもあるんでは?
951 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/09/06(日) 02:54:06 ID:fNOLExgG
>>941 2313使いでマトモな製作例の書き込みを見たのは、おまいが初めて
威張ってる奴は多分失敗しまくってマトモに使いこなせてないんだろうな。
>>949 多分入力のクランプダイオードを通って5Vが電源ラインに流れ込んだんだと思う。
俺も別のCPUだけど電源が入ってないマイコンボードがまともに動いてるのを見て
ビックリした事あるよ。
でも入出力に過剰な電圧がかかるとラッチアップしやすくなるので気をつけた方が良いと思う
>>951 威張ってる奴って自分のことだよね?
間違いなく使いこなせてないし。
そんな自己紹介要らんよ。
激しく同意w
ブレッドボードってトラブルの元にしかならない気がする
>>951 とりあえず、so-netくせーからひっこんどけw
>>954 ちょこっとした回路を試すには便利だと思う。
自分は今のところトラブルは未経験です。
958 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/09/06(日) 08:27:27 ID:fNOLExgG
わざわざIDを変えて書き込んでる奴がいるな。 AVRが使いこなせないで僻んでるの? わざわざ高い金を出して買ったツールが埃被って悔しいのう 悔しいのう
960 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/09/06(日) 09:13:54 ID:fNOLExgG
>>959 AVRのプログラムも作れない奴が何故ここでたむろしてるのか興味があるだけ
過去の書き込みを読み帰しても上から目線で書き込んでる奴に限って
具体的な実例や自分の経験を示せてないんだよな。
「スキルは無いけどカッコだけはつけたい」っていうくだらない奴なのかもしれんけど
>>960 私からみたら貴方も同類項でくくれそうですよ。
喧嘩の売買はヤフオクなどでどうぞ
みんな2313のアセンブラは何を使ってるの? それとも高級言語使用? おいらのアセンブラ、昔、秋月で購入したものだけど、Wim98だとエラーでるんで 古いノートのWin95に入れて、使ってる。ここにきて、Win95ノート中古PCのパーツが 壊れてきて困っているんだよね。
>>963 2313ならCで書いてますよ。
1200のときはアセンブラでしたけど・・・
965 :
774ワット発電中さん :2009/09/06(日) 10:08:43 ID:9z5Iz33C
>>ID:QC/0wkrN
俺から見たらお前も同類でくくれそうだよ
>>963 avr-gccの中に入ってるアッセンブラーを使ってる
小規模なアプリだったらC言語も使えるけど2313には荷が重いというのが
過去の書き込みを読むとよくわかる(笑)
>>884 883じゃないけど電源投入時のスパイクは16V/10uF以上のMLCCとツェナーを抱かせれば
大抵事足りる。細かい部分を突き詰めるのなら部品定数は使用環境に合わせて十分吟味すべし。
4度も違う内容で計画したのに、見積もりが甘くて全部失敗してる
>>874 は超うける
1200はアセンブラ。gasとCプリプロセッサ。
2313と上位はgccとgas。
gcc 4.4は4ビットシフトでswap使ってくれるよね。
>>963 秋月ライタ付属のアレの後継というか、AVR StudioならAtmelが
配布してるでそ。おいらはUnix環境なんでAVR Studio使ってない
けど、Windowsな人ならWinAVRとAVR Studioの組合せが定番なんじゃ
ないかな?
こんな質問ここでしていいのかわからないけど、 PIC24F@32MHz(16MIPS)と、 mega328p@20MHz(20MIPS)ではどっちが速いですか? このMIPS値というのがよくわからなくて。 秋月近辺で買える手ごろな28PIN-DIPなMCUを探しています。 ライタ環境は両方とも持ってます。
>969 異なるアーキテクチャ間でMIPS値を比較する意味はほぼ無い。
SPIをよく使うので、他が遅くてもSPIクロックが速い方がいいです。 PIC24FJ64GA002のデータシートを見ると、 fcy=FOSC/2で、SCKはfcy/2までしか設定できないらしいので 8MHzが最高ということでしょうか?ここだけ見るとmega328pの方が良いですが、 24Fの16bit演算がどれだけ影響するのか気になります。
>>963 2313はCとアセンブラ両方使っていたな。
最初はアセンブラでたくさん詰め込もうかとか考えたけど、
手段と目的が逆転しているのに気づいて、入らないと思ったものはmegaシリーズに引っ越した。
>>969 速いかどうかということだけ言うならそのまんまMIPSで考えればいいけど、
結局コードのかきやすさ(Cで書くにしてもできあがりに影響有り)などで影響される。
両方のコンパイラ環境を入手して、使いたい用途のサンプルプログラムを作ってコンパイルしたら?
SPI速度基準で選ぶときは俺はARM使うから8bitクラスは感覚が分かんねーが...いずれにせよ、 SPIで8〜10Mbps(1MB/s)のストリームを受け取って何事か仕事させるには20MIPS程度では ちょっと非力だと思う。 正弦波をROM読みだしでなく逐次生成するのがやっとくらいの時間しかねーぞ。何させるつもりだ。
974 :
963 :2009/09/06(日) 18:24:27 ID:2OsLpTNM
>>964 ,965,968,972
レス、拝読しました。
アセンブラとそれ以外を使い分けてるんだね。
AVR Studio と avr-gcc か、早速探してみることにするよ。
みなさん、ありがとう。
秋葉行って来ました。
28DIPだとdsPIC33FJ32GP202以上のものは売ってないですね。
そのまま帰ってきました。
>>973 SPIのLCD、SDC、NIC、RAM、キーボードとかを繋げて
乾電池で動く小型PCもどきを作ってます。
今のところ厳密にどれだけ速度が要るってことはないので
コンパイラ制限のないAVRで進めてます。
NICの石つないで乾電池で動くか? 単三で6本くらい?
おいらが作成したのはほとんど車載用のツールですよ。 ドライブモード時にパドルが使えるパドルシフトのコントローラとか秋月の加速度センサーと組み合わせて、 緊急ブレーキ灯点滅コントローラとか。 回路的に焼いてしまうという失敗はもちろんありましたよ。 こんどはCANを解析してみようかと思ってます。
>978 うん。それを想定して訊いた。やたら大食いの印象があったので電池駆動いけたっけって。 3.3V 180mA、単三2本で10時間てとこか。4本ならまあなんとかいける?
相変わらず so-netマンはヤカマシイなw TQFPのmega64をハンダ付けして使ってみたけど、 色々面白い事ができそうだ〜
AVRstudio+Wingccで共に最新版を使って、コーディングしているのですが、 AVRでSDカード+FATを使いたいのですが、 WEB上にあるAVRのFAT16/32のライブラリを5種類ぐらい試してみたのですが、 すべてundefined reference to 'XXX'と出て、使えません・・・かれこれ3日ぐらい悩んでます。。。 こっちが原因かもしれないので、このFATライブラリはちゃんと使えるぜ!みたいな物を紹介してもらえないでしょうか?
link
Mega128とMega8/16/32がディスコンになってます〜 代替品はそれぞれMega128AとMega8A/16A/32A〜 3.3V品/5V品の統合が主目的の様で。 後AやPAになってない普通Megaは162/8515/8535と640系ぐらいか…
>>982 PCで文かくと 〜ですが、〜ですが、〜ですが、ってなりやすいのは分かるけど
実況板じゃないんだし、書込み前に一回くらい読み直したらいいのに・・・
で質問の件
公開してるんだから、どのライブラリでも大抵使えるでしょ
とりあえずChanさんはガチ
XXXじゃわかんねぇよww 定義されてないんだろとしか言えんwww
>>982 そのライブラリに、他にリンクが必要なライブラリとかヘッダファイルについて記載があるんじゃないか?
そしてそれを満たしていないというのが2番目に多いundefined referenceの原因だと思う。
一番多いのはスペルミスか。
>>983-986 読みにくくて申し訳ありませんでした。
Chanさん(ぷちFatFs)のも使って見ましたが、 undefined reference to ' '
と出て、使えません。
ソース
#include<pff.h>
int main(){
disk_initialize();
return 0;
}
989 :
988 :2009/09/07(月) 09:48:55 ID:m6e4rcdB
エラー内容です。 Build started 7.9.2009 at 09:47:13 avr-gcc -mmcu=atmega644p -Wall -gdwarf-2 -std=gnu99 -lm -DF_CPU=1000000UL -O0 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT mmcsd_test.o -MF dep/mmcsd_test.o.d -c -lm ../mmcsd_test.c avr-gcc -mmcu=atmega644p -lm -Wl,-Map=mmcsd_test.map mmcsd_test.o -o mmcsd_test.elf mmcsd_test.o: In function `main': C:\works\MMCSD\default/../mmcsd_test.c:4: undefined reference to `disk_initialize' make: *** [mmcsd_test.elf] Error 1 Build failed with 1 errors and 0 warnings...
pff.hが参照できてないだけ ぷちfatfsのsrc内のファイルをソースと同じディレクトリにおいて#include<pff.h>を#include"pff.h"にするだけで使える
解決したね。
994 :
988 :2009/09/07(月) 10:35:34 ID:m6e4rcdB
>>990 undefined reference to `disk_initialize' のエラーはmmc.cを一緒にコンパイルしたことで、消えたのですが
undefined reference to `rcv_spi'って出て。。。。そしてぷちFATfsのどこにも、そんな関数名がないんです・・・orx
mmc.cってのが何なのかわからないが ぷちfatfsのページにあるsampleprojectってやつだとしたらその関数はusi.Sというファイルにあるね
996 :
988 :2009/09/07(月) 10:49:01 ID:m6e4rcdB
どうやら、chan氏のHPにあったサンプルファイル内にrcv_spiが記述されたアセンブリファイル(usi.S)があるけど、makefileに ASRC = usi.Sって書いてもうまくいかない・・・
なんか、winavrっていうかCの使い方の根本を判ってないような気がする・・・
>>996 コンパイル済みのモジュールかライブラリが添付されていて、それをリンクしなきゃいけない奴じゃないの?
ライブラリの名前と入手先でも晒すと分かるんじゃない?
あ、ChaN氏のものか。 あとで覗いてみる
1000 :
pd5d8e0.osakff01.ap.so-net.ne.jp :2009/09/07(月) 11:03:38 ID:ih52joVS
自分で作れって事じゃないの?
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。