1read 100read
2011年12月1期電気・電子36: AVRマイコン総合スレ Part22 (946) TOP カテ一覧 スレ一覧 2ch元 削除依頼


AVRマイコン総合スレ Part22


1 :11/09/01 〜 最終レス :11/12/02
           _____
         /       /|
       /   ( ゚∀゚) /.∠フ   個人でも手軽に使える
     /       /.∠フ || . Atmelの8-bit RISCマイクロプロセッサを
   /  __    o/.∠フ ||    中心に語るスレッドです。
 ∠| ̄ ̄凵 ̄ ̄|∠フ ||     *AAは「AVR H8 etc. マイコン総合スレ Part3」からいただきました。
 .|| |_____|/||
Atmel AVR 8-Bit RISC     http://www.atmel.com/products/avr/

2 :
◎前スレ◎
Part21 http://kamome.2ch.net/test/read.cgi/denki/1303948383/
Part20 http://kamome.2ch.net/test/read.cgi/denki/1290517183/
Part19A http://kamome.2ch.net/test/read.cgi/denki/1284117177/
Part18 http://science6.2ch.net/test/read.cgi/denki/1267885927/
Part17 http://science6.2ch.net/test/read.cgi/denki/1261051995/
Part16 http://science6.2ch.net/test/read.cgi/denki/1252285807/
Part15 http://science6.2ch.net/test/read.cgi/denki/1247238097/
Part14 http://science6.2ch.net/test/read.cgi/denki/1239940189/
Part13 http://science6.2ch.net/test/read.cgi/denki/1231687664/
Part12 http://science6.2ch.net/test/read.cgi/denki/1223778551/
Part11 http://science6.2ch.net/test/read.cgi/denki/1212840469/
Part10 http://science6.2ch.net/test/read.cgi/denki/1203495784/
Part9 http://science6.2ch.net/test/read.cgi/denki/1192625746/
Part8 http://science6.2ch.net/test/read.cgi/denki/1177933605/
Part7 http://science6.2ch.net/test/read.cgi/denki/1162464623/
Part6 http://science4.2ch.net/test/read.cgi/denki/1148195387/
Part5 http://science4.2ch.net/test/read.cgi/denki/1125327648/
Part4 http://science3.2ch.net/test/read.cgi/denki/1108290187/

3 :
<参考になるページ>
・AVR-wiki  http://avrwiki.jpn.ph/wiki.cgi
       もう一つのリンク先
       ttp://himitsu.jpn.ph/avrwiki/wiki.cgi
・AVR情報多い-chanさんのpage
  http://elm-chan.org/
・avrfreaks.net avrgccその他AVR関連の総本山(英語)
  http://www.avrfreaks.net/
・レディオテクニカ有志による 翻訳版 AVRデータシート・AVRツールの解説書
  http://homepage1.nifty.com/radio_tech/
・TAP-Config
  http://ww2.tiki.ne.jp/~maro/
・自分で作ってしまえ!電子工作スレッドテンプレート集
  http://jbbs.shitaraba.com/bbs/read.cgi/study/3329/1067910158/
・AVR.jp (HERO'S Downloadから分離?) 有志による日本語のAVR資料他
  http://www.avr.jp/
・ATMega168日本語データシート(翻訳中)
  http://awawa.hariko.com/chira-ura/

4 :
LDI  1、乙

5 :
>>4
しまった、15までLDIでは乙できない w

6 :
>>1 おつ
>>5 wwww

7 :
>>3
レディオテクニカ有志〜 は外した方がイイのでは?
現在、AVR情報は無いみたいだよ

8 :
>1乙
・AVR.jp (HERO'S Downloadから分離?) 有志による日本語のAVR資料他

これも説明がスッキリしないから書き換えた方がいいな

9 :
前スレででてたUARTでLCD制御(UARTモニタ)をtiny2313で作ってるけど
いろいろ問題出て苦戦中。
最初は送り側もAVRで作ってるのでどっちのバグかわからなくなり混乱。
それが治ったので
過負荷試験として38.4kbpsで目いっぱい送って、止めたあと
受け側のボーレート変更ボタンが効かなくなるとかorz

10 :
>>9
どうせなら自動判定を目指そう!>ボーレート

11 :
電卓が出たので聞きたいのですがボタンを押してカウントしていきそのカウントした数字をLCDに表示。そのカウントした数字とは別にカウントした数字と割り算したり掛け算したりできますか?カウントも四桁カウントできれば良いのですが…
もし参考になるようなサイトがありましたら教えて下さいm(_ _)m

12 :
>>11
前スレ922を参照
http://kamome.2ch.net/test/read.cgi/denki/1303948383/992

13 :
カウントってのは電卓のように沢山ボタンがある訳じゃなさそうだが、
Tiny電卓みたいなのを作りたいのかな?

14 :
>>10
ボーレートの自動判定ってどうやるの?
スタートビットの最小幅から推定する?
0xaaを送るとか?

15 :
ビット幅で求める場合、UARTをPORTB0で受けるとして、
cli();
while (!(PINB & (1<<0))) ; // LOWの間待つ
while ((PINB & (1<<0))) ; // HIの間待つ
// LOW期間を調べる
wait(); if ((PINB & (1<<0))) goto BaudrateA;
wait(); if ((PINB & (1<<0))) goto BaudrateB;
wait(); if ((PINB & (1<<0))) goto BaudrateC;
wait(); if ((PINB & (1<<0))) goto BaudrateD;
sei();
を数回繰り返して一番短いやつを選ぶのかな

16 :
>>13
Tiny電卓を調べてもちょっとわからなかったのでなんとも言えないのですが交通量調査で使う数える機械が何連も重なった感じのデジタルバージョンで数えた数字どうしを掛け算したり割り算したりしたいのです!
わかりにくい説明で申し訳ありません!

17 :
できるかできないかっていったら当然できる
お前にできるかどうかはわからんけどとにかく実現はできる

18 :
ATコマンド

19 :
>>16
雰囲気は理解した、AとBの変数それぞれにスイッチ一個でいいのね。
9999って入力に一万回も押さないだろうから、時間間隔を測定して判断しないとならないね、
タイマー割り込みでハンドラ内でスイッチをサンプリングして変数に逐次還元かな。
SWオフから次のオンまでの時間が0.5s未満なら数字をinc以上なら10倍して次の桁へ
1s以上なら変数をクリアみたいな条件ですかねぇ。

20 :
lpc-11xxだと0xffをループさせる経路があるな

21 :
>11
uint16_t n=0; ←0〜65535がカウントできる
while(1){
 ボタン入力を監視して変数nをカウントアップ;
 nの値をLCDに表示;
 nの値を使って掛け算、割り算、好きに計算 a=f(n);
 計算結果aをLCDに表示;
}
こういうことがやりたいの? だったらこれで完成。

22 :
SDカードなんかだと短いと10年そこらでデータ消えるって話を聞いたけど
マイコンのフラッシュメモリはどうなんだろう
単体のEEPROMなんか100年持ちますなんて書いてあるけど

23 :
>>22
SDとかはMLCで容量重視だから。
マイコン個別の情報を知りたいならデータシート参照。
大抵はFeaturesの最初の方にドヤ顔状態で書いてある情報だが…

24 :
多値化したフラッシュは寿命予測が難しいみたいね

25 :
直った。疲れた

26 :
>>25
お疲れさんw 原因なんぞ?
>>21
秋月のキャラ表示LCDだと
そのループは5Hzくらいになってスイッチ読めなくなりそうだ

27 :
Cで書いているんだけどmainで一番深くネストしたところでタイマー割り込みが起こった時
ボタン監視関係の変数をスタックオーバフローで壊していた模様。
プログラム変更してアセンブラリストで確認して、再現試験して再現しなくなった。
多少まだ問題は残ってるけど、38.4kbpsでウェイトを入れて平均20kbpsぐらいの負荷では問題ないから、
まあいいかってことで明日、ケースに組み込んで完成の予定。

28 :
2313かw あるね、スタック使いきり。
あんまし多機能なことはやらんくなるねw
箱庭の美学もあるけど、目的達成が第一義。

29 :
>>26
>>21は処理の流れ・考え方を示したものだろうけど特におかしいとは思わないな
5Hzってなぜ?
マイコンが1kHzとかいう条件だったら自分が話を追えてなくてスマン
8MHzで動いてるとしたら、
スイッチの入力は100ループ(適当)に1回とかで見ればいいし、
掛け算・割り算で異常に時間がかかる計算内容なら、そこは別の話だし、
と考えたんだけども

30 :
スイッチが複数ある前提だから、ちゃんとタイマー割り込み使わないと、まともに
動かないでしょ。

31 :
そういえばAVRStudioにはRunesus20万円のスタック解析ツールみたいなデバッグツールないのかな

32 :
スタック解析で20万か
面白いね

33 :
>>30
スイッチを読む、と言う処理がその辺も含んでいるんだろ。
タイマー割込で定期チェックして、連続ON回数をグローバル変数に書き込み、
メインループはその変数を参照して、一定数以上になっているのをスイッチを読む操作とすればいいんじゃないか?
スイッチのリピートを避けるなどでもう少し複雑になるだろうけど。

34 :
>>29
マイコンは10MHzなんだけど、今使ってるライブラリ見たら4bit接続でリード非対応で無茶苦茶wait入ってたですw
1コマンドで数ミリ消費で数十桁書くとそのくらい遅くなるんです、
周波数も限定してないので多めにwaitしてそうだった。
暇なときチューンしてみます。
話は変わりますが、
http://jp.mouser.com/Search/ProductDetail.aspx?qs=LU7oW20kJpPfAyMyuf92FA%3D%3D
無線LANモジュールってコレが一番安いですかね?
microchipなのが残念ですが・・・

35 :
電波法まわりは大丈夫なのかい?

36 :
自分で回路組むんだから、出力を微弱無線局の範囲内にしておけば技摘もいらんし、
あまり気にしなくてもいいんじゃね?
2.4Ghzだと35μV/m制限で、10mくらいしか通信できないらしいけど・・・

37 :
10mならBlueTooth-C2級じゃんよ。
うちの微弱マウスは、20cmくらいだよ。

38 :
2.4Ghzの微弱で10mも飛ぶかな
規制の緩い350Mhzでも真面目に対応したら10m越える程度なのに

39 :
ノイズ環境や受信側の感度、フィルタ能力、ビットレートとかいろいろ絡む
ビットレートに関しては、トラ技の9月号(特集が無線通信)によると、
「計算上は伝送速度を1/2にすると、通信距離を√2倍にできます」だそうだが

40 :
無線LAN用と言ってるしWiFi用のモジュール選んでるから
距離については目的に叶うものなんだろ

41 :
>>35
その国での基準をみたしてないとmouserが販売を拒否するとかなんとか、
きいたことあるような。

42 :
電車の床に高周波マット敷いて人ごとの静電容量検地して痴漢発見とか出来んかね。
ドアとかパイプを樹脂に替えないとアカンけどw
アベックは乗るなよ

43 :
携帯に静電容量ログ機能をつけて身の潔白という手もあるか・・・

44 :
電池切れを検知するのに、電源電圧を分圧してADコンパレータを使うことを考えていたけど、AVRマイコン自体が
VCC監視してるんだから、ブラウンアウトリセットとか使えないかな?

45 :
自分も電池を監視してそろそろ充電してくださいよってLEDで表示したいと思ってたんだけど。
brown-outしちゃうともうLEDで表示することできないですよね?なんか簡単な方法ないですかね?

46 :
電池切れの監視が電池を消費し過ぎ

47 :
検査時だけ通電させればいい

48 :
素直にAD使えばいいじゃん
>>44
ADコンパレータって例のコンパレータ使ったADコンバータの俗称とか?
ただの間違いか・・・

49 :
PIC感覚で、ADコンバータと言ってしまった
ADコンバータだよね

50 :
>>34
http://www.amazon.co.jp/gp/aw/d/B0047Y7NFU/ref=redir_mdp_mobile/375-8216669-6026513

51 :
秋月に 2313×18個(@90) 注文したら
大きな MICROCHIP の箱に入って届いたでござる

52 :
今avrwikiってどうなってるの?
wikiwikiのミラーも落ちてるようだし

53 :
きょうもまたgccの吐き出すコンパイルエラーメッセージに翻弄されたのであった

54 :
>>53
コンパイルエラーが出なくなっても安心するなよ。そこがスタートなんだw

55 :
2つのATtiny2313を16MHz水晶で動かしたい場合、
片方を水晶発振にしつつ、PD2のCKOUT出力を有効にして、
もう片方を外部クロックにしてCKOUT出力を受ければ、
水晶1個で済むと考えて良いですか?

56 :
>>55
データシートで確認を。
http://www.atmel.com/dyn/resources/prod_documents/doc0839.pdf
Note: When using the MCU Oscillator as a clock for an external device, an HC buffer should be
connected as indicated in the figure.
バッファを噛ませと言ってますね。

57 :
>>56
ありがとうございます。
でも、それは水晶発振から直接取り出す場合ですよね?
PD2のCKOUT経由でもバッファリングされてないってことなんですかね?

58 :
>>55
むしろこうできないのか
[AVR1}=[水晶]=[AVR2]

59 :
>>55
基本はそれで良いはず。
普通のマイコンではそうやってた。

60 :
>>57
ごめん、ATtiny2313か、AT90S2313をみてたわw
http://www.atmel.com/dyn/resources/prod_documents/doc2543.pdf
こっちだな。
CKOUTピンについては特に何も書いてませんね。
たぶんバッファ内蔵だろうとは思うのですが・・・・

61 :
バッファというか発振器自体に出力(ファンアウト)求めちゃだめだろ…

62 :
まあ何も書いてないってことは、発振ユニットのように使っていいってことかな?

63 :
分周したクロックが出るって書いてあるし、少なくとも発振器から直に出てるわけでは無いだろ
逆に、バッファが必要なら必ず書くだろうから、普通の出力ピンと同じ扱いでいいんじゃね

64 :
ありがとうございます
試してみたらうまくいきました
50円浮きました

65 :
TWIやっと動いた。

66 :
そういえばTWIでマルチマスタってやってる人いる?
昔試したけど、いまいち正しい動作なのか判らないのでお流れになったYO

67 :
アトメルのTWIはマルチマスタで失敗するとかどこかで見たような。
ソフトウェイトを噛ませないとダメとかなんとか

68 :
これね
http://www.robotroom.com/Atmel-AVR-TWI-I2C-Multi-Master-Problem.html
割り込みのオーバーヘッドをちゃんと見積もって
停止条件後に一定の間隔を開けろってことかな

69 :
>>67
アトメルがというより普通の場合はそうなる。I2Cはデータ線1本なので。

70 :
やっぱAVRでクイックソートは無謀だった。

71 :
>>69
> アトメルがというより普通の場合はそうなる。I2Cはデータ線1本なので。
送信元が 2 つあったとして、0 と 1 を送出したときに 結果が 0 だから
1 を送出した方が コリージョンを検出して引く仕様。
SCLの方も送信元が複数あっても問題ない仕様になっている。
仕様を満たすような設計なら、問題起きないはずなんだが...

72 :
つかqsortするほどRAMが無い

73 :
>>71
マルチマスター停止条件と開始条件との間は、
スレーブのストレッチのような強制ができない。
通信相手の処理時間を考慮する必要がある。
これはTWIに限らず、マイコン同士のSPI通信とかでも発生する問題。
I2C仕様書には、
『STOP』条件と『START』条件との間のバス・フリー時間がMIN=1.3usと
書いてあるけど、これはAVRのTWI機能を使って素朴に割り込みで
処理するには短かすぎるという事。
おそらくアセンブラでカリカリチューンしてもギリギリ。
カリカリのギリギリ

74 :
ところでUSIでマルチマスターは可能なのかな?
一応それらしいフラグとかあるけど、
これってほぼソフトでやれってことなんかな?

75 :
AVRWRT3でるのな

76 :
これな
ttp://blog.digit-parts.com/archives/51728501.html

77 :
店員乙w
HVP対応だったら買うんだけど

78 :
店員ブログで内臓って書いてるのかぁ
オンマウス辞書くらい入れてガンバレ

79 :
また・・・手持ちのライターが増えるのでつね・・・

80 :
ところで皆さん仕事以外で何作ってますか?
漏れは今チャイム時計作ってます。
チャイムをFM音源にしてエンベロープつけようとしてはまってます。

81 :
もちろん、AVR ライタです。(キリッ

82 :
2313が安すぎるから汎用ロジックの代わりとかが多い
バッテリー用レベルメータとか、クロックオシレータ代わり
たまにはAVRメインでなんか作りたいな

83 :
最近始めたばっかりなんで、完成したのは停電非常灯とシリアル温度計
いまドットマトリクスLEDで時計作ってる
ライタは純正しか持ってないけど、やっぱ1つは作らないとダメ?w

84 :
予備はあった方がいいと思う

85 :
STK500と強化Dragonがあるから必要ないけど
いつか作りたいなw
というか、他に作らなきゃいかんもんがいっぱいあって手が回らん。

86 :
秋月以外でAVRマイコン安く変えるところない?

87 :
>>83 停電非常灯って、同じような物作った。
ラジオと停電灯両方動作するものだったがリレー駆動だったので電池食いすぎで
実用にならなかった。ホトMOSリーレー版に改造する予定でそのままになってる。

88 :
>>86
無い。秋月以外では捌けないぐらいの量を仕入れてるから
他社があの安さに追従するのはほぼ無理

89 :
>>86
マルツは?

90 :
むしろ秋月を排除する理由が知りたい

91 :
>90
店頭で店員のブッキラボーな態度にブチ切れたと思われw
あれがイイのに・・・。

92 :
>>86
デジ

93 :
初心者丸出しの質問で申し訳ないが、
マイコンに電源をつなぎ、どこかのピンにLEDや抵抗をつないだ場合、そのピンに電圧が出力されていなくても(なんならそもそも出力ピンじゃなくても)回路は絶縁されずにつながってるの?
マイコン側で出力をしない限り、ピンからの電流流出をなくしたいんだが…
プルダウン用の抵抗に電流が逃げてしまっている気がする

94 :
>>93
まず、普通につなげば回路は絶縁されない。
たとえHiZ同士でつないでても絶縁とは言わない。
絶縁するにはフォトカプラとか使う必要がある。
つぎに電流が流れてるならばソコには電位差がある。
これは絶対。
プルダウン抵抗に電流が流れるなら、
内部プルアップが掛かっているか、出力がONかつHighになってる。
単に電流流したくないだけなら、LOWを出力するって手もある。
ちゃんとDIRを入力にしてプルアップを切っていれば、
電源電圧範囲内なら普通にMオーム以上のインピーダンスになるよ。

95 :
このくらいの頃がいちばん楽しい

96 :
>>90
パチもんでもつかまされたんでは?
まとめ買いしたら、全数不良とか。

97 :
93は究極電池アプリケーションでもやっているのだろうか・・・。

98 :
プルダウンなんか入ってたっけ?

99 :
>>93さんは外にプルダウン抵抗を接続してるんじゃないの?

100read 1read
1read 100read
・ 次のスレ
37: 工作用他安価なスピーカーユニットで自作スピーカー (218)
38: 3端子レギュレータ (369)
39: H8 (535)
40: 教えてください! (7)
TOP カテ一覧 スレ一覧 2ch元 削除依頼