_____
/ /|
/ ( ゚∀゚) /.∠フ 個人でも手軽に使える
/ /.∠フ || . Atmelの8-bit RISCマイクロプロセッサを
/ __ o/.∠フ || 中心に語るスレッドです。
∠| ̄ ̄凵 ̄ ̄|∠フ || *AAは「AVR H8 etc. マイコン総合スレ Part3」からいただきました。
.|| |_____|/||
Atmel AVR 8-Bit RISC
http://www.atmel.com/products/avr/
4 :
774ワット発電中さん :2011/04/28(木) 09:29:57.42 ID:Rd2DGLdJ
ちわぁ〜
>>1 スレたて乙です。
ところで、今UART通信を行うことで悩んでいることがあります。
ATMega3281つでUART通信を2つ行いたいのです。
SPIを使えば問題ないように思えますが、SPIはSDカードに使う予定です。
そこで、一つのUARTで2つの機器と通信する方法はないでしょうか?
もし何かヒントになるようなwebページでもあれば教えてください。
よろしくお願いいたします。
>>5 ・GPIOをシリアル通信に使う
・ロジックICで信号切替
・485とかに変換してバス接続にする(相手側次第)
・USARTがたくさん乗ってるマイコンに変える
送信はともかく 受信が複数必要なら諦めたほうがいい(UARTたくさんのに変える)
>>6-7 情報ありがとうございます。
問題の受信なんですよね...
GPIOで装置の電源ごと管理して、使うときだけ
装置の電源を入れるようにとも考えたのですが、
立ち上がり時間等を考えると現実的ではないなぁと...
やはり複数のUARTがあるマイコンに乗り換えるべきですねぇ...
GPIOでのUARTが動かせるかどうかも試してみたいと思います。
ありがとうございました!
2つUART使うアプリかぁ、2CPUにしてみるとか(通信は自前GPIOとかで)。 2CPUあれば前後処理やらあっても結果だけの通信で終わるとか、 その方が確実という気がしなくもなく(データオーバーランの可能性含めて)。
>>9 一つの案として、考えていたのは、
UARTの速度はそこまで必要でなくて、9600bps一択です。
そこで、最近2313でI2Cスレーブを作ることを学んだので、
通信バッファを2313で設けておき、
>>9 さんの言うとおり、
結果だけをI2Cでやり取りする方法も考えましたが、箱に納まるか
心配です。まぁ箱は最悪買いなおす...かなぁ。
問題は2313のバッファ量ですね...I2Cスレーブ分と合わせてどの程度確保
出来るか...少ない資源でやりくりするってのは苦しいけど楽しい(笑)
SPIはSDに使うっていうのでわざわざGPIOってしといたけどw まぁリカバリできるような通信(UARTが)であれば、GPIOでのUARTでも大丈夫ではないかとは思うけれど。 9600bpsでも2chだと結構大変かもしれない(片方は内蔵つかってぎりぎりくらいじゃないかなぁ)。 そのへん含めて勉強というか修練していくってのも道ですね。 2313だとコード分引いて数十バイトくらいのバッファが限度でしょうけれど、2313自身である程度の処理を させてしまえばメインCPUとの通信さえちゃんとできればいいようには思います。 何をするか知りませんけれどw
>>11 基本はロガーなんですけど、タイミングによっては、無線通信でデータがほしい
場合があるのです。なので、XBEEを使ってデータの記録状態を吸い出して送信したいんですね。
ふと思い出したけど、JPEGカメラ使っている人でXBEEによるリモート操作化してた人がいたような気が...
アレはどうやってるんだろう。ちょっと調べてみます。
機能ごとにICを切り分けるというのは有効みたいなので、この側面からも考えて見ます。
mega168使ってSPIのスレーブデバイスを作ってるんだけど、ちょっと相談 相談1として、ハードSPIのスレーブだと、送信バッファが無いのので、 通信中に送信データを書くと、おかしな動作になるという理解だけどあってる? 相談2としては、これを回避する為にはどうすればよい? マスター側からコマンドを受信した後、コマンドを解析してアンサーを返したいんだけど アンサーをSPIのデータレジスタに書くタイミングで困ってる 誰か教えて下さいな
>>12 普通の入出力ピン使ったSoftwareUARTは?
読む前に書くことになるよ。 SPDR = write_data; read_data = SPDR; スレーブの最初のSPDRは送信データの準備ができていないので、 空送信となる。
>>13 , 15
情報ありがとうございます。熱出して寝込んでました(笑)
普段考えてないから知恵熱かな。
現状、I2Cドライバを組み込んだUART通信用デバイスを作り
結果を送信するようにと考えています。
値段的にQFPのMega64Aは魅力だなぁ...
ありがとうございました。
atmelにサンプル要求したことあるやついる? 一連の流れ(手順とか入手までの日数とか)が知りたいのだが。
>>18 商社にサンプル要求
→「うちでは出してないんですよ」
→アトメルジャパンに要求
→「うちでは出してないんですよ。商社さんも出さないんでは?」
→「本社に頼むけどいい?」
→「無駄ですよ」
→アトメル本社にメール
「何のための日本支社なんだよ」
「PICに変えるぞゴルァ」
「アトメルジャパンの○○は失礼なヤツだ」
→「御免なさい、すぐ送ります」
→FedExで送られてくる
→アトメルジャパンからお詫びの電話
(その時いなかったから無視)
数年前だけど、そんな感じだった。
本社に頼めば3日くらいで届くかもね。
日本支社の対応はすごく悪いし、PICに負ける理由がよく分かった。
担当の○○さんが元気か気になるなぁ
>「PICに変えるぞゴルァ」 クソワロタw 企業じゃないと相手にされない事は判ったw AVRスレだけど、PICの Microchip Technologyが出してるマイコン向けのイーサネットコントローラや I/Oコントローラーとか、趣味で使ってくれ的な臭いがプンプンして良いんだよなw
確かにその通りだが、それでビジネスになってるのか心配になるな
いわばルネサスの城下町だから 日本での売上は期待してないんじゃないかな
じゃあ今がチャンスだ
24 :
774ワット発電中さん :2011/05/01(日) 01:26:15.77 ID:2r9dDcCD
もっと安く買えたらいいとおもうAVRおしえて♪ AVRを中心にいろいろなパーツを通販しています。 madoelec
う〜ん、秋月とdigi-keyで足りてるちゃ足りてるからなぁ ライタ環境をもう少しなんとか・・・
趣味の個人サイト相手に購買の用事はない サイトが酷い 案内文も音符マーク使いまくりも業者の姿勢ではない
attiny8313が欲しい
>>25 さま
ライター環境ですか。うちではAVRISPmkII互換キットを企画しています
>>26 さま
貴重なご意見ありがとうございます♪
>>27 >>28 さま
検討させていただきます。
8313って実在するの? もしかして釣られた…
ATmega128313 とかは?
せめて なぜその型番が欲しいのか書こうよ。ある機能が欲しいとか、メモリが多いとか 秋月などで販売している品で代用できるなら、意味ないし
>>33 さま
有意義な補足ありがとうございます。
今のところの予定はATmega32U2-AUぐらいです。よくお問合せをいただきます。
営業は嫌われるよ… まぁ他人のふりしてるよりかはマシなんだろうけど
2chで営業しちゃう業者の人って…
この不況で生き残りも大変なんだろ
そういえばテンプレでAVRの購入先一欄が無くなってるな まあ、せいぜいソレに追加するくらいでそれ以上は自粛してほしいね
某オクで見かけた人のようだな
>>34 32u4はないのかな?
ていうかteensyを輸入してほしい。送料が高くて1,2枚は買いづらい。
話ぜんぶひっくるめて、 digikeyで買い辛いやつ置いてくれ でFAだとおも。
>>39 さま
その節はおせわになりました。
>>40 さま
32u4も需要ありますね。在庫今はなくなりました。
teensyですか。個人的には注目していますがもう少し様子見です。
うちはArduinoクローンとオリジナルシールドキットを念頭においています。
>>41 さま
そうですね!あ
みなさまありがとうございます。ひっこみまする。
業者の人トリップ付けなよ 素で全レスしててもウザがられるだけ
まずはサイト名をどうにかするとこからだな 何を考えてるのか知らんが
業者はトリップ付けてくれ。NGすっから。 ご用向きの際はNG外して会話するよ。
はい分かりました。
趣味でAVR使ってる人はどんなとこで情報収集してる? ネットの調べ事はそりゃそうなんだけど、どんなもの作ってる人がいるかとか。 検索でブログ見付けてもコメント欄で交流してた形跡はないし、 ミクシィとかツイッターなのか?
>>47 趣味でAVR使うようなヤツは生涯孤独を愛してるんだよ。
交流なんて電気だけで十分だし(w
>>47 すくなくともここ見てる人はここなんじゃね?
ほかにまっとうなコミュニティを見たことないが
Makeとかニコ動とかでやり取りはありそうな感じ
51 :
47 :2011/05/04(水) 01:07:34.18 ID:0dagT8+B
このスレがコミュニティみたいなもんだと言われたら確かにそうだなw Make(Make: Tokyo Meetingのことだよね)とかニコ動は、 見せるためのコンテンツを持ってる人は自分が情報の渦に入って行けるけど、 そういう人は少なくて、実際に工作はしていてもほとんどの人が蚊帳の外な感じが… 本屋にある「今月の新刊一覧ポスター」みたいなサイトがあると便利なんだが。 AVR(電子工作一般でもいいけど)で、「○○で△△を作りました」の簡単な説明と ブログ・サイトのURLが書いてあるだけの単純なリスト。 作者自身が勝手に登録していけて、見出し専用ニュースサイトみたいな。 まぁ何でこんな長々と書いてるかって言うと、酒飲んでいい気持ちになってるからってのと、 こんなサイトあったら便利じゃね?オレ天才じゃね?って酔ってるのと、 知らないサイトは沢山あって、検索で偶然見付ける以外に知り得ないのが残念だと思ったんで。 そういうサイトをズラズラ見て楽しみたいと。
>>51 酔っ払いにマヂレスするけど。
AVRを使って何か面白いものを造りたいけど自分じゃ発想できない。
だからみんなが作った物を一覧にしてそこから面白そうなものを探すって事だよな?
作りたいものが決まってりゃ割と簡単に見つかるし。
AVRをPICに置き換えりゃ検索幅は大きく広がるし。
デジットは高すぎる 誰が買うんだ
47=51 夕べはスマンかった。酔った後のやっちまった感だ。 放りっぱなしは悪いので真面目にレスさせてもらう。 >52 レスありがとう。でもそうじゃないんだ。純粋に様々なものを見たいということ。 作りたい物がある・ない、ネタを探している・いない、ということと関係なく。 検索行為は自分の発想の範囲になるから、「思いもしない物」「知らない技術」にほぼ出会えない。 絵で言ったらpixiv、模型ならfg、…って分かるかな。 知らなかった作家とか元ネタを知ることが出来るし、あてもなく眺めてるだけでも面白い。 自分がネタを提供する側になってもいいし、イベントや動画共有サイトより参加しやすい。 AVRでもPICでも、電子工作一般に広げてもいいので、そんなサイトが欲しいなと。
大昔、携帯もまだ無かった頃にやりたかったことが こういうちっこいマイコンが楽に使えればすぐできたのになーとか 色々思うよ。 逆に今やろうと(思いつく)のはだいたい100円ショップで買えるような製品だとか、 誰かが思いついていてwebに乗ってるとか。
やりたいことはいろいろ出てくるが 予算を見積もると10万超えするようなのばっかりで困る
>>55 arduinoとかも検索に入れてる?
組み込み技術者っぽくない人の率が高そう
まぁ年を取ってくると何事にも目新しさを感じなくなるってのもあるけどサ
>交流なんて電気だけで十分だし(w うまいっ
>58 arduino自体やarduinoを使った工作物を調べるときはキーワードに「arduino」を混ぜて検索するよ。 でも>55で言ってるのはそういった、検索サイトを通じて工作物・サイトを探しに行くということじゃないんだ。 (AVRに限定して話すと)そのサイトにはAVRやarduinoの工作物がいくつも登録されていて(作品を投稿)、 訪れた人は、何かを探すでもなくそれらをズラーッと眺めることが出来るし、 その中から思い思いのキーワード(作者、技術のジャンル、部品)で抽出してもいい。 投稿された工作物に作者のサイト・ブログのURLが添えてあれば詳細はそちらでどうぞと。 そんなイメージ。説明がくどくて分かりにくいだろうか。 絵、模型、動画の投稿・共有サイトのAVR版(電子工作一般でも構わないけど)ということ。
AVR32APとはなんだったのか
>>60 hack a dayとかみてる?イメージはこれが近いような気がする。
投稿というよりはニュースサイトだけど。
ちょっとしたものを投稿するには敷居が高すぎるが、見る側としてはフィルタされていてありがたい。
>>62 一人でブログとか作ると虚しくなるので
あったら使うかも
openpneは以前に少し使ったことがあるけど、やりたいこととちょっと違うかな。 Hack a Dayはサイトの形式としては近いイメージ。 でも確かにニュースサイト寄りかも。自分はもっと参加できる形をイメージしている。 pliggは>51で書いたサイトを作るにはまさにそれかと! サムネイル、タイトル、簡単な説明、作者、URLが短くまとめられて、いい感じだと。 作ってもらえたら活用したいです。>62 正直なところ自分と>65を含めて投稿意志のある人が10人くらいいたら設置希望。 10人もいれば見る専の人も付き合ってくれて企画倒れにならないんじゃないかと…どうだろう。
>>66 最初はそれでいけるとおもうんだけど。
徐々に、入りにくい雰囲気になるんだよね。あれなんでだろね?
68 :
62 :2011/05/04(水) 21:28:27.76 ID:KhxFOeVS
おし。作る。 ちょいと待ちな。
70 :
62 :2011/05/04(水) 21:43:27.11 ID:KhxFOeVS
仕事で作ってるものの一部を公開、議論できたら楽しいんだろうけど なんといっても仕事だからなぁ。
俺は趣味でやってるんだけど、レベル低すぎて恥ずかしくて・・・ 作例は結構あるんだけどね でも、プロにアドバイスとかもらえるなら、恥を忍んで公開もありかな でも、やっぱり、叩かれまくって凹む未来も見えるしなぁw
73 :
65 :2011/05/05(木) 00:52:26.74 ID:Q8p8uF2N
>>70 試しにブックマークから適当なの貼ってみたけど
これ、自分の動画とか貼るのはかなり勇気が要るな
arduinoはいちいち開発環境に手を入れるのがマンドクセ これなら素のままでCとASMで書いた方が楽チンだろ
75 :
62 :2011/05/05(木) 01:51:08.03 ID:1i6C8lvt
>>73 たしかに。はずい。
自分も何か張ろうと思ったけど、そもそも張れるのがあんまりないな。
とりあえず、管理者権限あげた。
ユーザーから投稿されたやつは、公開待ちリストに入って、それを管理者が公開にするか、
他のユーザーからの投稿で公開になるらしい。
まず、普段巡回してるところにある記事から気になったのを投稿しようと思うんだけど、
Hack a dayと Hacked gadgets とMake: blog、rerofumiさんのところ、とニコ動の技術部タグぐらいしか見てない。
他に見るべきところがあったら、教えてくれ。
76 :
47=51 :2011/05/05(木) 02:16:51.64 ID:VEedG2bW
>47(ID:Wfr/VDSt) = >51>55>60>66(ID:0dagT8+B)です。 >62=>70 え、ちょ、もう出来てる!? おおおお、サイトの使い方がまだよく分からないw ID取りました。「47」と入ってます。 >75 >まず、普段巡回してるところにある記事から気になったのを投稿しようと思うんだけど、 あれ、投稿するのは自分の作品のみだと思ってたんだけど、 ニュースサイトみたいな感じになるのか。試しに投稿したことに違うこと書いちゃったな。
77 :
62 :2011/05/05(木) 02:40:35.57 ID:1i6C8lvt
>> 73
とりあえず、匿名投稿を可能にしておいたので、自作自演でどうぞw
>>76 管理者権限くばった。
>あれ、投稿するのは自分の作品のみだと思ってたんだけど、
>ニュースサイトみたいな感じになるのか。試しに投稿したことに違うこと書いちゃったな。
それが理想だけど、10人ぐらいはいつも投稿してくれる人がいないと閑古鳥が鳴きそうだから。
最初は集めてくる感じかなと。
週に1,2個ずつぐらいは集まるようになる理想なのですが、それまでは埋めておこうかと。
カテゴリを分けたので、ぜひ自作のを投稿してください!
皆がどんなのに興味があるのか知りたいので、投票だけでもお願いします。>スレの皆様
78 :
47 :2011/05/05(木) 03:06:15.51 ID:VEedG2bW
>77 確かに。 ノッてきてくれる人が増えるまでその方針で行きましょう。 正直、自分はビビり入ってるんで心の準備が出来るまで少し待って欲しい。
80 :
62 :2011/05/06(金) 10:36:37.44 ID:C9UCJA37
公式だとAVRStudio5.0beta2に誘導されるのか 入れてみたけど全然違うなぁおい orz
83 :
62 :2011/05/06(金) 23:03:38.08 ID:C9UCJA37
マザーボードから直接CPUの温度とか取得できるピンってないかな?
クーラーに熱電対貼付けるとか OS経由で拾ってUSBで吐かせるしかないだろうな… intelのデーターシート読むとPECIバスから温度データとれると書いてあるけど これに割り込むわけにもいかんし
つon-die thermal diode 全部のCPUにあるとは限らんが。
ACPIは知ってるけど、Pinで欲しいって事じゃね? ドライバ書いてUARTで取り出せばOKだと思う
AVRの温度センサー内蔵のやつも使おうか
90 :
47 :2011/05/09(月) 01:40:00.87 ID:vytELm6H
他のレス番は>76見てください。ああ、おまえかと。 Soldering News 初投稿。自作品。 まぁ、かなり恥ずかしい気持ちはある。 作品内容がどうかよりも、自作品で投稿者現る!的に見てくれればとかなんとか。
>>82 ロジックとプロトコルの問題になるけど、
ハングを避けるにはマスターがスレーブ状態を取得するコマンドを
投げるようにすればいいのでは。
スレーブがbusy中は割り込み中にtxBufを介さず状態を返す感じで。
SDカードのWrite待ちのイメージで
>>91 アドバイスありがとう。
I2C(TWI)なんで、状態を返すコマンドを作ってみたのだけれど、LCD表示実行コマンド->その間にI2C通信->とまる。
という状態になります。なので、別ピンでアクセス許可状態を作ろうと思ったのです。
usiTwiSlaveの割込み処理で通信を行う際に、内部で時間のかかる処理をしているときに、アクセスしちゃうと
だめな感じです。またSlave自体の外部割込みも、I2C通信中はアウトっぽい挙動です。
AVR+ジャガイモ電池でGLaDOS作りたい。
>>92 LCD表示みたいな時間のかかる処理はメインループ中に起こる事だよね?
USIの入出力は割り込みハンドラ内で完結してるわけだから、
時間のかかる処理の間はbusyフラグを立てておいて、
USIの割り込みハンドラが呼び出された時にそのフラグが立ってたら
(メインループと通信しないで)ハンドラ内で簡易応答を行えばよいんではと思った。
メインループ側でbusyフラグを解除して、 ハンドラの状態が半端に切り替わってもハングすると思うので、 ハンドラ側で各応答が完了するまでの状態管理も必要になると思う。 メインループ ↓busy=ON ↓busy=OFF ------------ --|-- ---- --|-- ---- ---- ハンドラ 本通終 簡通始 簡通信 簡通終 本通始 本通信 ---- |---- ---- ----| ---- ---- ↑切替 切替↑ →時間
>>93 ,94
ありがとうございます。
どうも、twiSlave側ではなくて、マスタ側に問題がありそうです。というのも、LED入れまくって動作を確認していたのですが、
@状態を得るコマンドで状態を取得。
A状態は受け入れ状態なので、文字を送る。
B表示される。
Cさらに状態を取得する。<-ここで、状態がずっと同じものが取られたり、もしくはフラグ待ちの無限ループに陥っているようです。
マスターはATMega88で20MHzでTWIを100kHz駆動。スレーブはATTiny2313、内臓8MHzで駆動。です。
waitを20msほどかけるとそれなりに問題なく動きます。時間処理ではなく、ちゃんとした動作で管理したいので悩んでいます。
マスタのTWI処理にタイムアウト処理を入れていないのが悪いのか...。Slave自体は、外部スイッチが動くので、止まってはおらず、
割り込み待ちになっている模様。お互いが待ちの状態のデットロックに陥っています。たぶん。
ATMega側のTWINTがセットされるまで待つ処理が無限ループで良くないのだろうなぁ...
96 :
774ワット発電中さん :2011/05/10(火) 01:32:11.70 ID:2LhRYKnv
>AVR+ジャガイモ電池でGLaDOS作りたい。 それいい。 が、電力足りるんかな?
>>95 割り込みと通常の関数の間で共有しているスタティック変数にvolatileを付けて
いないとか、そんな気ガス。
ソース晒してくれればいくらでも突っ込んでやるよ 余計な処理外せば大した量じゃないでしょ
>>98 では、お言葉に甘えて。
LCDのコントラストを得るときによく止まってしまうことを突き止めたというか、固まる確立が高いので、その部分だけを切り取りました。
for(;;){
ii++;
b = false;
while( (PINC & _BV(1)) ){} //<--ここでスレーブの状態待ち
i2c_start(); //<-START Condition
i2c_write(0xC2); //<-スレーブアドレス書き込み
i2c_write(0x00); //<-読取内部アドレス書き込み
i2c_start(); //<-リスタート
i2c_write(0xC3);
b = i2c_read( RESPONSE_NACK );
i2c_stop();
if( b<128 ){
PORTC &= ~_BV( 3 );
PORTC |= _BV( 2 );
}
else{
PORTC &= ~_BV( 2 );
PORTC |= _BV( 3 );
}
if( ii % 5000 == 0 )
PORTB ^= _BV( 1 ); <-ルーチン自体が生きているかどうかのLED
}
本来であれば、コントラストをスイッチでスレーブ側で変更したときにLEDがトグルする予定でしたが、うまく行かないです...
コントラスト変更後に泊まってしまうことが多いです。処理全体に25msほど入れると動いているように見えます。
が、時折泊まることも。止まる場合は、このメインループが止まるので、恐らくTWIの待ちでウエイトしている模様。
TWCRのTWINTが変化していない???
>>皆様 ここまで晒しといて、なんですが、原因がわかりました。割り込み中の処理が良くなかった...orz チャタリング処理のためのwaitでslave側のTWI処理がうまく行っていなかった模様です。 vector優先度がPCINTの方が高くて、かち合うとUSI割り込みをなかったことにする模様。 このため、master側からTWIレジスタが変化しないということになりました。 マスタ処理に TWDR = dat;// 出力データ設定 TWCR = I2C_CLEAR;// TWINTクリア マスタ送信開始 // マスタ送信完了待ち while( !(TWCR & 1<<TWINT) ) {;} // TWINTがセットされるまで待つ としてますが、タイムアウト処理を付けて、再度クリア->ウエイトをしたほうがよさそうですかねぇ?? 皆さん、ありがとうございました。もっと精進します。
>>100 >ここまで晒しといて
恥まで晒した訳ですね。
聞くは一時の恥
一生使うものでも無いだろ
割り込みがカチ合うとキャンセルされるって話は聞いたことないな、 クリティカルな場所が他にもあるんじゃないか?
キャンセルはされないだろうけど、 割り込みが複数回起きると分からなくなるとかあるよね。
>>104 割り込みについてなんですが、実際問題クロック動作している関係上、同時に起こりえると思っているのですが、どうでしょうか?
電気的信号だから同時発生はしないとしても、ごく短い時間間隔でで切り分けられた範囲を使うと私は認識しています。
しかし、割り込みはもし同時に起きたらどのような動作をするのでしょうか?思いつくのは、
@優先度の高い割り込みが発生し、その他の割り込みは無視する。
A優先度の高い割り込みルーチンから実行され割り込み自体は起こる。
この辺よくわかっていません。前から疑問だったので、どうなっているか知りたいです。
>>107 基本、同時発生OKです。 Aに該当しますね
優先度の高いハンドラが起動され、return時優先度の高い要因解除されるので
今度は優先度の低いハンドラへ移ります。
>>108 なるほど、長い間の疑問が解けました。ありがとうございます。
ついでに質問お願いします。 割り込み処理中にそれと同じ要因の割り込みが起こった場合は 割り込みが失われてしまいますか? 割り込みフラグをクリアしてれば大丈夫なんでしょうか?
データシート見るクセ付けないと何時までも人に聞くことになるよ その辺の細かい動作はデバイス毎に違う可能性もあるし 二チャンが正しい確証も無いだろ
あの辺読んでもちょっと分かりづらいから、さらっと基本だけ 各割り込みベクタに飛んだ時点で、対応するフラグがクリアされる なんで、処理中に同じのが来たらまたフラグがたつのでRETI後に割り込みが起きる 処理中に2回以上来てもフラグは1つだけだから2回目以降は無視 デバイスや割り込み要因によっては、フラグが自動でクリアされなかったり色々だから 泣かないようにデータシートは必ずチェック
>>110 フラグ1個しかないんだからちょっと考えれば判ると思う。
割り込み中にちんたらやってたら追いつかないし、
多重割り込みを許可しても解決する問題ではない。
>>99 のケースは(おそらく20MHzの)マスターからウエイトなしでi2c_*呼んでるけど、
はたして8MHzのスレーブで処理が間に合うのか疑問に思う。
AVRはレジスタ多いから、何も考えずにISRをCで書くと
退避と復帰だけで数uオーダーの遅延が発生するし。
ハンドラ呼び出しで消費する最長クロック数は把握しとくべき。
>>111-113 情報ありがとうございます。データシート読んだつもりでしたが、もっと深く読込んでみたいと思います。
TWIについてのアクセスでは、おっしゃるとおり、20MHzで8MHzのスレーブにアクセスしています。
8MHzの処理が間に合わないとのことですが、小さな処理なら問題ないのですが、少し重い処理を
したとたん、通信が出来なくなりますので、恐らく間に合っていないのでしょう。特にスレーブ側にタイマー処理を
入れたとたん思ったように動かなくなりましたので、処理の動作クロック数とかも気にする必要があると感じました。
ネタ的に思いついたのは、20MHzのクロック共有して、動かしたらどうなるんだろう?そんな使い方ってするのかな?
AVRISPmkIIひっくり返した時に見えるAVRのロゴが なんか格好いいなw
AVRのIOでNTSC出力するくらいの話。面白い試みではあるけれど。 古くはシンクレアZX81という世界もあったし
それが出来るということは 逆に読み取れるって事かw
スラドのコメント
>
>>640 x480、800x600、1024x768 の解像度を 50 Hz で出力
> SD画質ですな!
解像度がXGAでも色数は8色(デジタルRGB)な気がする。
>>120 これ面白いな。しかし、使用用途が・・・思いつかねー。
これとは別にカットできるフレキシブルケーブルがあればほしいんだけどなぁ。
アキバのCoCoNet6月で締めちゃうし、フレキどこで買うか悩む・・・
>>120 結構、湾曲したケースに押し込むのに便利そうだね。
AVRのお遊びに丁度よさげ(w
部品付けた後に基板湾曲させたら ランドとか外れそうだな
>>120 アマゾンでも売ってるし、千石でも見かけた。
フレキ基板の一番のメリットは、ハサミで気楽に切れることじゃないかと思われ DIYするときに基板切るのが一番面倒くさくないか? ガラスエポキシとかで、テケトーに組んで半田付け終わってから鋸で切ると、 パターンが浮いたり、大きいパーツへのUEW配線ぐらいなら振動で外れたりするから、 あまり振動させたくないんだよな 最初から基板サイズ決めて組んでいれば、基板切る必要もないんだけどw 銅張板を寸法に合わせて切る方法あったら、誰かおしえてえろい人
銅張板は切ったことないけど、ユニバーサル基板は 三菱マテリアル テスキーC型 で切ってる。でかいホームセンターなら置いてると思う。 力いるけど割れずにどんどん切れるのはちょっと感動した 上位Ver.にU型もあるらしい
込み入ってる形の基板は PROXXON の電動糸鋸で。 直線だけならPカッター。
リューター+丸鋸はうまくまっすぐ切れてくれんかった 径も足りなくて直角に向けられんし
いわゆる自炊(本をスキャニングしてPDF化すること)やってる人が
本の背を落とすときにつかう裁断機が使えないかな?ヤフオクで安く売ってるやつ。
さすがにガラエポはキツイか?あるいは暖めたベークならいけるのかな?
そういえばユニバーサル基板にシコシコ配線するのも面倒になってきたので
秋月の\150AVR基板
http://akizukidenshi.com/catalog/g/gP-04399/ 使って手抜きしてる。ペナペナで薄っすい基板だけど
ユニバーサル基板で作る方が多数派? その手のサイトを眺めてるとプリント基板を使ってるのが多いからそっちが普通だと思ってた。 プリント基板で作りたいけど趣味で一個作るのには高過ぎよ。
ユニバーサルの場合、配線が終わった後から基板を切ると、ランドが浮くとか、 半田が割れたり剥がれたりするという心配より、切った際に出る粉末状のスルー ホール穴の銅箔が、フラックスにチョイ足しグルメでいい具合にショートしちゃわ ないかとか、そっちの方が気になるんだな。 一応、後から加工した場合には、念入りに歯ブラシやら、エアブラシのブロー で金属粉が残らないように掃除してる。 DIPや1.27mmピッチのSOPしか載って いない基板ならいいが、0.5mmピッチのQFPだと目視チェックとかめんどい。
OLFAの金鋸orホビー鋸orPカッターよさげだね ただ、今在庫してる基板使い切ったら、フレキ基板買うかな ケースに詰め込むのも楽そうだし
>>133 基本ユニバーサルだろJK
サイトにオリジナル基板が多いのは作ったら見せたくなるからでしょ
他の人に売るとか配布するとかならプリント板起こすけど 基本的に秋月の両面スルーホール基板だな 綺麗に配線すれば人に見せられる程度にはなるし
>>133 値段は大してかからないでそ?
現像液とエッチング液程度だし。
ま、プリンターでネガ作る為のシート代は高かったけど。
フラットパッケージのICを使う時はレーザープリンタで出力してアイロン転写してるな エッチング液は銅版画用の物を使ってる 別途処理剤として100均の重曹と石膏がいるけど
もっと手軽に作れるといんだけどね。 結局、ユニバーサルで作ったほうがパターン引く手間もなく 早くできるし。 ルーター削り出しなんか、手間いらずで楽そうだけどどうなんだろ。
某氏みたいにUEW線を直に足に半田付けとかいうスキルがあればねぇ… 数本ならできなくもないけど、多分20本とかやるとしぬる。
ルータは大変だよ、すぐ歯が折れるし・・・ てなことでプリンタ転写一番楽ちん(穴はないから)
143 :
126 :2011/05/15(日) 20:49:46.23 ID:Ge5Qk9Rx
>>143 その動画、0:34辺りから断念したのか、別の板に変わってるw
ガラエポって切断できる?
普通の厚さ(1.6mm)のを使ってないのは 「切ってみたけど切れなかった」ってこと? それとも「切れそうになかった」から?
>>145 ありがとう。
ノコと違って削りカス出ないのは楽そうだから買ってくる。
>>145 > 秋月のこれなら切って使ってる。
>
ttp://akizukidenshi.com/catalog/g/gP-04718/ > 割れる事は無いけどさすがに部品を付けた後に切った事は無い
>
0.8mm FR-4 の直線切りなら百均のキッチンばさみでもいける。
割れないことがメリットなのは理解できるし興味もあるんだが、
もう少し詳しいデータが欲しいな。
例えば
0.8mm FR-4 蛇の目 ○
1.0mm FR-4 蛇の目 ○
1.0mm FR-4 プリント基板 ○
1.6mm 紙エポ 蛇の目 ○
1.6mm FR-4 蛇の目 △ : XX ならイケル
みたいなのでよろしく頼む。
すれ違いだけど、(・∀・)イイ!!パンタグラフスイッチってないかな? キーボードでも自作したい
AVRでファミコン音源をそのまんま再現してる作品ってあります? 作ろうと思うけど既出だったらマヌケなんで
V-USBの3.6Vツェナーについて。 ルネサスのツェナーって表記がmin-maxになってて よくわからず、これまでHZ4A3-E(3.6-3.8V)使ってたんだけど、 HZ4A2-E(3.5-3.7V)が正解みたいね。 HZ4A3-Eの場合、一部のポートでデバイスが認識されない問題があった。 (Windowsの場合デバイスマネージャで問題code 43になる)
秋月でAVRを始めたいと思うんだが純正のがいいのかな? 1000円くらいのブレッドボード上に組むやつと迷ってるんだがメリット、デメリットあるの? 教えてエロい人!
pc-98の電源入れた時に鳴るピポ音を再現したやつなら作ったな 正弦波じゃダメでけっきょく実機からサンプリングした音鳴らすだけの物になったけど
>>154 純正ってのがarduinoなのかライターなのか
どっちとも取れる気がするが、もし後者であれば
ブレッドボード上に組むやつというのはFT232使う奴のことか?
あれは結構使える。
arduinoのことだったら専用スレがあるからそっちへ池
>>156 秋月の950円?とかのものです
純正のと同じ書き込みのソフト使えるならそちらを使いたいです
ありがとうございます(^ω^)
あの音は矩形波じゃないのか?
あれって8251だか8253だかのタイマの出力を出してた気がするんだけど、 同じ音にするのは苦労するんだね。 なんとなく一種角の取れた音だとは思ったけど
あの音ってDIP3-8を切り替えると音が変わるから、CPUで生成しているのかと思ってた。
音の長さはクロックに依存してたけど高さは固定だったような
162 :
62 :2011/05/21(土) 11:23:01.75 ID:hMTgvrWk
回路図が無い
>2kHz(ピ)と1kHz(ポ)の矩形波 へぇ・・・実機はリンク先のより柔らかい音だったような気がするけど
筐体内に入ってるから耳に届くまでに乱反射してるんでしょう
実機の波形は綺麗な矩形波じゃなくて かなり変形した波形だった アンプやらでおとが変わるんだろうね
vm11のwavを見たら、ピの部分は2000Hzと4000Hzの成分があって、 波形はかなり正弦波 ポの部分は1000Hzと3000Hzと5000Hzがメインで僅かに2000Hz 波形は、高い山の両側に低い山、みたいな歪んだ形
ピポ音との関係は忘れたし、また故意かそうでないか不明だが、98内部アンプ?の 動作中心点がダイナミックレンジの中央からずれているために歪が発生するっていう話を どこかで読んだ気がする。
アンプなんて積んだ音なのですか? この手の回路って圧電スピーカーをTTLでダイレクトに駆動してるんじゃないのか
8080ファミリにPSG(プログラマブル サウンド ジェネレーター) ってなかった??
>>171 MSXのPSG音源で遊んだよ
懐かしいなあ
なかなか奥が深かった
雑誌に一発ネタコーナーみたいのがあって
PSG音とベーシックで描くグラフィックでシュールな世界一だったが
職人のレベル高かった
80ファミリーじゃないけど、SSG,PSGのスタンダードはあったね。 それらが進化してFM音源チップに(つかYAMAHAがそれらを内包っていうのが正しいかも)なったというか。 MSXの時代はFM音源チップが規格に含まれたから、有名というか使った人が多いというか。 88と98は導入が遅くなったというか、カードで追加して使うしかなかったから ゲームとかは内蔵SPを鳴らすとか無理矢理PCMさせるとか流行ったよね。 MASL(今でいうFLASHのようなもの)でアニメーションとか動画とか流行った時代も 懐かしい…88でのカリグラフアニメーションもあったな(トオイメ
BEEPとFM音源は別… ファルコムはがんばってたが
176 :
774ワット発電中さん :2011/05/22(日) 21:41:47.02 ID:rX3X5ZJK
BEEPと言えば、PC8001のパックマンの音楽で感動した(w
8801mkIIでXanaduやったわ。 MkII買った1ヶ月もしないうちにSRがでた...
AVRでオルゴール作りたいんだけど、そういう用途でオススメの秋月AVRマイコンってある?
>>178 とりあえず一番でかいの買っといたら?
音源をどこにもたすかによるけど、外付けしないなら
Flash大きいに越したことはない。
流れぶった切るけど、2月頃にDigikeyに発注しておいたATTINY167(automotive版)が やっときた(1週間ぐらい前だけど) てか納期がどんどん延びるもんだから、もう来ないだろうと思ってMOUSERで ノーマル版を買っちゃった後なんですが・・・ まあ一応入手可能ということでご報告 今なら在庫があるみたいだから興味のある人はどうぞ(ただしTSSOPパッケージのみ)
>114
>>113 だけど、ちょっと気になったので、
ATmega328PのTWIマスターとATtiny2313のUSIスレーブで通信できるか、
秋月のSD1602HUOBを使って
>>82 のI2CLCDを試してみた。
結果、マスターは20MHzでスレーブは内蔵4MHzに落としても400kbpsで動作した。
1MHzで400kbpsを受けるのは無理だった。100kbpsならOK。
つーことで、
>>113 のスレーブのウエイト云々は忘れてください。
他の割り込みが長期間妨害でもしなければ取りこぼす事はなさそう。
ただ、USI_START_VECTOR内でポーリングしてたりするので、
今回のようなタイミングがアバウトなLCD制御はともかく、
ピン変化とか読み取り処理と共存は難しいと思う。
8ピンAVRに555の真似事をさせてしまった だって後から調整するのは楽だし
>>178 Tiny45/85をお勧めするが秋月には無いなぁ
>>184 PIC32なんかより、今度出るAVR32のUC3Cファミリの方が凄い。
と思ってたら、先にルネのR5F56218BDFPが秋月に並ぶ始末www
FPU付き100MHz動作で\1200かよ…
FPU付きの叩き売りが流行なのか?
だから、AVRってのは、100円で20mipsを堪能するMPUであってだなぁ・・・・・
>>186 今起きた オハ...
1200や8515をいたぶっていた頃が懐かしいすな... いやはやすごい時代になったもんだ
こうなると サンプルテンプレートも変わらんといけんね...
いつまでも Device_Init(); while(1) { ret = xxx_job(void * parameter); }スタイルやFreeRTOSサンプルスタイルでは困ったものだ w
Studio5のテンプレートはかなり懇切だが 従来の階層プログラムなんで 悪いクセがついちまう...
イベントドリブンとかメッセージドリブンのOOPテンプレートでも付けばねぇ もっとファームテクも進歩するんだろうが...
UC3C... CANが入ってた... MCP2515入れたUC3A基板起こしたばかり orz
秋葉周辺でtiny25/45/85が一番安いところ知らない? tiny13Aではだめで最低25以降が必要なのです。千石の45Vかな?
>190 千石だと45と85が置いてあった気がする。 85が300円もして泣きそうだったけど、今いくらだろう? 45もあったけど確か10Pだった希ガス
やっぱ千石ですね。ありがとうございます。
秋葉で見たわけじゃないけど、マルツにもあったと思うな
>>189 Kinetis K60 だけど、現在出荷されている品種はFPUが入っていないそうだ。
FPU入りは秋以降だってさ。
>>189 どうでも良いけどごく普通じゃね?Ether-PHYまで載っていたらタマげるけど。
回路図 & PCBアートワークで数日... P板やOLIMEXに発注して数週間で基板が上がってくる時代に ちまちまと2313クラスでアセンブラトリックで遊んでるのも良いが... もっと大きなシステムのソフトロジック込みで楽しむのが 今の時代の楽しみ方じゃないの? UC3やARMにそろそろ...
>>197 だから、AVRってのは、100円で20mipsを(rya
そうじゃ無かったら、SHなりARMなりFPGAの自作RISCなりで遊べるけど、
何かに組み込むとなると、そんな高機能要らないんだよね。実際は。
だよなぁ 大規模システムの必要な作品のイメージ湧かない
2313を10個ぐらいつかってDSP作ってみたいけど 乗算器がないからmega168を5個使った方が性能上がるんだよな…
低機能なケータイをわざわざ作ってみるw
秋月に置いてある8ピンの新型PICてあるじゃん?PIC12F1822か。 あの性能だとAVRのtinyの8ピンと迷うね。 あっちは内蔵32MHzてことだから、単純にAVRの8MHz相当だけど、 80円てのを考えたら無理しても使ってみたくなる。 一応tiny25/45/85は内蔵で16.5MHzで動くってのはあるけど、 毎回フルスピードは必要ないからなあ。
俺ごときだと、2313の性能を使い切ることすら出来ないから、 AVRの100円で十分楽しめるよ!100円でUART付いてるから、 使い勝手が良すぎで重宝してる。欲を言えばフラッシュの 2kbバトルがもうちょっと緩和してくれると...
2313の周辺は一応全部使ったかなあ。 あ、まだ、スリープからの復帰とかやってないな。 省電力ドライブもなかなか面白いね。
お、宗教戦争勃発か? 俺はGNUのいる方にかけるぜ
>>206 いや宗教戦争も何も、ここAVRスレですからね。
つか、どっちもGCC使うし。AVR-GCCとかC30とか
>>206 つか、用途によって使い分ければよくね?
ただまぁ、生息地域がかぶるのでどうしてもしょうがないと思うけど。
こうやってブラッシュアップされていくのではないだろうか?
日本だとPICばかり注目されているけれど、産業界はどうなんだろう?
そもそもPICもAVRも使われてないのかな?
以前ハロワに通っていたころだけど、PICで開発できる人キボンが複数あった。 が、AVRのそれはゼロ。まぁ、短期間で東京限定だったけどね。
210 :
774ワット発電中さん :2011/05/28(土) 21:38:26.49 ID:+8EHgfd1
秋月で売り込んでたからかな? PICは知ってても、AVRは知らない人多いよね。 もっとAVRを啓蒙しないと(w
AVRは十分に広まってると思うんだが。 むしろ、だれかPICって使ってる人?ってくらいの印象なんだが。 おれが世間を知らないのかもしれないが。
正直、最初はマイコンって聞かれたらPIC?って感じだったな それから大学入ってマイコンでもやろうかって時にAVRの方がおススメって事でAVRを始めることにしたなあ
PICはアドレッシングが変態的で面白いって言う人が、 「今」はじめるならAVRの方が、いいんじゃない?って言ってくれたので AVRをいじってるんだけど、俺にはCで楽に開発できるAVRがお手軽で好き。 最初のライター作りではまったけれど、それも良い思いで。
どっちもCならかわらん
AVR大好き 最初はPICだったけどAVRの素直さ?というか こうすればいいのかなって試すとその通りになるから 工夫する楽しさがある PICはちょっと約束事が多いイメージ
大学の授業はPIC指定だったな 研究室でもPIC使えって言われたけど無視してAVRでやった俺はひねくれてるのか
個人的にはちょっとカッコイイって思うw
世界に目を広げても PIC > AVRなのかな
なぜかとっつきにくそうなPICが人気あるよね 解せぬ
世間のイメージはPICがWindowsでAVRはMacなんだろうな おれは別にマカーじゃないけど
前スレ876の 「源発振のままの周波数なら-1、 プリスケーラーを使用して分周したならそのまま」 これはダウト n分周しても-1、源発振は1分周なのでこれも-1 さっきRTCモジュールと比較して検証した
>>218 いや世界的にはAVRが多いよ。一部クルマのエアバッグ用途にPICが使われてたらしいけどね
Mega8が売れまくったので各社はMega8との比較表作って売ってた
メモリ関係は訳わからんけど、 普通にCで使う分には同じだけどな むしろ、文字列とかをSRAMに取っちゃうAVRの方が使いにくかった
文字列とかをSRAMに取っちゃうのは・・・ゲフンゲフン
PICはトラ技に提灯記事書かせて利用者を増やした あと代理店がやたら熱心に売り込んでくる しかしあの意味不明なアーキテクチャはマジ勘弁
そりゃまぁ伊豆の場末旅館みたいな継ぎ足し建築したからね、とはいえAVRもその域になりそうだけれど。
つかPICってC言語のまともなコンパイラ無いって聞いたけど?
場末だろうと九十九里浜だろうと、動きゃいいんだよ、的なのが自作の楽しみなんじゃないかと 両方使ってる人が多いだろうし、宗教語るぐらいならメリットあるほう選んで仕上げたほうが、早いからな実際
コンパイラが有料/無料、ライタの値段がPIC、AVRの選択基準の様な気がするが。
メモリが細切れだから、コンパイラがどう頑張っても大きい配列が取れない
PICのような掃き溜めで戯れる趣味はないなw
>>220 あー、PC9801時代のMACはメインメモリ640kBの壁なんかねーぜ!
っていうところなんか、アドレッシングが線形でないPICと、
線形で連続しているAVRを良く表していますwww。
いや、俺もマカーじゃないけど。
初期のマイコンで1インストラクションサイクル4クロックで変態なアーキテ クチャのインテル80系と、1インストラクションサイクル1クロックで素直な アーキテクチャのモトローラ68系の競争はインテルの圧勝だったわけだが。 技術的な優劣と商業的な成功は必ずしも一致しない。
秋月で1個100円の2313である程度組めるようになるまではAVR使い続けるよw
そんなもん後発の方が過去に捕らわれない設計ができるに決まってる
>>233 エンドユーザーは使う側だからなぁ、アーキの優劣なんて気にしない〜
>>236 確かに後発って言う最大の優位点は有効に使っているような気がするよ>>AVR
PICに劣る部分はまさにその裏返しであって、知名度とPICで出来るもんを
なぜわざわざ新しいもんで...?という経営者の判断だろう。
技術畑の人間から言わせてもらえば、両方知るのが面白いんだけどなぁ。
初期のPICがケチったのは、結局フラッシュとかヒューズの容量だよね 1命令を変なビット数にして、アドレス空間も限界まで小さくして、 とにかくプログラムのサイズを小さくしたかった そんなにプログラム領域ってダイ面積食うんだろうか
>>239 flashやEEPROMは知らないけど、SRAMは凄い。
前に、ARM7のダイの写真を見たがほとんどキャッシュメモリだった。
2313を汎用ロジックとして使ってごめんなさい nandの在庫が切れてたんだよう
PICりした。
↑ 誤爆
アボアー
AVRでラジオつくりゃいい さすがにアンテナ直付けは厳しそうだから RF増幅一石のみディスクリート使ってもよし
>>241 あるあるw
555使うのめんどくさいので
PWMだけとかw いかようにもできるから便利だよね。
それで壊したりすると悲しい。
AVRStudio5でSTK500使おうとするとデバイスが極端に少ないのな、なんでやねんっ どっかのXMLに記述子があんのかな
マイコンなんてもともと、ちょっと賢いロジックだ
>>235 > AVRは最初の90S1200,2313の出来が良すぎたせいでTiny,MEGA,XMEGAとコアの
> 改良がほとんどされていない(ADDIくらい付けろよ) のに拡張I/O領域を追加
> (1bitクリアするだけで3命令5clk必要って)
Tiny 以降の MOVW/ADIW/SBIW/LDD/STD は、gcc ですごく有効に使われているぞ。
十分良い改良だと思う。
XMEGA の仮想ポートは、CBI/SBI を使えるから、拡張I/O領域のアクセスコスト
増加への対策といえる。
AVR は、もうアーキテクチャとして完成されていて、これ以上命令が追加
になることは、ないように思えるな。
ついでに書いておくと、ADDI は不要。SUBI/SBCI で同じことができる。
>ついでに書いておくと、ADDI は不要。SUBI/SBCI で同じことができる。 1byteならいいけど、次の桁が必要な時ってキャリーが反転してて使えなくない?
>>250 > ついでに書いておくと、ADDI は不要。SUBI/SBCI で同じことができる。
> 1byteならいいけど、次の桁が必要な時ってキャリーが反転してて使えなくない?
subi r28, lo8(-12345)
sbci r29, hi8(-12345)
2 バイトなら、こんなコードで良いはず。
LDI R16,0x34 LDI R17,0x12 SUBI R16,-0x34 SBCI R17,-0x12 で結果は0x2368になるけど(0x2468になってほしい)
>>252 -0x12 ≠ high(-0x1234)
-0x1200は0xee00だけど、
-0x1201から0xedffになる。
-0x1234なら0xedcc。
当然だけど0xedは-0x13。
>>252 の算数能力が足りないだけだったね。
255 :
774ワット発電中さん :2011/05/31(火) 15:06:36.92 ID:AZJ7swFt
良かったね! 一つ利口になって。 冷静に考えれば1バイト加算しか出来ないCPUなんて 有り得ない。
バイトシフトってどうやるの? 8セグLEDに渡す値、1桁づつ取り出したい
inum/=256; inum>>=8;
>>256 バイトシフトじゃなくて、10で割りたいんじゃないの?
HEX表示ならバイトシフトでいいけど
>>257-258 ありがと 記号の意味わからんけどやってみる
10で割るのはいいけど、取り出したい桁の10進数の1桁だけ取り出す方法がわからないんです
思いついたのは塁上して溢れさせて上の桁溢れることで切り捨て、下の桁はゼロにする方法しか思い浮かばなくて。
10進数を任意桁上と下にシフトすると、上下を切り捨てれるかと思った次第
もっとうまい方法ないのかなって思ったりミサカはミサカは心中を吐露してみる
ミサカは16進数のままでも構いませんとミサカはミサカに問いかけてみる
>>259 例えば10進数 12345 って2バイトがあったとして、100の位の3だけ取り出したいとか?
しっかり質問すればエロい人たちがブーブーいいながらも
ググるキーワードとか参考サイトとかズバリとか教えてくれるはず
でも、質問がしっかりしてないと答えようが無いわな
ところで、LEDは7セグだよね?
うーん、AVRATMega328のI2Cって物理的に分離してるよね...? なーんか、I2CがあるポートCに対してPC0-4にクロック入れたりすると、 I2C通信がまともに出来なくなる...なんぞこれ? 他のPORTDとかだとうまく動くんだけど、何か設定ミスしてるのかなぁ?
>>262 ポートが壊れてるとそういうことがあるので、
他の328でも同じか試した方がいいよ。
同じ結果ならプログラムがおかしいと思う。
前に2313で同じような症状が起きて、
別の個体に変えたら解決した。
その時はPD2に100kHz程度のクロックを入れると、
SRAMの内容が破壊された。
(このスレのPart13の144から参照)
>>263 情報ありがとう。うーん。どうもうまくないなぁ。
変えてみたけれど、変わらず...orz
今ふと思ったんだけど、Slaveは5V,Masterが3Vで動かしてるので、
レベル違いは影響しているように思えた!!AVRが5Vで動くから
3Vで動いてても周辺機器は5Vで平気だろ?とおもってやってるけど、
これがだめかもしれない。
>>264 データシート見てみ?
AVRの端子は3-5vトレラントじゃ無かったと思ったよ。
>>265 あわわ、今新しいチップに変えたらうごいた...
いやでもこれV3-5Vトレラントじゃないということは、
だんだん端子を壊していっているようだなぁ。
どう見てもレベル変換が必要です。本当にありがとうございました。
端子を数本壊したAVRあるw なんかの具合で壊れる。 本体は壊れてなかったりするので使ったりするw
268 :
774ワット発電中さん :2011/06/01(水) 21:40:31.21 ID:81f0GK3j
3V電源のAVRに5Vぶち込むってそりゃ壊れるわ
一部のIOだけ死んだりするな 何かの間違いで出力同士がぶつかってて、気付かずに使ってると、 じわじわと死んでいく
OC型でプルアップ抵抗を考えれば耐えられないかなぁ
電源3Vに5V入力とかしてESD保護のダイオードぶっ壊したら 洒落にならないぐらい静電気に弱くなるからな・・・触っただけでアウト 保護が生きてれば意図的にパチパチやっても壊れないくらい頑丈なんだけどね
まず、前提として、そもそもマイコンなど不要。
マイコンでやりたい事などない。全部PCにやらせればいい。
しかし、PCに何かの外部機器を繋ぐ時、
例えば、PCにGPIOが必要とか、PCにSPIが必要とか。
そういう時に、PCとの仲介としてマイコンを使う。
PICなんて名前からしてPeripheral Interface Controllerだ。
どうせ、おまえら何て家から出ないで一日中PCの前にいるんだから、それで十分だろ?
PCとマイコンを繋ぐとすると、一昔前なら、シリアルポートが良く使われていたと思う。
PICでもAVRでもMAX232を使ってPCと繋いでた。
しかし、いつのまにかシリアルがあるPCなんて無くなった。
代わりになりそうなのはUSBだ。
PICだと、USB回路内蔵のを買わないとならんから、最低でも18F2550が必要だ。
秋月価格で400円。
AVRだと、ATTiny2313でもソフトウエアだけでUSB通信が可能だ。これなら100円で済む。
そりゃ、当然AVR使うべきだよな。
まあ、
>>154 はArduinoでも使ってろってこった。
それで何か作ったら、↓にも投稿してくれたら嬉しいです。宜しく御願い致します。
http://soldering-news.ikeji.ma/
>>267-271 あー...うん、素人の考えなさ加減って怖いねwww
「5Vまで動くんだから、3.3Vで動かしていても5V受け取れるだろJK」
と勝手に解釈したおかげで、痛い目にorz。電源特性は最初に目を通そうと
心に誓いましたともっ!しかし、いきなり死ぬのならすぐわかるんだけど、
じわじわだめになっていくのはちょっとわかりづないなー。
>じわじわだめになっていくのはちょっとわかりづないなー。 今の日本そのもの しかし5Vと3.3VのI2Cバスなら、 3.3V側で吊っとけばぎりぎり通信できそうな気もするが。
>>276 うーん、馬鹿な指導者を選んでしまうくらい日本人が馬鹿になってしまったのか、
それともごり押しプロパガンダが良く見えてしまうくらい、みな不安なのか、
っていうか、不安煽ってたマスコミごとタヒってくんねーかなとか思ってしまいますね。
I2C自体は3.3V側でつっていたのですが、やばいのが5Vのクロックを同じCポートに
ぶっこんでいたんですよね。そしたらなんか、I2C通信が不安定になった...orz
今は電圧をレベリングして、違う電圧を要求しているところだけレベル変換しようと
回路図を書き換えています。あー、このためにエッチングしたプリント基板無駄になった...
また作り直しかお。泣けてくるお。もういっそユニバーサル基板でもいい気がしてきたお。
チラ裏は自分のブログだけにしといてね。恥ずかしいわ。
>>277 電源電圧が同じでも別電源や個別にオン/オフできると同じ問題が発生する
から注意ね。
281 :
62 :2011/06/03(金) 02:27:41.72 ID:ljXLrUND
半分すれ違いですが、AVRを使うのでここで質問させてください。 AVRとPCに挿してあるI/Oボードの間でパラレル通信をしたいと考えています。 I/OボードはNI PCI-6024Eを使っています。 MATLABのxPC TargetでI/Oボードを動かしています。 I/OボードにはデジタルI/Oが8本しかありません。タイマーと割り込みはあるようです。 8bitのデータを送受信したいと考えているのですが、どのような方法がありますか? ハンドシェイク通信はデータ用に8bit・STROB・BUSYの合計10本をつなぐ必要があるので、ピンが足りません。 参考になるような、サイト、書籍がありましたら教えて下さい。 よろしくお願いします。 ちなみに、AVRでシリアルサーボを回します。長文失礼しました。
AVRマイコンに対して上位4bit/下位4bitに分けて、2回のハンドシェイク 転送。(必要ならAVRマイコンでその先へ繋がったデバイス/装置に対して 8bit分のデータ転送) データ: 4bit H/L STB ACK(BUSY) で計7本。読み込みも必要なら、R/Wを追加で計8本。
SPIやUARTをボードIOで再現 AVRは手間いらず なんか設問が専門学校の宿題くさいけど良いか
MATLABを趣味で持ってるやつはいないよな
>>238 H/Lとは何でしょうか。
R/Wは送受信の衝突を回避するためでしょうか。
>>284 できれば、UART通信をソフトで再現したいと考えています。
参考になるような書籍はありますか?
よくわからんが、そのI/Oボードを経由させる意味が判らない。 片方向しか通信できないっぽいし、AVRだけでやれば? それでソフトUART?何がしたいのかさっぱり判らん。 とりあえず目的を書きなよ。
>>287 それくらいは自力でできないと将来困るよ。
なんでも米国の電算機通信網のゴッゴルっていう検索サァヴィスを使うと 知りたいことがすぐわかるらしいよ。凄いね!! どうやって利用するんだろう。
そういやこないだ「デバッグしたいのでインターネットに繋ぎたい」ってやつがいたな 日本もうだめだろ
NI-6024使うんなら、素直にLabVIEWでやればいいのに
しかたないよ、課題そのままなんだろうからさ
>>291 CQのSH2A付録号はCDROMなしだったぜ
しかも一部のサンプルはCQに登録しないとダウンロードできない
特にこれってもんじゃないのになんでだろ?
295 :
150 :2011/06/04(土) 01:38:08.31 ID:XopfniE2
ファミコン音源でけたー Tiny45うまうま〜
うp!
AVRを使ってみようと思ってます。 ライタはAVRISPmk2は買うけど、とりあえずエルムさんとこのシリアルライタ も作ってみようとおもってます。 でライタの回路をみてみたところ、外部電源が必要なようですが、これは 実際にAVRマイコンを組み込んだターゲット基板の電源をライタに入れるもの なのでしょうか? 純正のAVRISPmk2の6ピンコネクタにもVCCとGNDピンがありますが、これは ライタ側から給電されるのではなく、ターゲット側から入れるものだと?? すみませんPICとかUSBで繋げられるトラ技マイコンしか使ったことないです。 怒らないで教えてください。
AVRはライタなんか作らなくてもAE-UM232R直結で焼けるよ 純正ライタはxmegaでも使わない限り買う必要はない あと電源は基本的にターゲット側からは入れちゃだめだよ
mkIIだと、ターゲットの電圧を教えるのにVccをつなげる必要があるよ。
>>298 うーん。
PICはJDM/W509って作って、最終的にPicKit3買ったので、AVRも買おうと思います。
>>299 手持ちの74HC125ですぐに作れます。
ただ6pinコネクタが何処で売ってるのか不明なのですが(汗。
>>303 おお、この長さがTiny45に入るんだ。びっくり。
怒ってはないが なんで些細なことをいちいち聞かないと済まないのかが不思議w 聞くよっか実際につなげて確認しちゃう。 だって早いもんさ。 さ、出かけよう。
ライン入力で録音してくれ
>>297 シリアルライター作る前提なら、最初はバイトブラスターでも作ったほうがよくね?
AlteraのFPGAにも使えるし。
310 :
AVR :2011/06/04(土) 17:03:51.43 ID:XopfniE2
312 :
62 :2011/06/05(日) 01:30:10.04 ID:6ODQHgnf
元のROMのデータに近いものを読み出しながら、 割と本気で波形を計算させて、それなりのサンプリングレートを出してるのかな 波形はデューティー固定の矩形波が数種類と三角波しかないけど、 モジュレーションまでやってるから計算量はありそう
PWMで近い波形出す関数とか作ってるんじゃないの? そんなに難しい感じもしないけれど。
記事入れました 文章苦手なので(´д`) そのへんごきゃんべん下さい
316 :
62 :2011/06/05(日) 23:03:46.82 ID:6ODQHgnf
>>315 しかし、すごいな。ファミコンの音源って、再現難しいんじゃなかったっけ。
その技術力はすばらしい。AVRでポータブルファミコンとか作りてぇぇぇぇぇ。
いや、俺には無理ですけどね...orz
音源の再生はもちろんだけど、それを使って他人を楽しませるようなデモ(ソフト)の 両方まで作れちゃうとか、ある種の才能だよね。 大抵の人はどっちかに分かれるもんなんだけど。
そこは「文章が苦手」っていう収支が合ってるんじゃないのかなw
320 :
774ワット発電中さん :2011/06/08(水) 18:37:22.88 ID:3SpD46EH
だれかぃぬxで使えるライタ晒してくれ。
すごいなあ、耳コピ?? 三角波って聞いたことあるけど、どう?
20M⇒32MのオーバークロックするとLPMでROMから読み込むデータから化け始めるのか 今の所、命令そのものが暴走することは無いみたい 同じロットでも化けるものと化けないものの個体差が出るな
>>324 おちつけ
まず、動作確認済みとのことなので石は生きてると考えよう
PCから見えないってことは、PC〜石までの間に問題があるので、石から下流は無視
まずはテスターで導通チェック
通ってる箇所の確認、および気付かない短絡が無いか、丁寧に確認しよう
その他には、石の向き、端子の向きも間違いが無いか要確認
特に端子は方向によって逆になるので、しっかり確認
ここまで間違いがなければ単品の部品の問題になるが、正直、これはかなり確立が低いので
部品の向きや端子、短絡を回路図と見比べまくってくれ
Dの線のプルアップ、プルダウンに問題がありそうな気がする 逆になってるとフルスピード扱いになって 何か繋がってるけど、通信できねぇ、って扱いになる
不明なデバイスだと、たぶん通信線かクロックがおかしいのかなぁ。 V-USBのHIDaspxでの実装はD-のプルアップをマイコンで制御してるからマイコンは生きてる気がする。 まぁ、D-をプルアップするだけで不明なデバイスとして認識するぐらいLowSpeedのUSBってアテにならないけど。
俺は一発で動いたぞ ガンバレ
>>324 PCのUSBポート全部試した?あるポートでは認識するが、他ではしないとかある。
電圧レベルの相性の問題だとすると、LED,ツェナーでレベルを調整するよりは
もうハブとか総動員で認識するポート探したほうが早い。
認識するポートはLED,ツェナーなんかなしでも認識するし。
ちょうどうちでも認識の問題がでて、最適なツェナーを探してるところだった。
スコープでみると3.6Vツェナーだと電圧が規格値まで下がってないようにみえるんだよね。
すごい素朴な疑問なんだけど青色LEDって結構容量大きいと思うんだが USBみたいなそこそこ高速な信号にぶら下げて大丈夫なのかな? ツェナとどっちが良いとは言えないけど
USBハブを挟んでると認識されないということがある(製品による)。 USBハブなしでPCのUSBコネクタに直接挿して動作確認した方が、原因究明のためにはよいと思う。
HIDaspxって逆にHUBじゃないと速度出ないとかあるんじゃなかったっけ? あと、マザーのUSBにいきなり自作のを差し込むのは結構勇気いるぞ?w
正式版のようにポリスイッチ付けた方が良いと思う。 いろいろ弄くってるときに何度か作動した事有るし。
青色LEDやツェナーによる効果がどこまであるかはかなり疑問。 USBバスパワーでも3.3Vレギュレータで電圧を落としてtiny2313を12MHzであれ ば、定格内動作だし、理論上は青色LEDやツェナーは不要。もともと静電気に 弱い青色LEDがESD対策(サージ吸収)に効くとも思えない。 ウチで作ったものは、tiny2313やmega88等を12MHzや20MHz,5V(USB)動作で D+/D-ラインは直列に33Ω抵抗のみ、青色LEDやツェナーもなし。これで10台 以上作って自宅の自作PC(主にAMDマザー)では、認識されなかったことは一度 もない。 ところが、たまたま試す機会のあったHPのデスクトップ(6000 Pro SFだった か?)だと、かなりの高確率で認識されなかったけど、USBハブ経由にしたら、 100%認識された。 ハブは安物でも特に問題なく認識された。 たぶんUSBホストが組み込まれたチップセット(サウスブリッジ)や、その ドライバの違いによる影響の方が大きいと思う。
AMD
USBの信号は結構デリケートだからなぁ 電源周りとか基板のデキが気になる パスコンが適正な位置にあるのかどうか
>>336 動きを見ている限り、認識されないのは、そんなクリティカルな要因じゃない
気がした。リトライを繰り返して蹴られるのではなく、ホスト側のデバイス
挿入検出〜USBのコマンド発行が早過ぎて、AVR側の処理が間に合っていない
のか、失敗しているように思えた。 一旦認識されてしまえば動くが、再度
繋ぎ直すとダメだったり。
バスパワーじゃなくて、常時AVRに給電されるセルフパワーなら動いたかも。
パスコンは104か103かにもよるし、大抵はZ(+80%/-20%)や、温度依存性が
高いF特品だったりするので、経験上、ミリ単位のパスコンの微妙な位置とか
で変わるとは思えない。
そういや、AVRやLibUSBとは関係ないけど、ガジマルの森の汎用USBドライバは、
Intelチップ依存なのか、AMDでは(確かnVidiaやViaでも)動かなかった。
>>337 データシートに29.9mA流れるって書いてあるぞ、なぜ読まない?
トランジスタかFET入れとけ
>>334 レギュレータ使えればいいんだけど、使いたく場合も多いよね。
ただツェナーなしをPCにつなぐのは、気分的になんとなく怖い。
特にノートPCのポートが壊れたらって思うと、精神安定のためにツェナーいれちゃうね。
うちのThinkpadの1つのポートで、3.6Vのツェナーの場合ほぼ認識しない、
3.3Vのツェナーの場合ほぼ認識するって状況になってる。他のポートは3.6で問題なかったんだけど。
それで、いまもっと小さいツェナー買ってきて試してる。オシロでみると3.3Vツェナーいれても
実際は3.6V前後(規格ぎりぎりぐらい)出てるんだよね。
ちなみに使ってるのは日本で入手が容易なルネサスのツェナー。海外のものと特性が違うのかなぁ?
ツェナー電圧が低いやつって電流で結構電圧が変わらなかったっけ?
DC Current per I/O Pin ............................................... 40.0 mA DC Current VCC and GND Pins................................ 200.0 mA 余裕で動かせるで
>>341 そうなんだよね。
電流が足りなくてbreakdownの領域に届いてないのかな?と思ってんだけど
どうするべきなのか知識がなくて往生してる。
>>339 29.9mAって、単純に電圧(5V)をコイルの直流抵抗のTYP値(167Ω)で割っただけ
の数字な気がする。ちなみに直流抵抗の許容差は±10%とあるので、規格内の
良品でも最悪33.3mA流れるカモ。
>>340 レギュレータなしで1.5kΩのプルアップは5V(USB電源)へ?
一定以上の電流を流さないと、ツェナー電圧は安定しないよ?
3.3Vにしろ、3.6Vにしろ、内部的にフィードバックや補償が入っているシャント
レギュレータICと違って、電流を流してもツェナー電圧のバラツキは±10%くらい
ある。例えばルネサス「HZC3.3」の場合、3.10V〜3.50V(@ツェナー電流5mA時)。
トンネル効果とアバランシェ効果が均衡する5V前後のツェナーを除いて、温度に
よっても変わる。
345 :
774ワット発電中さん :2011/06/10(金) 14:06:24.04 ID:6y5zd0Qm
>>334 これ、10台作ったとか、自慢できるようなシロモノじゃない。
5Vで、33Ωだけならパソコンがいつアポンしても不思議じゃなかろう。
>>344 電流ながれないから、ツェナー電圧に達しない・安定しない。というのはなんとなく
理解できたんですが、で、どうするべきなのか分からないんですよね。
とりあえず抵抗とツェナーをとっかえひっかえして、妥協点を探してみてるところです。
自分の環境で問題なく動けばいいってことなら、安ハブにツェナーなしで接続する
のが面倒ないですよね。でも他の人のPCにつないで試してもらったりもしたいんで
より多くのポートで認識できるようにしたいんです。
>>345 だから、そこまで気にするなら、ATMEL純正ライタを買えばいいだけ。
ちなみに最近になってコンプライアンステストの対象からは除外された
ようだが、
> section 7.1.1 USB Driver Characteristic
>
> A USB transceiver is required to withstand a continuous short circuit of D+ and/or D- to VBUS,
> GND, other data line, or the cable shield at the connector, for a minimum of 24 hours without
> degradation. It is recommended that transceivers be designed so as to withstand such short
> circuits indefinitely. The device must not be damaged under this short circuit condition when
> transmitting 50% of the time and receiving 50% of the time (in all supported speeds). The
> transmit phase consists of a symmetrical signal that toggles between drive high and drive low.
> This requirement must be met for max value of VBUS (5.25 V). A USB transceiver is
> recommended, but not required, to withstand a continuous short of D+ and/or D- to VBUS for a
> minimum of 24 hours without degradation.
>
> It is recommended that these AC and short circuit stresses be used as qualification criteria against which the
> long-term reliability of each device is evaluated.
と規定されている。
>>342 それは流しても良いというだけで、流せる能力とはまったく別問題。
よっしゃ3本ぐらいピン束ねたろ これでどや
350 :
324 :2011/06/10(金) 21:37:57.63 ID:Pt7CPz49
324です。 回路図通りに回路は組めていると思います。 全端子正常につながっています。 ただ、GNDとVCCの電圧の差が0.80Vでした。 外部電源を持つハブに接続したところ0.50Vです。 これが動作しない原因かもしれません。 どのように対処すれば良いですか?
何処の世の中に電圧差0.8Vで動くマイコンがあるんだよ... どっか間違ってんだろ。
つか電源-グラウンド間の抵抗測ってみれ。 もちろんPCに繋いだままはダメだぞ もしかしてショートしてない? 保護回路働いてUSBの電源がシャットダウンされてるとか
その前に、テスターの使い方を知ってるのかどうか・・・・
雲行きが怪しくなってきましたよw
マジでライター買え。デジットのでもなんでもいいから ライター作るのが目的じゃねぇだろ
>>350 USB端子はB型?
ならUSBの端子配列を間違えてるに一票
ってかUSBに何も使わずにテスター当ててみなよ
それで0.5しか出てないならPCがアボン
ソケットにマイコン逆差しとかかな?
そういや秋月のLCDに電源逆に突っ込んだ時は熱ーくなったなぁwww
AVRドラゴン、いいよ。
>324 >HIDaspxが書き込まれたATtiny2313V-10PUを手に入れて(動作確認済み) 一応突っ込んでおくが、 定格10MHzのとこを12MHzで動かして「動作確認済み」といっても本当はよろしくないわけで。 まぁ動かない原因はこれと関係なさそうだけど。
>>356 端子配列間違えていましたorz
作成したHIDaspxでプログラムが焼きこめました
ありがとうございました
よく壊れなかったなw早速もう一個焼いといた方が・・・
>>351 つATtiny43U
0.7Vからやで
AVRのピンで直接駆動できるリレーはどこかにないですか
365 :
774ワット発電中さん :2011/06/11(土) 07:30:21.85 ID:H2KB6zTu
実際使われてんの?
なんで直接駆動したいのかが不明w トランジスタなりFET噛まさない理由ってナニ?
マイコンで誘導負荷直結とは勇者。 フォトカプラとか、SSRではいけないか??
動くかもしらんけど、直繋ぎしたら逆電流でIOぶっ壊そうな予感がするな 逆電流防止素子入(ダイオード)入れるくらいなら、最初からトランジスタなり何なり入れたほうが賢いと思うんだけど
デジタルトランジスタ1個で済むのに何で直結にこだわるのかね。 直結でなくてもダイオードは必要だけどね。
リレー側がトランジスタを自前で持っていても、別におかしくない ついでにダイオードも内蔵して、マイコンとリレーだけの方がスマート
>>368 モーターとか(普通の)リレーの直結は独特の気持ち悪さがあるよね
フォトモスリレーあたりにしとくのが無難かと
>>371 そういうリレーがあるって事?それならスマートだが
普通のCMOS素子は、IOと電源、GND間に寄生ダイオードがあるから それが代わりになる。 寄生ダイオードは軟弱だけど、誘導負荷なら通電時に流していたのと 同じ電流が流れるから、いくら流れるかは簡単にわかる。 なので、寄生ダイオードに流れる電流が、絶対最大定格を超えないことを キチンと考慮してあるなら特に問題は無い。 センサなんかの電源を、ON/OFFするためにIOから直にとる回路にして、 大容量のコンデンサを入れてるような回路を見かけるけど、コンデンサに 充電された状態で電源を切った時の方が寄生ダイオードには多くの電流が 流れる場合がある(その素子と同じ電源ラインに繋がってる回路による)
いやいやアレはESD保護用だから積極的に使っちゃいけないよ 長期信頼性に影響を及ぼすからな。2重にみえるかも知れないけど、 大きなPN接合を持ったダイオード(とはいっても小信号用でおっけ)を入れないとダメ 各社半導体メーカは「これぐらいのサージだと何百回ぐらいは耐えられる」みたいな 社内データを持ってたりするけど、逆に言えばその程度の耐久性だったりする
寄生ダイオードは保護用じゃないよ。構造上出来てしまうもの。 絶対最大定格も規定されている。 保護用は意図して入れるもの。 勿論、どっちにしても絶対最大定格ギリギリ流すのは信頼性に影響を与えるが、 それは他の項目でも同じこと。
いや・・・MOSFETそのものの寄生ダイオードじゃなくて
AVRの場合はI/O保護用に入れてあるんだよ
それにリレー駆動した時の逆起電力って何ボルトぐらいになるか見たことあるかい?
ダイオードが繋がっていると一瞬にしてクランプされちゃうけど、
接合部分では放電にも似た現象が生じていてストレスを与えている
(微少領域の熱ストレスとされている)
>>374 で「大きな接合を持った〜」と書いたのはこれを緩和できるからなんだよ
I/Oの保護もそうだけどAVRのグランドや電源にガンガン電流を流したら、 ACDとアナログコンパレータに影響が出そう。 マイコンのピンに余計な電流は流したくないよな。
まー、趣味の工作で一杯ヤケドって経験してくれればいい くれぐれも製品ではやらかすなよw
>>360 ATtiny2313V-10PUを12MHzで動作させると不具合が発生するのですか?
ライタ作成であまった12MHzのクリスタルを用いて
正確な1秒周期割り込みをさせたくて
タイマー1を256分周46875カウントで作成しようと思っていました
ヒューズを設定して1.5MHzで動作させることもできますが
そうすると1秒周期割り込みをさせるのが難しいのです
つ 定格
液体窒素で冷却したらクロック2倍か3倍ぐらいには上げられるかな? せめてペルチェでマイナス数十度にすればかなりのオーバークロックが可能だろうな
ゆとり脳、夢日記スレ。(藁
>>381 自分で補足
調べてみたらETA10ていうスパコンの液チで冷やしたバージョンが
3倍近いクロックになってる・・・と言うことは20MHzのなら50-60MHzで
動かせるかな?・・・とかw
ロジックの部分は速くなるだろうけど flashとeepromがうまくいかないと思われ
胴配線で1GHzのAVRマイコンはまだかぁ〜w
386 :
774ワット発電中さん :2011/06/12(日) 12:39:32.28 ID:JH6mZzwI
1chipマイコンの勉強したいのだけどPICとAVRどちらがお勧めですか? 用途はガイガーカウンタの表示です。 アセンブラの知識はZ80で止まっています。
周りに使っている人がいるなら同じチップの方がオススメ あとは好みだと思います。
もう苦しまなくていい Z80でやればいい
じゃぁ唐突に78K0を勧めてみる。 NECのFAQはマジに神レベルだから、どのマイコン使うのでもお世話になった。
Z80と言えば、次はZ8000だろ。全然違うけど(w
Z800というのもあった、ような。
R800じゃなくて?
ZなんてAVRと間逆なコード体系だよなぁ、効率最悪で。 仕事でも出来れば触りたくないな マシンコードは今でも殆ど覚えてるけどねw
395 :
386 :2011/06/12(日) 13:54:14.52 ID:JH6mZzwI
うーん PICもAVRも敷居は同じと言う事でしょうか? 参考書の豊富さやスタートキットの価格的にはどうでしょうか?
ちょっと調べるのも面倒な時代にZ80が使えたんだ。 今の時代、その気にさえなればどっちだってすぐに使えるさ。
優柔不断なヤツはPICに池ばいいと思うよ〜
どうせCで書くんだから何を使っても同じ アセンブラで書くならAVRの方が素直だけど、 無駄な苦労をしたいという要求も存在する
>>398 いや、最近のならともかくPICの過去モデルをCで組むのは死ねるぞ。
>>395 用途の方が大事ならArduinoでちゃちゃっと済ませる
勉強の方が大事ならAVRの開発キットをちゃちゃっと買う
PICは…なぜこのスレでw
401 :
395 :2011/06/12(日) 15:27:37.24 ID:JH6mZzwI
皆さんありがとうございます。 ソフトはアセンブラで書くつもりなのでAVRを勉強したいと思います。 ちなみに一番最初に作ったCPUボードは8080でスイッチぱちぱちDMAでプログラミングしていた世代です。
>>401 今時の子どもに、スイッチでアドレスをなんて、どんな世界か想像出来ないと思うよ(w
ちなみに、漏れがAVRを使っているのは、開発環境がフリーで手に入って、
焼きこみツールにBYTEブラスターが使えて、元手なしに遊べたから。
それに、AVRのアーキテクチャーも気に入ったし。
404 :
395 :2011/06/12(日) 16:05:12.50 ID:JH6mZzwI
>>403 BYTEブラスターでくぐって見ました。
簡単に作れそうです。
開発環境的にも色々と紹介しているサイトがあるので勉強してみます。
どうもありがとうございました。
405 :
324 :2011/06/12(日) 23:07:25.68 ID:L5MVR4L8
12MHzのクリスタルで遊ぼうとattiny2313vのヒューズを Low、High、Extをそれぞれ 0x64 0xDF 0xFFから0x7F 0xDF 0xFFに書き換えたら hidaspx-guiで認識できなくなってしまいました 12MHzのクリスタル付けても認識しません どうしたら再度認識するようになりますか?
407 :
324 :2011/06/13(月) 00:03:45.80 ID:XRUvAw3H
>>406 今回作成したhidaspxのライタしかもっていないのです・・・
12MHzの8分周で1.5MHzで動作させようとしたのですが
もう戻せないのでしょうか?
私のAVRライフもここで終わりなのでしょうか?
2313は安いので買ってこいw というか、HVライタなくても006Pとか持ってると組み合わせて書き換えできるんじゃなかったっけ? ぐぐると出てきた覚えがあるんだけど、うろ覚えなので誰かplz
8MHz程度のOSCをXTAL1に繋ぐ仮配線とかじゃ駄目? 発信器持ってないなら2313買いなおした方が早いと思うけどw
外部から無理やりクロックぶち込むわけか・・・ >私のAVRライフもここで終わりなのでしょうか? やめれwジワジワ来るw
411 :
774ワット発電中さん :2011/06/13(月) 08:37:07.28 ID:aGgiNL6d
>405 外部の発振器でXTAL1にクロックを加える。
>0x64 0xDF 0xFFから0x7F 0xDF 0xFFに書き換えたら このとおりに設定したなら、ヒューズ設定を間違えている わけでは無いんだけどな〜 クリスタルの配線がおかしいじゃないかな。 HIDaspxには1MHzクロック出力があります。(Pin14)
私のAVRライフが終りと聞き。
405のライフは0よ!
通信速度を落としてみな d4とかそんな感じ きちんとオシレータ繋いであれば動くだろ
416 :
324 :2011/06/13(月) 12:51:00.72 ID:CpTxm3rI
>>412 ヒューズを8分周していない設定
0xFF 0xDF 0xFFで設定したavrは12MHZの
クリスタルを装着すると同じ回路で問題なく
プログラムが書き込めます
なぜ認識しないのかの理由が全くわからないです
1MHZを入力することで治りますか?
417 :
774ワット発電中さん :2011/06/13(月) 13:02:20.33 ID:aGgiNL6d
発振をクリスタルに指定したのではなく クロックは外部からもらう状態にヒューズを 設定しています。 いわゆる外部クロックです。 1MHzを加えるとその1/8の0.125MHzで動くので 遅いクロックの対応が必要なことも考えましょう。
1MHzより高電圧ライタ作れ
おいらもクロック設定を色々いじりまわしたクチ。通信速度関係の制限が絡んで やっかい。結局、並列書きこみができる純正ライタ買うハメに。これでも、 本来、動作するはずの通信速度でもダメだったりで試行錯誤錯誤した。
こういう時、いぶし銀のSTK500が光りますw
422 :
324 :2011/06/13(月) 23:33:18.94 ID:XRUvAw3H
AVR2313をもう一個買ってきました 高出力ライタを作る前に色々と試して見ます main関数外でPORTBやDDRBの設定をすると マイコンが動かない・・・ なぜなの;;AVRライフは思ったより難しいです
AVRライフってリア充ぽいよね(棒
>412>417ってことなら解決できるじゃんよ HIDaspxのオプションで-d50とか60くらい
>>423 そのうち「AVR力を上げるには」みたいな書き込みが増えるんですよ
>>426 私のAVR力は53万です。
って、AV53万かけた奴みたいでヒドス。
モテるAVR力を磨くための4つの心得
満喫AVRライフ 7月号 R8C評価ボード付 760円 特集記事 ・AVRチカラにプラス。LEDチカチカにちょっとスパイス! ・オフィスで光るAVRチカラ。液晶つなげると凄くない? ・ときめくAVRチカラ。気になる人と相性占い!! よみもの ・あるどぅいーのってAVRだった!! ショップガイド ・サトー電気 鈴商 オヤジとタイマン!! 頭痛い・・・
R8Cが付録なのかよw
彼氏のCPUがAVRだった、死にたい とか、続くのか…この流れw
>>422 ポート設定で動かなくなるってことは電源の配線がちゃんとされてないのでしょうw
ポートの流入電力だけで動いてしまうことはよくあるんだわ
>>422 最適化で省略されてるとかは?
無効にするかvolatileつけれ
ってかエスパーじゃないから情報少ないと無理だな
余計なの消してソース貼れよ
434 :
324 :2011/06/14(火) 20:45:57.19 ID:TXLCux8w
>>432-433 変な流れを作ってごめんなさい
配線は問題ないみたいです
関数のプロトタイプ宣言したら
問題なく動きました
435 :
324 :2011/06/14(火) 21:27:26.46 ID:kugKXjzN
>>425 あなたが神か!
-d50オプション指定したら
無事書き込めるようになりました
なんだ、ちゃんとAVR力アップしたじゃんw
-50dBに見えた
どこぞに、USBブラスタでAVRに書き込めるソフトってないかね?
USB内蔵のAVRってありませんか?
>>440 あるよ。arduino UNO のUSBインターフェースに使われているやつ。デジットで売っています。
>>440 at90usb、atmega32u4とかあるよ。
入手はmouserとかにあると思う。
ボードがよければteensyがいい。
いま秋月のUSBシリアル変換モジュールを書き込みに使ってるんだけど、これと別にライター作るとしたら何がオススメ? ポートはUSBしかない
usbasp
hidaspx ドライバ不要なのが便利
ところで、ロックビットの変更でEEPROM以外を吸出し不可にする方法ってない?
>>447 ライタだけなら2313で事足りると思うよ。100円だし。
シリアルライタ作って、AVRらしい最初の自分の作品は、
Hidaspxだったから、たくさん使ってる。
そうなのかそれは助かる けど手元のクリスタルは16MHzと20MHzしかないから12?MHzを買わないと
16でも20でも作れる
そんで、2313なら内蔵RCを12.8MHzに上げれば動くんじゃなかったかな
セラロックでも弾かれるのに内蔵RCで動くのかい
そういえばソフト的に同調する裏技もあったような気がしてきた
現状でいいのは16MHzで作るのが良いかもね。 秋月で12MHzが10個入って500円のクリスタル買ったんだけど、 12MHzを他で使う用途が今のところ見つからないので、 無駄にライターを作っては布教活動にwww それくらいHidaspxは安く便利だと個人的に思ってる。
hidaspxってavrdudeでサポートされてるといいのにな。 本家にパッチは送ってないのかな? 自分はライタが必要なときだけarduinoにmega-ispスケッチをロードして焼いてる。 普段は最初だけライタ使ってusbasploaderをブートローダーとして書き込んで、 以降開発中はライタなしのUSB経由でavrdudeでアップロードしてる。 ピンの都合とかAVRの品種によってはできないのもあるとは思うけど。 他の環境を知らないがこれが便利と思って使っている。
avrusbとかだと16MHz動作も例が見つかる。f_cpu書き換える程度でokかな?よく分からないままアレンジすんのはハマるパターンだからできれば避けたいが・・・
例つーかusbdrvフォルダ中のソース見ればどの周波数で動くかは判るでしょ
ちなみにhidaspxは16と20MHzで動作は確認してる ただ、2313の場合フラッシュ容量の方がキツキツなので、 コンパイラバージョンを変えたりしないとだめかも
>>456 > Can be clocked with 12MHz, 15MHz, 16MHz or 20MHz crystal
> or from a 12.8MHz or 16.5MHz internal RC oscillator.
ってトップページに書いてあるよ
添付のドキュメント(もしくはソース中のコメント)までみれば変更方法が書いてあると思う
自分はATtiny85の内蔵RC発振器で遊んでいるので16MHzはやったことないけど
たぶんf_cpuの変更だけでOKだと思う
>>458 それがあった!
配布されているhexも12MHzのやつでほぼ2k使い切ってるんだっけ。
最新のではどうしても小さくならなくて、俺諦めたんだった。
そろそろ2313も引退の季節か…MEGAも安くなっちゃったしなぁ
>>461 個人的には、趣味でやる分には、この2313をどこまで使ってやれるか、
もしくは単機能の装置を如何に安く上げるかを2313を軸に考えてアレコレ
悩むのがすきwww。100円でUART付いているところが超ポイントだと思ってる。
仕事でAVR使うことって...いまだ無くて寂しい。
そうねぇアセンブラでガリガリやるのは楽しいよねー>2313 ちょっとした規模でCで書こうとすると、結構つらくなりつつ。
まぁ、趣味で何かに組み込むなら2313いいよな。A/Dが無いのは ちょっと悲しいけど。秋月でMEGAの20pin出してくれれば。 R8Cに浮気しそうです。 確かに仕事じゃ使わないんだし(w
megaで20ピンってあったっけ?
8ピンmegaが欲しいです
これからマイコンを始めようと考えてるのですが AVRとH8とPICのどれが初心者にやさしいですか? AVRは最後発な分洗練されて扱いやすいときいたのですが。 一応SEなのでプログラム自体には慣れていますが、 おそらく各マイコンに癖があると思いますので、そのあたりの 扱いやすさを知りたいです 例えば書き込むライターの扱いやすさとか、プログラム部分はひっかからないけど 回路の設計が面倒とか○○のIDEは糞とか。
ここに来た以上、AVRをやってもらうが? 糞かどうかに関わらず、だ
まずArduinoやれ。
H8の工作なんてやってられないよ・・・ DIPじゃなきゃヤダヤダ ただひとつ言えるのは 「い ま さ ら P I C は 止 め と け」
定期的に来るのはナゼ?w 「マイコン初心者スレ」とかなんでないんだろうw 昔なかったっけか?
>>474 まずね、マイコンがアナログ回路で無いという認識を何とかした方がいい。
特にパソコンのプログラミング経験があるなら。
確かにマイコンはデジタル回路だ。
だが、誰がアナログ回路で無いと言った?
476 :
468 :2011/06/19(日) 17:55:29.81 ID:tBp17OVv
>>475 そういう訳ではないのですが、つまり、AVRやPIC等のチップや
環境やデバイス依存の部分の話題についてはこちらのほうが
適当ではないかと考えたということです。
前述のスレはどちらかというと回路自体に寄っていると。
前はAVR、H8、PIC総合があったらしいですが、今は別別になっているので
いまのところ使用する確立が高いAVRのスレでお聞きしました。
俺もソフトしかやったことなくてこの前Arduino始めただけだけど マイコンってただピンの電圧をON/OFFするだけだから どれでも一緒だよ。だからArduinoがいいよ。
>>476 やっぱり Arduino Diecimila (UNO ニ非ズ) がお薦めだよ。
arduino と して使わないといけないわけじゃなく AVR を直に使っても
良いわけだし。ライタにもなる。
初心者向けのサンプルも多数あるし、これをベースに知識を広げていったら
良いんじゃないか。
>476 ちょっと前のPICスレ(504,507)でも出てたけど新規ならAVRがいいよ。 AVR,PIC以外はDIP品がほとんどなく、面実装の多ピンばかりなので ・大規模な回路しか作らない ・専用基板から作る(自作なり、発注なり) な人じゃないと使いこなせない。逆に上記をクリア出来るならARMがいいかも
将来的に可能ならパターン配線も起こして作ってみたいとは思ってますが、 PICの系統によって命令体系違うとかちょっとアレだし とりあえずAVR系にしようかな。 Arduinoもちょっと検討してみます。 ARMはあこがれますけど、チップも情報も開発ツールも なんとなく入手性や難易度的にもまだ早そうな感じがしますし。 周波数的にもアナログ回路の難易度が上がる気配がしてます。 小学生からやりなおすので、ちょっと手がでない。
それぞれ使ってみた感想 AVR 開発ツールにお金がかからない C言語でプログラムを書くのに制限が少ない PIC16 無料のCコンパイラだと制限がきつい もうアセンブラでプログラムを書くのはいやだ 今からPICをはじめるなら、PIC24がおすすめ PIC24 秋月でDIPパッケージのが350円。性能のわりに安い 無料のCコンパイラでも制限がゆるい。 AVRよりも普通のCPUに近く、プログラムを書きやすい。 R8C 秋月でDIPパッケージのが100円。タイマー3本にADコンバータ、UARTも付いていて便利 ライタ不要(シリアルポートで書き込みできる)なので、はじめるのにお金がかからない 無料のCコンパイラでも制限がゆるい。リンクサイズが64kバイトだったかに制限されるだけ PIC24よりも、さらにPCのCPUに近いので普通にプログラムを書ける。 データシートが日本語なので、読むのが楽チン どのマイコンでも、ひとつ使えるようになれば、ほかのマイコンもすぐに使えるようになるから どれからはじめてもいいと思うけど、AVRスレなのでAVRを一押しにしておく。 入門書は別に読む必要はないと思うけど、各メーカーが出しているデータシートは必ず読むこと 1回読んで意味がわからなくても、10回くらい読めばわかるようになる。 英語のデータシートを読むのがいやな場合は、R8Cがおすすめ。 どのマイコンも、メーカーが開発ツールの評価版を無料で出しているから マイコンを購入する前に、実際にプログラムを書いて、開発ツールのシミュレータで動かしてみるとよいと思う。
ガチな初心者にはAVR&BASCOMでグフフ BASICの命令でシリアル通信とかグラフィック液晶にお絵かきとか、かなり衝撃的だった。 センサと液晶つないで、○○計みたいなのをでっち上げるのも超簡単 しかし万年素人と呼ばれる諸刃の剣、Cを書けるような玄人にはオススメできない
>>482 でも、やりたいことサクっとできりゃOKなら
全然アリだと思う。
>>476 入門書はPICが多いけど、AVRだと開発ツールやライタの制作など、
開始のハードルが低く、オススメだと思うよ。
最初はarduinoでMCU周りの回路を既製品に任せてしまうのもいいと思う。
しょっぱなからフルスクラッチで自分からやるんだっていう意気込みは
すばらしいが、頼れるところはあるものでまかなってしまうのも手だ。
ソフトはさんざやってるんだから、用意されたライブラリ使わない
プログラムなんてかかんだろう?それと一緒。
>>484 >用意されたライブラリ使わない
>プログラムなんてかかんだろう?それと一緒。
たしかにそうでうね。仕事ならそれ一択だと思います。
ただ今回は趣味なので自分でやってみたいという
気持ちもあるんです。
ライブラリも中身は理解してるけど、いろんなコストのせいで
自分ではかかないってだけなので、HW素人な自分にはしくみの
理解というのもそれ自体けっこう意義があると思っています。
無理そうならとりあえず既製品使ってとかは考えてますけれども。
最初はArduinoで次のステップは自作というのも良いかと思ってます。
今の気持ちではAVR系でいきそうですね。
ArduinoもAVRですし。
マイコン自体は実はどうでもよくて周辺回路のほうが大事だから Arduinoでいいよ。マジで。
あの・・・ AVRごときでライブラリーとかさ。大げさじゃね? AVRの良いところは、適当に組み上げても動いてくれるわけで、 プログラムも自分流のコーディングでやりたいようにやればいい。 一言で言えば、自由気侭なMPUなんだよ。 何をどうすれば良いのか全く解らない時は、電源と書き込みに必要な 信号だけ繋げてヒューズビットを読み書きすればいい。それが出来れば、 適当な抵抗とLED付けて点滅させればいい。 ここまで出来れば、後は作りたい物を作ればいい。それだけだろ。
488 :
774ワット発電中さん :2011/06/19(日) 22:01:21.98 ID:pM8FB2Q/
いや、シリアル通信、LCD(キャラクタ、グラフィック)表示とか、ライブラリ頼み でしょ。労力を割くものじゃないと思う。
487 が自分の信条をAVRに投影してる件w
>>488 既存の汎用デバイスのドライバとか再発明したくないよなぁ
毎回SDカード用にFAT32を書く男の人って・・・
結局、電圧上げ下げしてるだけだからな そんなの勉強してもあまり意味ない
これからクルマを始めようと考えてるのですが トヨタと日産とホンダのどれが初心者にやさしいですか?
>>488 全部作ったな
借りてきたのはFAT32くらい
あんなもん作ってられない
だがしかし、ライブラリもろくに使えない(コメント読まない)で もしかすると自分は絶望的な無能者なんではと軽く鬱になったりするんだ。 そうだろう。そうだといってプリーズ。
R8Cは8ピンないのがイマイチ
>>467 シリアルと乗算命令が欲しいなと
tiny85みたいなPLLもあるといいなって
そういやPIC24も8ピンないな かといってPIC18以下は薦められんし 結局AVRがバランスは一番いいんだろうな
AVR2313です。ロータリースイッチを0〜Fのうち0を設定、 2bitDIPをON、ONにして実行するとPowerDownに入ります。 そこで2bitDIPスイッチをOFF、OFFに変更して ロータリースイッチを0以外に変更するとhoge()は実行されずに タイマがスタートしてLEDのON,OFFが周期的に実行されてしまいます。 そのままロータリースイッチを0に戻すとLED表示は止まります。 再度0以外にするとLEDのON、OFF処理が実行されます。 INT0ピンには何も接続していないのでPowerDownから抜け出すはずが 無いと思っていましたが、何か間違えていますか? エロい人お願いします。 正論理4bitロータリースイッチ:1-PB1、2-PB0、4-PD6、8-PB2 2bit DIPスイッチ:1-PD5、2-PD4 LED:PB3、PB4 コードは以下に示します。
/* スイッチの値取得関数 */ void get_switch( uint8_t *ui8_sw1, uint8_t *ui8_sw2 ){ /* ロータリースイッチの値取得 */ *ui8_sw1 = (PINB & 0b00000010) >> 1; *ui8_sw1 |= (PINB & 0b00000001) << 1; *ui8_sw1 |= (PIND & 0b01000000) >> 4; *ui8_sw1 |= (PINB & 0b00000100) << 1; *ui8_sw1 = 0b00001111 - *ui8_sw1; /* DIPスイッチの値取得 */ *ui8_sw2 = (PIND & 0b00100000) >> 5; *ui8_sw2 |= (PIND & 0b00010000) >> 3; *ui8_sw2 = 0b00000011 - *ui8_sw2; } ISR(TIMER1_COMPA_vect){ LEDのON、OFF処理; } void matsubeki( void){ while(1) { set_sleep_mode(SLEEP_MODE_PWR_DOWN); sleep_mode(); } } void main( void ){ /* PORT初期化 */ DDRD = 0b10001111; /* 方向ポート 1で出力 0で入力*/ PORTD =0b01110000; /* 入力ポートを1でプルアップ */ DDRB = 0b11111000; PORTB =0b00000111; /* スイッチの取得 */ get_switch( &ui8_sw1, &ui8_sw2 ); /* スペシャルファンクション判定 */ if(ui8_sw1 == 0){ matsubeki(); } Timer1スタート(CTCで0.25秒毎割り込み); set_sleep_mode(SLEEP_MODE_IDLE); hoge(); sei(); // 割り込み許可 while(1) sleep_mode(); }
素でロリータスイッチに見えたから、今日はもう寝ます
デバッグ押し付け的な質問は受け入れられない ロリータスイッチなんかそのうち使わなくなるが エミュやシリアルで適当に値を調べまわったら判るんでは
>>501 エロいですね
おやすみなさい
補足です。
2bitDIP ON ON、ロータリースイッチ 0で起動してPowerDownした後
ロータリースイッチを1にした後2bitDIPをOFF OFFにしても何も反応しません。
その後、ロータリースイッチを0に戻してから1にするとタイマが動作します。
また、以上の操作でロータリースイッチを0に戻してから
2bitDIPをOFF、OFFの状態からON、OFFまたはOFF、ONのに切り替えると
タイマは起動せずにタイマで処理されるはずの
LED ON、OFFの処理が1回だけ行われます。
ON、OFFまたはOFF、ONの状態からON、ONの状態にしても
LED ON、OFFの処理は行われません。
hoge関数の中身はISR(TIMER1_COMPA_vect)で行われている
LEDのON、OFF処理と同様の処理です。
エロい人お願いします。
>>485 普段はVisualStudioとかなソフト屋さんなら、お勧めの開発環境は、R8だがな。
HEWのデバッガは良く出来てる。
オシロでデバッグできるハード屋さんが、少しソフトもって話なら、AVRでいいと思うが。
505 :
499 :2011/06/20(月) 01:24:04.66 ID:QGyw+MD4
原因がわかりました。
半田付けミスでした。
AVRのGNDに接続されている線と
電池の-端子が導通していませんでした。
>>502 10日前にHIDaspxを作成してAVRライフをはじめたばかりの
初心者なのでエミュやシリアルについて何も知りません。
ロリータスイッチとエミュやシリアルについて調べてみます。
ありがとうございました。
なんでロリータスイッチを使わなくなるのですか?
大人の魅力に気がつくからですか?
秋月のロリータエンコーダとかよく使うけど?
シリアルは基本だから練習しとけ ロリータ略をなぜ使わないか、 部品代が無駄に高いのが1つ、 場所を無駄にとるのが1つ、 消費ピンがもったいないのが1つ、 大抵はボタン数個で間に合うからだ 世の中にロリータ略を使う製品がいくつあるというの 最近はボタンすら使わないんじゃないか
技術系はロリが基本なのか・・・w
AVR使いって変態紳士っぽいよねよね?
全裸に靴下でコート引っ掛けてアキバを歩いています。
>>510 うさみちゃんに目をつけられて、逮捕されてしまえwww
( ゚∀゚)o彡゜ちんこ!ちんこ!
マイコン始めようかと思ってましたがAVRはやめときます
懸命だなw
迷ったらpicやっとけと プログラム言語のCみたいな存在でしょ? avrは何かなJava?
なあ、PICスレで話題になってるんだが、 内蔵UARTなし、内部1MHz発振のAVRで、 1msタイマーと9600bpsのUART(送信のみ)を作るとしたら、どうやる? あっちは4MHzだがAVRだと4倍以上速いので。
>>517 PICは高級言語向きじゃなかったのに比べ
AVRは最初からC言語意識して作られたからな
後発の良さというか、あまりにPICがメチャメチャだったのもある
wレジスタはもう許した
>519 FPGA内にマイコンコア作ってみるとわかる、 人の目からみた合理性が多くの場合ものすんごく足を引っ張るという事実。 コンパイラが頑張るべきところはコンパイラが頑張るべき、というPICの思想は RISCに通じるもんがあると思う。コードサイズでかくなるけど、RISCもそういうところあるし。 かなり褒め殺しに近いかもだが。
>518 1MHzを104で割って9615Hzのタイマ作り、それを 1000000/104カウントして1ms作ればよかろ。 ここからどれくらい手を抜くかは1msタイマのジッタの許容範囲次第。 PICでもたいした困難があるとは思えないが?
>>521 > コンパイラが頑張るべきところはコンパイラが頑張るべき、というPICの思想は
その思想は後付だと思う。
もしその思想通りならばスタックリミットもwレジスタ未初期化フラグもいらないことになる。
>>521 自分のやるべき仕事を放置してしわ寄せを作る人間の言葉だなw
>>521 そもそもRISCにしちゃトロ過ぎだろ
しょせん旧GI時代のクソ設計だから
コンパイラもなにもPICでまともにC使えるようになったのは 比較的最近じゃないの?以前は普通にアセンブラ前提だったかと そのくせアーキテクチャがアレなもんで(ry
俺にはどう考えてもPICのほうが敷居高かった。 まあ馴れればどうってことないけど最初は入り易いほうがいいよね。
AKI-80でパチスロ設定判別期を量産して売りさばいていた頃にPICが出てきて こりゃちっさくてめっさいいわ!って感じで移行した記憶がある。 元々アセンブラだったんで特に困らなかったな。 AVRはGPSとつなげて楽しく遊んでる。
PICはプログラムで2/3ぐらいエネルギー使ってしまう気がしてた もう戻りたくない・・・
Z80も大半はレジスタのパズルやったなぁ
津波に注意
裏レジスタを使うのだ
裏レジスタはアクセス遅かっただろ CPUクロックもしょぼかった時代だし
アクセス遅いっつーかEXX EX AF,AF'のそれぞれ命令使ってひっくり返すからね。 平たく言えば今のHTみたいな事なんだよな、割り込み中に使えって感じだったけどね。
>>535 ATTiny45か85か
ただ値段が対抗できないな...
tinyでもUSART内蔵してるといいんだがなあ 簡単に全二重通信できるUSARTはやっぱ便利 USIでTWIやるとマスターが定期的に見回らんといかんし スレーブ側は無駄に割り込みが増えてタイミング扱う処理で困る
WinAVR-20100110+AvrStudioの環境で、リンカーで未使用シンボルを削除したいけど方法ない? 未使用関数をコメントアウトするってのはなしで。
>>538 関数を1つづつファイルに分けてコンパイルし、ライブラリを作成する。
>538 外部参照のないシンボルを隠蔽したいのか 使用されないシンボルの参照先ごと削除したいのかで違うが、 -ffunction-sections とか --gc-sections でググってみそ。
×づつ ○ずつ
>458>460に関して素朴な疑問 ピンアサインだけ変更してmega88とかでそのままリビルドできないものなの? tiny2313固有の何かを使っている?(そんなのあるのか知らないけど)
2313固有のアドレス指定とかUSIでやってる通信をSPIに直すとかがある
AVRの勉強をしようと思っているが、 たくさん種類があるから、どれを買えばよいか 迷ってしまうな。 (LCD2USBみたいなのを作成してみたい) 過去ログを見ると 「試しながら学ぶAVR入門」 「AVRマイコン・プログラミング入門」 あたりが入門書のようなので、明日情報処理の 帰りにでも買ってこよう。
とりあえず2313を100個だろ
某よっちゃんさんも100個買ったけど、その後がないね
>>539 それはかんべんしてくれw
>>540 ありがとうございます。うまくできました。
[ALL files]に「-ffunction-sections」 [Linker Options]に「-Wl,--gc-sections」
-Wlと--gc-sectionsを個別に追加してると順番を見ているようでだめだった。
GPS魚探からNMEAをmega88PのUSARTで直で受けたらダメだった。 インバータで反転させたら一発だった。 通信よくわかんない。
232Cのドライバ/レシーバは、いずれもインバータになってるので、入力と 出力は論理が反転している。 負電圧を直列ダイオードでカットして、抵抗 分圧とかで、電圧レベルだけマイコンのVcc電圧を超えないようにしても、 論理レベルは変わらない。 ド素人は、おとなしくトランシーバ使っとけ。mega88Pに限った話じゃない。
AVR内臓のEEPROMについてお聞かせください。 ATMEGA328のEEPROMを使おうと考えています。 I2Cなどでの外部EEPROMですと、通常ページ単位で書き込みを行い、 見かけ上書き込み速度を短くすることが出来るようになっていると思います。 AVR内臓のEEPROMに関しては、どのサイズがページ単位に相当するのでしょうか? それとも毎回ブロック書き込みして待ち受けないといけないものなのでしょうか?
>>549 んーと、伊東さんありがとうございますw
オシロで観測しましたら、
5V信号だったんで、直で受けてみたんです。
232Cって5Vでしたっけ?
ADMのなんとかってのもあるんですが使ってませんw
モノが魚探で、インターフェースがよくわからなかったんで・・・。
こういう機械のインターフェースってTTLが直で出てくるのって
スタンダードなんですかねぇ。
機械自体はごく最近のものです。
仕様書の類も探したんですが、NMEA0183 ver2 boad4800としかw
メーカーに問い合わせろって事ですかね・・。
>>550 AVRとかPICの内蔵EEPROMは特定IOのBUSY待ちをするよう、データシートに
記載されています。
最小書き込みサイクルなどはデータシートによりますが、保証値であるだけで
ソフトウエア的にはポーリング(または機種により割り込みなど)が基本だと
思います。
ページ単位という概念での高速化は、外付けのEEPROMの場合ではないかと思いますが
内蔵の場合でも上記割り込みやソフトウエアの工夫でどうにかはなりそうですが(内部RAM少ないと厳しいですが)。
いずれにしても、書き込み待ちのポーリングルーチンは必ず必要ではないかと思います。
>>552 ありがとうございます。
一回の書き込みの最大書き込みサイズはどの程度
なのか知りたかったのです。質問の仕方が悪かったですね。
確かにI2Cの外部EEPROMはバッファに書き込んでいるのようで、
まるでコミットするようにSTOPコンディションを送ると同時に書き込み
その分の一回の書き込み時間で済むという利点があります。
内臓もそのようになっているのかな?だとしたら、何バイトごとに書き込むと
効率が良いのかな?と思い質問させていただきました。
232Cは接続先が固定の場合以外はトランシーバ入れとけ 電圧は個体でバラバラ 15Vだかが定格だが5Vとかも多い
>>553 内蔵EEPにページバッファなんて無かった気がする
>>555 情報ありがとう。データシート見ててそれっぽい記述がないものだから、
"実はあるけど書いてないよ"的なものだったらもったいないなぁと思ったのです。
そうすると、基本2byte,BLOCKでも4byteずつというのが動作の基本になりますね。
ありがとうございました。
え? EEPは1バイト単位じゃないかな
おいっ!アトメル! USB内蔵AVRのファームウェアのサンプルソース、もっとわかりやすく書け! ボケ! インド人に書かせてるだろ!
>>558 貴殿が書き直した物をAtmelに送りつけるのだ…
AVR wikiでも良いです。
載せてもらえると多分、喜ぶ人々もいるでしょう。
自分はLUFA使っている
>>559 元がぐっちゃくちゃのめっちゃめっちゃなので、俺の頭では書き直すことは不可能。
>>560 おぉ、こんなんあるの知らんかった。
さっそく試してみます。
書き込んで良かった。
宇宙へはもういったのかな
ナア。 秋月で売ってるATTiny13Aて。 何の需要で置いてあんの? なんかどう見ても・・
DIPなのでソフト開発用でしょ。開発完了の暁にはお隣の戦国でSOP購入。
>>567 たぶんそゆことを言いたいのではなく・・・
買ってる人に聞いてみれば面白いかもw
普通に8ピンDIPが必要で割と買うんだが 良い代替えがあるなら教えて
ATTINY2313 使ってるんだけど、PB4-PB7 に接続している 4 つの LED の内 1 つの LED がちゃんと光らない PB7 の LED なんだけど、電圧降下が起きて 1.8V くらいになってしまう そのほかの LED へはちゃんと 5V 行ってる 試しに PB7 から切り離して LED へ 5V 流すとちゃんと点灯する 切り離した場合、PB7 からもちゃんと 5V 出てる でもいざ LED へ接続すると電圧降下する マイコンを交換してみても駄目だった マイコン - 1kΩ - LED - GND っていう単純な回路で、何度見直しても回路上に問題は見つからない 半田浮きもあるかもしれないと、一応全部熱を入れ直したけどそれでも駄目 何か思い当たる原因ありませんか?
PB7だけ入力になっている
>>573 一応確認したけど、
DDRB = 0b11111111;
>>572 ライターつけっぱなしとか。
ライターの種類によっては影響あり。
>>575 ライターは書き込みように別基板を起こしてるので、この基板はスタンドアローンです
>>576 DDRB = 0b11111111;
sbi(PORTB, PB7);
これで付きません
sbi(PORTB, PB4);
sbi(PORTB, PB5);
sbi(PORTB, PB6);
は正常に点灯
おっと、一応その前に #define sbi(BYTE,BIT) BYTE|=_BV(BIT) #define cbi(BYTE,BIT) BYTE&=~_BV(BIT) って定義はしてあります
USIが起きててPB7(CLK)がオープンドレインになってるとか。 あとは...、 DDRBを設定しただけ? よみこんでみて値はちゃんと 0xff になってるかどうか。
どうせどっかと短絡してんだろ
頭冷やせよ
>>570-571 昔さー、リセッタ用途にでも買うかナーとか思ったけど
さすがに手が出なかったわ
上位のでもできるし
ナニに使ってんの?
>>581 ショートだったら良かったんだけど丸一日かけて手を尽くして、結局今2日目でお手上げなのさ
>>582 困ったときのブレッドボード
ブレッドボードでも同じかどうかやってみよう。
基板が理由かどうかは切り分けられる。
>>583 oh すてきなアドバイスありがとうございます
お昼終わったら試してみよう
あ、あれ? AVR Dragonって旧デバイス対応してないのか 折角買ったのに orz xmlのデバイス情報入れれば動くのかな?
旧デバイスって?
>>583 LEDも交換してるんだよ・・・な?
何かしら思い込みがあると思うけれど
1っこ思いついたけど、やっぱ限定的な用途になっちゃうな
>>588 みたいなスタンドアロンなやつか、リアルタイム性を犠牲にするか
>>588 こんなに長く感じるタイマーはイヤだ
だが面白いw
8ピンDIPは好きなのでフラッシュの容量が欲しいときはtiny85で 消費電流が気になるときはtiny13A使っている。
随分と寂しいタイマーだなおい KHz台じゃないと電力的に動かないとかなのかな?
この動画のペルチェだと余裕だけど
動作中の消費電流は
[email protected] に抑えてるん
ここまで抑えると手のひらの温度でも動くよん。
そもそもの目的がピコパワーで遊びたかったってのもあるけど
どこまで消費電流抑えられるのかな。が主目的になっている
電源がペルチェ素子だからなぁ あれじゃ温度差も数十度しかないはずだし
面白いな。 キャパシタ充電して時々LED光らせるくらいなら体温でいけるのかな。
あとできるかどうかわからないけど圧電スピーカの音で なにか情報(とりあえず温度かな)をワイヤレスで送れないか考え中
>>596 三分間は充電だけして、最後にデカイ音でピーとかは無理?
>>597 できるんじゃない。
小容量と大容量のコンデンサの充電制御は必要でしょうけど
>>588 これは製品化出来る。
ソーラーのほうが安そうだけど。
ATTINY2313VですがPB0, PB1, PB2, PD4, PD5, PD6にスイッチ、 PB3, PB4にLEDを接続しています。 電源を入れるとポートの設定を行いスイッチの値を取得して スイッチの組み合わせによりLEDの光るパターンを決めています。 スイッチはONで短絡、OFFで切断です。 LEDの動作後は set_sleep_mode(SLEEP_MODE_PWR_DOWN); sleep_mode(); によりスリープさせています。 電源ON,OFFはバッテリーの電源供給ON,OFF切り替えで行っています。 どのスイッチパターンでも電源ONにするとLEDが動作して終了します。 しかし、スイッチがすべてOFF(全スイッチ切断)の場合に限り 再度電源ONにした時にLEDが動作しません。 どれか一つでもスイッチをON、OFFと連続で切り替えて 電源をONにするとLEDが最初の一回のみ動作しますが、 再度電源をONにするとLEDが全く光りません。 なぜこのような不具合が発生するのでしょうか? 誰かエロい人お願いします。
スイッチを短絡って、一体どこと繋げてるんだ? VCCがオープンで、ポート漏れ電流だけで動いてたりしないか? まさかな
パスコンに残った中途半端な電圧でマイコンが誤動作しているかも。
ATTINY2313V<タスケテー
パスコンパスコンパスコンだー
2位じゃダメなんでしょうか?
スリープと復帰がうまくいってないんだろ スリープ無しでスイッチ状態をポーリングしながらチカチカさせたら動く? 動けばハードは問題ないだろ てか文章分かり難いから当てずっぽう
LEDの動作後はスリープして、復帰はプログラミングして無いんだろ スイッチは内蔵プルアップしてあるんだろうけど、スイッチがすべてOFFだとパスコンの電荷が抜けないんじゃね 一度ONにすると内蔵プルアップから電荷が抜けてリセットされるとか
電源表示用のLEDでも追加すれば解決するでしょ。w
610 :
600 :2011/07/03(日) 10:29:09.11 ID:euSd0Q/c
>>602 GND-スイッチ-PB0のような形で6 bit DIPを繋いでいます。
ポートの設定は入力、プルアップ有りでPORTの値を見ています。
>>603 スイッチがすべてOFFの状態で電源をON,OFFして
その後テスターで計測したところ瞬間的に最大0.6Vまで上がり、
徐々に下がっていきました。
テスターを繋いだまま電源をON,OFFすると
何度電源をON,OFFしても正常に動作します。
パスコンに残った中途半端な電圧で動作している可能性が高いですね。
スイッチが一つでもONになっていたりテスターで計測していると
この問題が起こらないのはなぜでしょうか?
パスコンは0.1μFの積層セラミックコンデンサを用いています。
どのように解決したら良いでしょうか?
>>607 ブレッドボードで試すためのスイッチが無いですorz
スリープ中に電源供給を絶ったら
スリープが解除されると思っていますが間違えていますか?
>>609 仕様上電源LEDは追加できないのです。orz
その他考えられる対策としては
・容量を減らすため1nFのパスコンに変更
(電源が安定しなくなる?)
・余っているポートを入力、プルアップ設定してGNDと直結して電流を逃がす
(バッテリーの消費が激しくなる?)
を思いつきました。
その他どのような対策が良いでしょうか?
>>611 RESETピン(1ピン)の処理と、BODの設定(FUSEビット)はどうしてる?
613 :
600 :2011/07/03(日) 11:40:50.38 ID:g8oK/TDz
RESETには何も接続してません ヒューズは初期設定から外部xtal使用に変えただけです
>>613 FUSE設定を変更して、BOD設定をデフォルト(111=無効)から、有効(例えば
101=2.7Vとか)にしてやれば、電源OFFで電圧が落ちれば内部でリセットが
掛かるかと。
パスコンとリセット吊るのはデフォのおまじない
リセット端子は内蔵プルアップが入っているし、動作中にノイズ等で不要な リセットが掛かっているわけじゃない様なのでこの場合除外してよいかと。 リセット端子それ自体はロジックレベル入力でBOD電圧とのアナログ比較は 行っていないので、Vccにプルアップしても気休めで、直接の効果はない のではと推測。 0.1uFのパスコン容量だけで動いているなら電源OFFでしばらく放置した後に 再度電源ONすれば現象は出ない気もするが、テスタ繋ぐと症状が出ないという のなら、中途半端な電源電圧が残っていてリセットが掛かっていない気がする。
>>610 テスタ繋いで意図通りって言うなら
テスタの入力抵抗がブリーダ抵抗代わりになってる
ほぼ無負荷ならコンマ数秒ぐらい生きてんだろうね
パスコン取るか1-10MΩぐらいの抵抗挟んどけばいいよ
内蔵プルアップを過信してはいけない
エネループ2本(2.6V)で動作させているのでBODレベルを1.8Vに変更すれば 問題なく動作するわけですね。 ここで問題が… ソケットに入れるときに失敗して PB7 (UCSK/SCL/PCINT7)の端子を 根元からパッツリ折ってしまいました。 高いものではないので今度他に欲しい物があるときに購入するとして それまで1nFのコンデンサをパスコンにして応急処置しておきます。 早速ハンダ吸って1nFのコンデンサを付け直したら問題が解消しました。 ありがとうございました。 1nFのパスコンって意味があるのかわかりませんが…
いい加減使い込んだブレッドボードで端子が腐ってたに1ガバスw
昨日AVR始めた工房なんですけど わけあってavr studio5使っているんです 現在ATtiny2313で勉強しているんですけど 動作の周波数を決めるにはどうすればいいのでしょうか ggっても見つからなかったので教えてください
>>623 すみません、自分の言い方が悪かったです(´・ω・`)
AVR studio5でマイコンの中の周波数を指定することはできますか?
できたら教えてください
後、ちょっとしたプログラムなのに3300byteとかになってしまうんですが、
どうしてだか分かりませんか?
>>624 何か重いライブラリをリンクしてるんだろ
結局AVR Studio4にしました
現在シコシコとLEDを光らせています
>>623 、625、626さん
自分のためにありがとうございました
感謝です
これはひどい
割り込みについて質問です。 通常動作で割り込みを禁止している状態で、 sei nop cli として、割り込みを一時的に許可したら、 その時割り込み要求フラグが立っている割り込みは、 全て処理されると考えてよいんでしょうか? それとも優先度が1番高いものだけが処理されるんでしょうか?
全部されるでしょ
実験したらそうみたいです。 ありがとうございました。
>630 それ、プログラマが想定する動作してなくないか? nop の直後で最初の最優先割込み発生、 そのハンドラが reti で戻ってきたときに割込み許可になって 一命令(cli)実行後に次の割込みハンドラ実行、 reti で戻ってくると同時に sei 相当実行、だから cli が効いてない気がする。
>>633 cliの直後はメインが1命令実行されちゃう制限はあったけど、(だからnopが必要)
その後は特に問題なく、メインが1命令も進むことなく割込はかかるんじゃないか?
少なくともmega8のデータシートみるとそう読める。
ちょっと何言ってるのか判りませんが、 想定通りです。
636 :
774ワット発電中さん :2011/07/05(火) 18:37:07.85 ID:bYT5RXXO
ATmegaの資料(Rev. 2545R.AVR.07/09)14〜15ページを見ると 割り込みの項で以下のような説明があります。 私の理解(訳)は正しいでしょうか? When the AVR exits from an interrupt, it will always return to the main program and execute one more instruction before any pending interrupt is served. 割り込みから戻ると、保留中の割り込みを処理する前に1個以上の命令を実行する。 No interrupt will be executed after the CLI instruction, even if it occurs simultaneously with the CLI instruction. CLI命令と同時に割り込みが発生しても、割り込みはかからない。 When using the SEI instruction to enable interrupts, the instruction following SEI will be executed before any pending interrupts, as shown in this example. SEI命令が実行されると、SEI命令の次の命令を実行してから 保留中の割り込みを処理する。
637 :
634 :2011/07/05(火) 18:46:30.71 ID:6ToXKyjf
>>636 そうだな。読み間違えた。
ATMega8の和訳データシートから。
>AVRが割り込みから抜け出すと常に主プログラムへ戻り、
>何れかの保留割り込みが扱われる前に1つ以上の命令を実行します。
厳密には one more は「一つ余計に」で、 「一つ以上」は "one OR more" でなければならないので誤訳だ。
ワンモワセッ!ワンモワセッ!
あれ、じゃぁ
>>630 の答えは
一個だけ割り込みが処理されるってことなのかな。
おまいには日本語の力が足りてない
複数の割り込みがあっても、 一個の割り込みが処理される度にmainが一個進むってことじゃないのか?
2chはもうまともなレスが突くこともなくなったな
>>640 そのsei-nop-cliの1回の実行では、そうなるね。
外側のループで再びsei-nop-cliに来るまで待たされるってことか。
セイノックリ。
ルシfAVR 「そんな割り込みで大丈夫か」 セイノックリ 「大丈夫だ、問題ない」
あれは36万・・いや、14000Hzだったか。まあいい
648 :
774ワット発電中さん :2011/07/08(金) 19:14:22.48 ID:0zqLSD3R
誰かmega8515売ってるとこ知りませんか。
mega8535はマルツにあるけどmega8515はどこにも無いと思います。 機能的に同じmega162をdigikeyで買うのはダメでしょうか。
普通にDigi-keyに売ってるじゃん・・・あ、8MHzのか ATMEGA8515L-8PU 1個 \346/個 25個 \217/個 100個 \192.95/個
マイクロファンにあるが。 DIPの外部バスが欲しいだけならmega162という手もある。
AT90S8515でよければ某所で\105
654 :
774ワット発電中さん :2011/07/10(日) 14:03:50.90 ID:E93cefYx
648です。結局マルツで162を買いました。 ついでに立て続けにあれなんですが、 ChaNさんのとこのcomライター作ろうと思って 74hc126を探していたのですが、マルツで検索かけたら なんか沢山でてきてどれを買えばよいの分からないのですが、 どなたか教えてくれませんか。
>>654 どれもいっしょ。安いのでいいよ。
東芝は日本語データシートあるからTC74HC126がおまいさんにオススメ
あとデジットのおっちゃん回路図見てくれたり良いパーツ・本教えてくれるから行ってみたら?
comライターは導入にはいいんだけど、 恒久的に使用するライターは何がいいんだろうね
私の場合、最近はFTDI breakoutとavrdude-serjtagの組み合わせ
導入とか恒久的とか分ける感覚がわからんが 何か不安があるなら純正ライタ一択じゃね
デジットのAVRライターが安くてオススメ。 デバッグもしたいならドラゴンかな。
660 :
774ワット発電中さん :2011/07/11(月) 14:49:16.58 ID:xj50Fh3M
秋月で買ったATmega64aを買ったんだけど書き込みができない…AVRStudioとAVR mkUでmosiとmisoはPE0とPE1に繋げてるんだけど書き込み時常にISP modeエラー <br> タスケテ <br>
全然関係ないピンにつないでるじゃん データシートでピンアサインを確認しよう
>>660 電源(AVccを含む)、GNDピンはすべて繋いでる?
RESET端子の処理は? ISP時の電源はどこから供給して、何ボルトで動作
させている?
PE0/PE1は内蔵UARTのRxD/TxDピンと兼用だけど、232Cトランシーバ(MAX232
相当)とかを直接繋げてない?
PE1(TxD/MISO)はAVRが出力だからいいけど、PE0(RxD/MOSI)は232Cレシーバの
出力と、ISPライタの出力が喧嘩することになる。ISPコネクタは、PE0へ直結
にして、MAX232の出力〜PE0(ISP:MOSI)間は1kΩくらいの抵抗を入れること。
低速クロックでの動作時に高速で書き込みするとデバイス側の処理が追いつかず
エラーを起こすので、外付け水晶発振で使う場合、フラッシュメモリやEEPROM
へ書き込みするより先にヒューズのクロック設定を書き換えたほうがいい。
>>661 いや、tiny2313とか、mega8/88/168/328と違って、mega64/128/256等では
ISP端子はPE0/PE1だけど?あなたこそデータシート見たほうがいいよ。
MOSI/MISOは厳密にはSPI用のピン名でISP時に使うかどうかとは無関係。
(ATMEL、とってもいい加減)
663 :
774ワット発電中さん :2011/07/11(月) 18:35:58.31 ID:eeJdXxoA
654です。 あのcomライタってlinuxでも使えますか。
あのcomライタって、どの子ム? COMライタには標準がないのでなんとも。自分でソフトやドライバを 書けは何だって可。
hidaなんたらとかAEうんたらライターでやれよ comうんたらなんて誰も知らんよ
666
秋月、mega、64、で脊椎反射 ATmega644Pのデータシートを見ていたというオチ(俺が) すまんすまん
668 :
774ワット発電中さん :2011/07/11(月) 19:54:01.65 ID:eeJdXxoA
774です。ChaNさんのやつです
しかもどうでもいい訂正 脊椎反射→脊髄反射 ちょっと頭冷やそうかねー、ビールでも飲んで
さては梯子形神経系だな
671 :
774ワット発電中さん :2011/07/12(火) 02:13:55.49 ID:16HC1ePb
>>662 > 電源(AVccを含む)、GNDピンはすべて繋いでる?
12Vのスイッチングアダプターからブレットボード上に三端子で5Vに安定させて出た5Vを64Aの各VCCとAVCCに繋いでGNDも取ってます!
> RESET端子の処理は? ISP時の電源はどこから供給して、何ボルトで動作
> させている?
RESETは3KΩの抵抗をつけてmkUのRESETにジャンパーピンで接続です、ISP時の電源となるとライターの電源でしょうか?mkUのVCCも三端子から出た5Vにジャンパーピンに接続してます!
関係ないかもですけどライターはパソコンのUSBに繋げてます。
>
> PE0/PE1は内蔵UARTのRxD/TxDピンと兼用だけど、232Cトランシーバ(MAX232
> 相当)とかを直接繋げてない?
どちらもジャンパーピンでライターのmosi miso に繋げてます!
> PE1(TxD/MISO)はAVRが出力だからいいけど、PE0(RxD/MOSI)は232Cレシーバの
> 出力と、ISPライタの出力が喧嘩することになる。ISPコネクタは、PE0へ直結
> にして、MAX232の出力〜PE0(ISP:MOSI)間は1kΩくらいの抵抗を入れること。
レシーバーとかは使っていないのでこの場合PEOは直結で大丈夫ですか?ライターとピンの間に抵抗入れたほうがよろしですか?
> 低速クロックでの動作時に高速で書き込みするとデバイス側の処理が追いつかず
> エラーを起こすので、外付け水晶発振で使う場合、フラッシュメモリやEEPROM
> へ書き込みするより先にヒューズのクロック設定を書き換えたほうがいい。
ヒューズのクロック設定とはAVRStudioで可能でしょうか?
>>671 > RESETは3KΩの抵抗をつけて
3kΩでVcc(+5V)へプルアップしているなら、ちょっと抵抗値が小さ過ぎる
かも。プルアップするなら10kΩ〜100kΩくらいで十分。
ISPライタへの接続に3kΩを経由(直列接続)しているなら、抵抗は原則不要、
ないし短絡が心配なら100Ωくらいまでに。(MISO/MOSI/SCLK端子も同様)
純正のISPライタなら、ライタ側に抵抗が入っているはず。
MAX232の出力がPE0(RxD)へ直接繋がっていると、ISP書込時にライタのMOSI
出力と出力同士が競合(短絡)するので、MAX232の出力〜PE0間に1kΩくらい
の抵抗を入れてMAX232の出力ドライブ能力を直結のISPライタに比べて弱く
することで、ジャンパ切替などすることなくISP書込できるようになる。
> ヒューズのクロック設定とはAVRStudioで可能でしょうか?
持ってないので知らないが、純正ライタなので、当然可能なはず。
> RESETは3KΩの抵抗をつけて resetへのプルアップは4.7kΩ以上とAVRISPmkUのhelpに書いてある。 Tiny26+2.2Kプルアップ+AVRISPで書けなかった実績あり。 プルアップ10Kに変更で解決。
ペルチェラーメンタイマーの人さぁ 基板まで作るんなら電力貯蔵して何か鳴らそうよw
ペルチェラーメンタイマー トラ技8月号に掲載されてるね
アプリケーションノート AVR310 の7ページ目
AVR310: Using the USI module as a I2C master
This implementation does not support TWI bus arbitration.
The device using this driver must therefore be the only master
on the bus. As according to the TWI standard, all 127 slaves can
be addressed individually on the bus. The lack of bus arbitration
is not a limit of the USI module, and can be implemented into the
driver, but is not in the scope for this application note.
なんか言い訳が書いてあるけど、
USIの2線動作でマルチマスター実装したサンプルってどっかないですかね?
ちなみにmegaに乗ってるTWIのマルチマスターはバグがあるみたいです。
http://www.robotroom.com/Atmel-AVR-TWI-I2C-Multi-Master-Problem.html
ペルチェラーメンタイマーって最後なんも音しないのなw ピピピっとか音鳴らすの電力的に厳しいのかな
圧電素子からの逆起電力さえも充電に使うような回路にして、頑張って鳴らすとか そういう工夫も欲しいなw
むしろ、途中を無音にして完了の時だけ音がする方が使えるのに
ペルチェ素子だけで発電して3分間充電しようとしたら 何に充電したらいいの?
途中無音だと動いてんのかわからんじゃないか
>>682 スーパーキャパシタをつなぐと、動作初期には
AVRに供給する電圧を維持できるのだろうか?
スーパーキャパシタ充電に制限抵抗とダイオードでも入れればいける?
>>683 まず、どれぐらいの発電量があるか計算すること
>>683 小容量のコンデンサでまずは起動
起動後電圧が一定値以上の場合は大容量のコンデンサに充電
電圧が一定値未満の(消費電流が多くなった)ときは
大容量のコンデンサから放電
大容量のコンデンサのON/OFF回路と
ショットキダイオードで消費する電圧とかも結構バカにならないかも
1MΩの抵抗でも数uA流れちゃうもんね
>>685 よく見ろ、そいつは100度の熱湯と氷でやってるぞ
熱湯はラーメンタイマーも同じだけど、室温と氷だと25℃くらい氷の方が
有利?空気と違って水(氷)は比熱も大きいし。
とはいえ、思った以上に元気にモータが廻っているので、かなり電流が取れ
ているのでは?
>>687 太陽電池などと同じで、電圧は直列になったPN接合のセル段数で決まるの
では?充電によってマイコン自身の電源電圧が一時的に変動しないよう、電源
にLCフィルタをかませておいて、電圧をA/Dでモニタしながら、P-ch MOSFETの
ゲートをPWM制御で充電? 充電電流は直列の抵抗で。
一方、放電時はコンデンサ側がアノードのショットキーDiで、MOSFETと
充電電流制限抵抗をバイパス。100mA以下の電流しか流さなければ、ショット
キーDiでの電圧降下は0.2Vくらいと小さい。
モータって負荷が無いときって電流が少なくてもまわるんじゃなかったっけ?
誘導起電力がある
あたりまえのことを書くぞ。 福島の牛は全部セシウムに汚染されてる。 なにが福島牛のブランドが失われるじゃ! 福島の農家は気色悪い食いもんを作るな!ボケ! 福島産の食いもんでセシウムが検出されないもんはないぞ。 なにが風評被害じゃ。ボケ。 気持ち悪いもんをつくるな!!!!!自分で食え!!!!!
693 :
774ワット発電中さん :2011/07/13(水) 12:08:12.92 ID:QjJ7AdSx
>>672 >>673 10KΩの抵抗でresetに繋げてたけどダメでした…
mega88の時は書き込みできたけど64Aに挑戦したらできなくなった…頭イタイ
ラーメンタイマの制作記事がトラ技に載ってたけど、室温とお湯の温度差67℃で 電圧は0.25Vくらいらしい。 それをDC-DCコンバータで昇圧し、最終的に3V、0.12mAにしているそうだ。
学研のスターリングエンジンで発電汁!! カップヌードルに載せれば、とりあえず回ることは回る。
>>693 忘れてたが、1番ピン(/PEN)の処理は?
ttp://www.atmel.com/dyn/resources/prod_documents/doc8160.pdf 7/392ページ
> This is a programming enable pin for the SPI Serial Programming mode.
> By holding this pin low during a Power-on Reset, the device will
> enter the SPI Serial Programming mode. PEN is internally pulled high.
> The pullup is shown in Figure 10-1 on page 52 and its value is given
> in Section 28.2 “DC Characteristics” on page 327. PEN has no function
> during normal operation.
「/PEN」はライトプロテクトみたいなもんで、「/PEN」ピンは、IC内部でVccへ
プルアップ処理(書込禁止)されていて、ピンの状態はリセット解除('L'→'H')
時にIC内部へ取り込み&保持される。「/PEN」ピンは、通常動作に対しては何
も影響しない。
ISPを許可するには、リセット解除('L'→'H')時に'L'を入力しておく必要が
ある。(ライトプロテクト機能を付けたいなら、/PEN-GND間にジャンパポスト
を付けて、ISP時はショート。無条件にISPを許可するなら常時GNDへ接続)
>>694 0.25Vで動くDCDCってなんだろう。
わかる方ひとつ教えてくださいな KEEでAVRJTAGICEMK2購入したんだけど、何日くらいで届きました? かれこれ10日間も経ってるんだけどまた届かないんです
700 :
774ワット発電中さん :2011/07/13(水) 14:30:27.77 ID:QjJ7AdSx
>>696 PEN 1番ピンは何も処理してなかたです。
って事は書き込み時には一番ピンとGNDを直結でいいのかな?
>>703 これってトランスとコンデンサとFETで発振回路になっているんじゃないのかな。
普通このタイプのDCDCはフライバックトランス使ってる事が多いな 巻数比の大きいやつ
たしかリニアテクノロジのやつは1:100が推奨だったと思った
>>画像のフォーマットは何でもかまいません。 画像フォーマットを何にするか決まらなきゃ、ライブラリもなにも決めかねるじゃないか。 それとも、すべての白黒画像のフォーマットに対応しろとでも? とりあえず、画像フォーマット決めれ。 んで、ピクセル拾うだけなら。.NETで十分。遅かったら工夫すればなんとかなる。 画像処理をやるならOpenCVでも使っておけ。どっちも基本的なフォーマットなら読み込める。
中野正次さんの回路は数ミリVから起動してたっけな (プレミアで)クソ高くなった本に載ってたやつ
教えてください。 AVR起動時のリセット要因を取得したいというのが目的なんですが、起動時に__init()ルーチンを 呼んでそこでMCUSRをレジスタに記録、その後mainルーチンでMCUSRを記録したレジスタを 参照すると、内容は0になっている。 __init()ルーチンではMCUSRの内容にリセット要因が記録されていて、かつグローバル変数に MCUSRの内容が保存されている事は確認出来ています。 恐らくグローバル変数で確保しているレジスタがMCUSR記録後に初期化されてしまっている のだと思いますが、初期化されないような変数の宣言とかありませんか? よろしくお願いします。
Cの起動時にそんなレジスタいじってないよ
アセンブラで弄るしか
>>709 uint8_t ほげほげ __attribute__ ((section (".noinit")));
とかで初期化回避できません?
てか、スタックより30バイトくらい深い場所に収めるとか、 I/Oのテキトーなとこにoutしとくとかいくらでも手段あろうに。
>>714 ちゃんと汎用性のある方法があるんだから、そっちがいいと思うが。
716 :
714 :2011/07/20(水) 13:23:01.16 ID:s6KcHRQR
まーそうなんだけどさ、 リセット要因を探りたいなんて緊急性のカキコなのかと思った次第で。
>>716 なるほど。一時的なテストならそっちの方が手っ取り早いですね。
スリープモードのパワーダウンモードからwdtを使って復帰したいのですが、 wdtの設定がどうしてもうまく行きません。 wdt_enable等のライブラリを使うとリセット動作になってしまい、 タイマー割り込みでスリープから復帰するトリガーとしての動作を 行いたい場合はどのようにしたら良いでしょうか?
WDT は、リセットにしかつながってないんじゃね? ってか、そもそも使い方が間違ってる。
>>719 確か割り込みベクタも設定されていますし、スリープからの復帰に使えると
データシートに書かれていましたので、リセット動作以外に使えると思ったのですが、
考え違いでしょうか?もうちょっと調べてみます。
>719 え、そんな使いかた出来んの?とデータシート見に行かないお前のほうが間違っている。 >718 WDEを1にしてたらリセットにいってしまう。 WDON(wdt on) WDE(wdt enable) WDIE(wdt interrupt) の区別を勉強しなおしてこい。
>>718 データシートに書いてあるっしょ
ここの連中はアホだから
どうしても知りたいなら捨て垢メアド貼ったら教えてやるよ
>>721 ,722
どうにも思った時間間隔に設定できなくて悩んでいます。
もうちょっとデータシートを読んだりネットを検索したりしてみます。
WDP3-0までしっかりと与えてるんだけどなぁ...
もちろん、WDEに0はセットし、WDIEを1をセットしました。
>>721 キーワードありがとうございました。
設定に2度書き込みが必要になるとは...
無事タイマーとして動作させることが出来ました。
ありがとうございました。
PICからAVRに移行してきたんですけど、AVRStudio5.0+WinAVRをインストールしました。 AVRLibは必要でしょうか? 教えてください
>>725 WinAVRで足りないものがあり、必要なものがAVRlibに含まれているなら使えばいい。
あなたが何を必要としているかなんて、ノーマルの俺様には分かりません〜
>>725 エスパー伊藤園な俺が答えてやる。
必要だ。
くししがいっぱいになるまでインストールするんだ。
くししが何かなんて聞くんじゃないぞっ。
マジレスするとな
AVRLibってなんかあっちこっちの人が勝手にでっち上げてるから
ワカケワカメw
>>725 だめだ、俺の能力では
>>725 が使いたいライブラリが見えない!
まあ、メジャーなデバイスに対するライブラリはたいていググると誰かが作ってる。
そういうのを使っていけば、まず滅多に欲しいと思わない気がする。
を、AVR Studio 5 が beta じゃなくなったんだね 使って見るか
>>729 > を、AVR Studio 5 が beta じゃなくなったんだね
> 使って見るか
重いよ?
ちょっとググったらVisualStudio2010がベースのIDEなんだって? じゃぁ重さも操作性も見当が付くし、入れてみようかな
俺はライブラリとか全く使わないから4に戻ってきた
すいません、 LPC XPRESSO LPC11U14 (USBデバイス機能つき) はどこで買えるでしょうか。 見つかりませーん。
間違えました!
ATMEGA88Pとか168Pとか328Pはもう新規非推奨らしいけど 後継はあるの? 四角いパッケージで面実装の40pinのやつとかにいくしかないのだろうか?
>735 言っておくことが3つほどある。 48P,88P,168Pと 328P を一緒にすんな。紛らわしいネーミングだが、328Pだけシリーズが違う。 日本語版のデータシートに非推奨と書いてあったのを見たんだろうが、 その後、新しい英語版データシートで非推奨(not recommended for new design)の文言は削除された。 さくっと製造中止にする会社なので安穏とできるわけではないが。 普通に後継の 88PA とか 328P (末尾 P だが328だけPAのシリーズ) 使えよ。
>736 デーシートには推奨うんぬん載せなくなったんじゃね?
mega8系のピン割り当ては失敗だと思う。 水晶差したら8bit使えるポートが1つもないってどういう事だよ。 内蔵RCのジッタが嫌で低クロックでも水晶使う事が多いのに。
328PはPAシリーズだったのか...orz
新規設計非推奨と聞いてあせった。
328Pはすげぇ使い勝手良いから無くされると困る。
ただし、>
>>738 の意見は血の涙が出るほど同意だ(笑)
あれ絶対ピン割り当てが意地悪だと思う。
同一ポートで8bit必要なケースって具体的には何?
配線の都合じゃね?
いやまて、Dポート8bit使えるじゃん!騙されたわー。
>>740 LEDチカチカとかかなー?
>740 GPIOにDMAかけたりするときに要る。 AVRかんけーねーと思うかもしれないが、 AtmelはAVR32もARM7もCortexM3もピン配置出鱈目でな…
R-2R ラダーDAC
>>743 NXPのLPC17xxに比べたらマシ。100ピンQFPで32ビットI/Oなのに、USBとか
Ethernetを使ったら、32bit使えるポートがない。
バイト区切りで8bit連続で使えるポートさえ限られる。
>>742 DIP品に限定しなければ、ポートCも8bit使える支那。
さすがにそれは騙されないわ PC6がリセットな時点でダウトだわ
AVR Studio 5.0 重い クソワロタ Atomノートではもう駄目ぽ
オチは改行しないと気付いてもらえないぞ
開発用にAtomかあ マカーかね
俺も放射能汚染前は 競馬場とか河川敷とかスタバで ソフト開発していたから atomで開発言われても普通に思う 屋外で開発は捗るよ、今は怖くてできないけど。
多分人間よりもシリコンでできてる方の回路の方が放射線にはデリケートのはずなので、 開発が外で怖いという意味がかなり違っている気がするw
冗長性を持たせればいい
スペースシャトルは68000で多数決してるって言うが、 1台逝ったら他に影響が出るようではダメだろうし 同じ基板3つを並列に動かしてるとして、入出力をまとめるのには、 これとは別に同期信号出すやつや多数決まとめるのもいるよなあ
せめて2台を並列実行して、同じじゃなかったらリトライ、 みたいな仕組みがいるなあ
MAGIシステムですね、わかります
このコードはヤバイ、 んまぁぁぁぁああああ!! まぎゅぃぃいいぬぇえぇぃいいいいいいいいいいいいい!! しんにゅうするつぼりゅえでえああああさあぁぁあぁぁぁああああ!!!
sleep
すいません。お酒飲んでました。
飲まない方がいいぞ
呑み足らないのでは?
鉛パッケージとかどうよ。 欧州が大激怒すると思うが。
鉛ガラスはいいのかな?
しばらくやってないが、最近の釣り具は鉛ふりーになったのか?
代用品として劣化ウランが使用されています
劣化ウランタン
>>687 劣化ウランは放射能を無視しても十分に危ないだろ。
重金属だしイタイイタイ病になるね
イギリス貴族とかやってる、ウサギ狩りや鹿狩り、鴨撃ちに使う散弾銃の 弾って鉛フリーになったの?
ダムダム弾を使ってる
ダムダム弾は、何年だったかのベルばら条約で禁止になったって、ICPOの 銭形のとっつぁんが言ってたけど、違うの? 人間相手じゃなきゃいいの? しゃべる白い犬相手とか誤射は?
しゃべる犬や禿は宇宙人なので大丈夫、使用許可いりません。
人型宇宙人の鳩は明らかに使用許可は要らないと思うんだが、粗大ごみ 同然の菅は?
>>773 タングステンなんかに変わってるとかって話みたような
タングステンお高いですよ まぁ狩猟なんて貴族様のお遊びだから値段はどうでもいいのか Atmelさんも金持ち向けラインナップとしてゴージャスなパッケじ出さないかな
10cm角のタングステンの塊は、女の子の力では持ち上がらない
約19.3kgか。微妙だな〜。 女の子は持ち上げられないけど、経産婦だったら持ち上げられるとか。 事務職は持ち上げられないけど、ガテン系だったら持ち上げられるとか。
>>781 いやいや、体積が小さいから、相当力ないと
米20kg抱えてるのと分け違うと思う。
石とか木とか鉄とか、いろんなもんが10cm角で置いてあって、 持ち上げてみることができるコーナーが科学館にあった
金とかプラチナとか有ったら、ほおずりしたいな!
>>784 どっかの金塊展示コーナーにでもいってこい
10cm立方体で20kgもあったら指挟んだら終わるw
シリコン結晶なら触れてみたいな
788 :
774ワット発電中さん :2011/08/03(水) 09:00:12.06 ID:0uxo++Be
シリコンって青黒いガラスみたいなもんだぜ スライスされて無い状態の単結晶はあまり触った事ないなぁ
あさげ
>>788 実験でウェハをたくさん使ったが、確かにバルク状態って
写真でしか見たことないなぁ。確かに作るとき不純物混じるといけないから、
管理された区域で作られるんだろうけどってか、真空中で成長させるのかな?
k-cell用のソースとしてSiの塊は、はんだの固まりみたいだった。
引き上げたままのSiの塊も置いてあったな 普通にぺたぺた触れる あれは6インチかな
>>791 それは不良品だからサンプル提供されたんだろ
空中で球体に成長させた結晶に回路を印刷するのだ
東急ハンズ心斎橋店の鉱物コーナーに、ウェハと引き抜き塊があった。
NTP時計に為替レート表示機能を加えたいんだけど、 簡単にアクセスできる鯖ないんかね。 咀嚼用の自鯖立てるのもアホ臭いし、HP解釈もRAM居るし困っています。 ARMクラスで作り直す気力も無いし・・・
ARMを採用しない理由が手間だけならば、androidが良いんじゃないかな?
ありがと、 android高いのでビーグルボードくらいで中継してみまするです
あ、丁度ビーグルボードにアンドロイド載せてる動画がありました。 色々ググってみます。
せっかくネットワーク見えるんだから鯖立てた方がいいかと そういうサービスって内容がコロコロ変わるから、 どの道マイコンじゃ追いつかなくなる 本体に繋ぐとか本末転倒じゃないか
頑張って少ないメモリでHTML解釈とかで実現させるのもAVRで作る面白い部分じゃないかな。 出来たらそれは評価されると思う
>>799 その通りですね、
今時はandroid端末7千円で買えるのかw
全部入りの方がセットアップの手間も無さそうなので、
androidタブ買って中継しますね、若干スレ汚しになってしまってごめんなさい。
これからAVRを勉強しようと思っている初学者です。 参考になる書籍を2,3冊くらい買おうかと思っているのですが 今からAVRを勉強するに当たってお薦めの書籍といったらどれが代表的ですか?
アナウンサーには責任ないのにかわいそう っていうか社長のお詫びの最後頭上げたときがドヤ顔でわろす
スレ違い
>>806 ありがとうございます。
早速本屋に行って手にとってみますノシ
>>808 dです
2,3冊は読んでみようと思っていたので早速本屋で見てみますノシ
本屋にあるかなあ 専門書が豊富なところか電子パーツ屋じゃないと現物ないかも
結構AVRに関する本は出版されてるんですね。 近々秋葉に行く予定があるのでその時にでもまとめて見てみようと思いますノシ
USBブートのATOM鯖立てておけば、AVRでは何も考えずにデータ表示装置に出来るよ 悩むのが楽しいっていう方面なら何とも言えないけど、NETと連携するような物はスクリプト処理するような中間処理装置が、当分いるよね
俺は主に消費電力で分けてるかな ATOM : 10〜W ARM :2〜10W マイコン 〜2W 当然、上のほうが開発簡単になってお値段が張るけど、 量産するわけじゃないから金に糸目は付けない でも消費電力は熱源が嫌なので考慮するって感じ 常時起動じゃないメディアプレーヤーなんかはATOM+CrystalHDで作ってる。
どうよって? 何がどうよなのか分からんし
>>816 無線部だけでモジュール化してあるから
ソフトは普通に作って、2.4GHz分の5万円くらい積めば取得できるよ。
既製品じゃないから問題ないっす
RFは外部メモリバスがない
> 802 名前:774ワット発電中さん[sage] 投稿日:2011/08/09(火) 21:59:50.04 ID:TxYqFsiY [3/3]
>
>>800 > タイミングチャートを確認した?
> 同期とか非同期だといっているけど、基本は非同期なんだよ。
> 途中のステップをクロックなしで連続で処理してしまうというのは、その間は非同期で処理しているということになるよ。
例えばATmega128Aのdoc8151.pdf。
これの何処のタイミングチャートなのさ?
char変数をfor文で1400回転させてはまった。
unsignedを減算カウンタにしたりな
>>823 ゼロをループ抜け条件にするなら問題はないだろうけど、意識してないとはまりそうだ。
教えてください。 tiny45+C言語で電子工作を検討しています。 電源を切っても記憶しておきたいデータがあります。 通常ブログラムが保存されるフラッシュROMの領域に、 そういったデータを保存することは可能でしょうか? (アセンブラのSPM命令はブートセクションからしか実行できないので無理?) また、書換できたとして、書換頻度を最低限にする工夫をしても尚、 フラッシュROMを書き換えることは良くないことでしょうか? あるいは、たとえ1バイトであっても、 バックアップバッテリまたは外部記憶が必要ですか? 以上、アドバイス頂けますと助かります。
>>825 保存したい容量によりますがEEPROM
>>826 やはり外部記憶かバッテリバックアップ、
ビットレベルならDIPスイッチやトリマなど、ということでしょうか。
回答ありがとうございました。
小容量で良いなら内蔵して・・・
比較スペック表をよく見たらデータ用EEPROMが内蔵されている見たいな気がしてきました…
EEPROM データ・メモリ というのがRAMと同容量内蔵されており、 eeprom.hをincludeして使用可能だということがわかりました。 ありがとうございました。
定期的にEEPROMに書くのは当然として、 ユーザーが電源を切る操作をしても電源供給が続く状態にあるとすれば パワーダウンモードに移行して待機することも考えた方がいい バッテリー動作の電子機器のほとんどがこれ 今時オルタネートスイッチの機器なんて見かけないでしょ
>>61 3ヶ月前の発言にレス。
>電電のSNSは国内では見かけないよね。
つ@ele(アットマークエレ)
833 :
774ワット発電中さん :2011/08/21(日) 18:41:10.06 ID:Qu6N1ZZ9
STM32F2xx出荷され始めたね。 AVR32どうすんだろ? 1Mフラッシュ、128KSRAM出すのかな?
質問です。 ただいま AVR STUDIO 5 を使い始めました。 AVRを使うのは初めてです。 includeファイルは、デフォルトで avr/io.h がプロジェクト作成時に記入済みになるのですが、 AVR各レジスタのビット名とビット番号の対応が定義されているとは思うのですが、 何が何という名前で定義されているか、一番良い確認方法は何でしょうか? 見当たらなかったのですが io.h を直接開くしかありませんか? その場合、ある名前にあるバイナリ値が定義されているのを見つけても、 そのバイナリ値が結局何を指しているのかリファレンスを確認することになり、 最初からリファレンスを確認して自分で define したほうが良いということになりかねません。 他にも、ネットでサンプルを見つけてそこに #include <util/delay.h> と書いてあったとき、それが AVR STUDIO のものなのか、ユーザー定義のファイルなのか、 どこを見れば良いでしょう? また、上に eeprom.h というのがあるとありますが、どんなヘッダファイルが用意されているのか、 またその使い方など、どこかにまとめて書いてある文献はありませんでしょうか? 以上、教えて頂けますと助かります。
>>834 #include <
まで書くと、選択候補に色々出てきて、適当に選ぶと直ぐ上にヘッダファイルへのフルパスが表示されました。
とりあえず中身は覗けるようになりました。
>>834 マイコンごとのリファレンス日本語訳を見ていますが、そこに略号として書かれているレジスタ名で良いでしょうか?
>>834 ユーザ定義は基本的に #include "xxxxx.h"形式が通例だろ?
>何が何という名前で定義されているか、一番良い確認方法は何でしょうか? ヘッダーとリファレンスを読む
>>837-839 アドバイスありがとうございます。
リファレンスに出てくるレジスタ名で行けました。
あとは
>>839 を読むということですね。
ATmega168PのPBの3,4,5番ピンにトグルスイッチ付けてるんだけど、最近仕入れた168Pでは押下を なかなか感知してくれない PICを諦めて、メインルーチンで監視して長押しで対応してるけど、不良品かな
トグルスイッチを、長押し・・・
炊くと?
バウンスしてるだけ…ってことはないよな?
何スイッチにせよ機械式ならチャタリング対策しとけってことだ
アクティブLOWな設計じゃないとか
回路図とプログラムを見ないことにはなんとも
ええい!!>841が分かるエスパーはおらんのか!! わしゃ帰る。
割り込みって意味でPIC(Programmable Interrupt Controller)って言葉でも使っているのかしら
851 :
841 :2011/08/22(月) 13:37:59.66 ID:2dNsNsgU
すいません、回路図とプログラムを上げるのは面倒なので、というかへたくそな回路とプログラムなので
恥ずかしいから勘弁してくださいw
トグルスイッチの割り当てを、PB3〜5番からPC3〜5番に変えたところ、ほぼ解決しました
ほぼというのは10個中6個が感知不良だったのが、PORTCに変えたら1個を除いて問題なくなったので
この1個はおそらく本当の不良品でしょう
168のPB3〜5番は、MOSI、MISO、SCKというISP書き込みで使う所でもあるので、パラレルで書き込んで
ISP禁止にすれば大丈夫かもしれません
>>847 一応プルアップはしてます
>>850 その通りです
PICと言ったら、普通はPICマイコンですよね、ごめんなさい
852 :
76 :2011/08/22(月) 14:55:56.58 ID:QViRt+o5
トグルの長押しって? モメンタリのトグル?
いやもう突っ込まなくていいと思うよ 回路図もソースも出せないようだし 解決ってことにしといていいでしょ
回路図とソースをうpできない 仕事なんじゃね?
>>854 スイッチ回りくらい問題ないだろ。
全回路図と全ソースを出せっていってるわけじゃないんだし。
>>855 それは質問主に聞かないとわからんけどね。
トグルスイッチを長押しする宇宙人はもうどうでもいい
「押下」とか「長押し」って書いてるぐらいだからタクトスイッチの間違いだろうな・・・ タクトは使用条件では接触不良起こすこともあるらしいから トグルは秋月の中華製を何十個も使ってるけど一度も接触不良になったことないよ
>858 前にモーメンタリ縦置きのトグル(NKK B-15AV)がやたら安く秋葉に出てたから まー無いこともないこともないかも。
微少電流用のスイッチを使ってないんじゃないの
内蔵デバイスのビット失敗してるのと回路間違えてるに1票
>>858 そのとおり、タクトスイッチの間違いでした
睡眠不足のせいか、とんでもないこと書いてるよw
なんとか自己解決したので、もう突っ込まんでいいですよ
お騒がせしてもうしわけありません
モーメンタリと思ったらオルダネイトだったでござる・・・とかね
>>860 むしろ、電力用のほうが接触不良になりそうだけどな。
>>864 スイッチ屋さんによれば比較的強い力で電極表面が擦られるから
接触不良になりにくいらしい。さらに接点が馴染むとあまり減らなくなるそうで
(あまり大電流だと接点傷めるらしいけど)
逆にオン抵抗が高いラバースイッチを使っていてプルアップ/プルダウン 抵抗が低すぎてもだめだけど。
>>863 お前いい事言うな。
やれんのか?
なら今すぐやれ。
スイッチのチャタリング対策って部品増えるから何気に面倒w
タクトSWも少し電流流さないとセルフクリーニング効かないよ。
>>869 そうそう、それを言いたかったのさ。
SWに合った電流を適度に流しとかないとね。
>>868 いまどきハードで対策するケースってあるの?
ソフトウェア対応でOKでしょ。
よほど高速で操作しタイミングも重要なスイッチ・・・なら、外部回路で遅延が出てもやだし。
ソフトで何も触れないような時はハード的にやるかもしれん
>>873 ただ、ハードで全部吸収するの結構難しいよね。
割と調整必要で、苦労したことある。
チャタリングはハードで解決したほうが総合的によくないか? ソフト組むより抵抗とコンデンサちょこっとつけるほうが楽だし早くない?
>>875 定数が良くなかったかもしれないけど、ハードウェアで完全に除去できなくて
困ったことがあったので、最近はハード+ソフトで処理するようにしてる。
チャタリング除去LSI を作れば売れるかもしれんぞ
それはシュミットトリガとかフリップフロップじゃダメですか
モーメンタリのSPDTスイッチとFFで良いんじゃね?
ソフトはタダだけど、ハードは金がかかる・・・って言われた。w
>>877 チャタリング除去機能を持つマイコンの方がましじゃね?
最近はメンドクさいのでSW4つ以上になったら迷わずタッチパネルにしている。 商売では無理な選択だ。
883 :
774ワット発電中さん :2011/08/23(火) 20:46:24.99 ID:qt25DgQS
そういや最近はRCで作るチャタ除去回路見なくなったな ソフトで複数回読んで安定したところで決めてる ある意味デジタルフィルタで作った2値のLPFみたいなものか
あさげw
ADCで読んでソフトでヒステレシス作って見るとかしたらどうだろ
ビットシフトと多数決(と言うか1の数を数える)取ればまぁまぁ。 ソフトだと処理時間も気にしないとだめだからな〜
チャタリングの除去アルゴリズムってみんなどうしてるのかなw
5ms以上のタイマかな 大抵なんらかのタイマが動いているから適当に紛れ込ませている おかげさまでライブラリ化ができていない
昔PICだったけどタイマ割り込み中にポートの過去履歴をXORとANDかなんかで ひきずって作ったけど、あれ以上に綺麗にできた覚えがない…ロータリーエンコーダの ルーチンと混ぜてたからもうアルゴリズム忘れちゃったんだがw
スイッチに555でワンショット付けろ
というのはウソで、
>>888 と同じで、適当な速度のタイマを常時動かしてる
割り込みルーチンで前回のポートの値をサンプリングしといて
必要な時に参照して、二回連続でONだったら成立とかにしてる
長押し判定も同じ感じ
AVRのマニュアル見るとシュミットトリガが付いてるけど役に立ってるのかあれ。 俺もタイマ割り込みに紛れ込ませてる。
>>891 シュミットトリガは、変化の遅い信号を複数回カウントしないようにするだけなので
チャタリング自体はRCで取らなきゃいかん。
AVRはシュミット付いてるから、CRも付けてる 内部プルアップも使えばお手軽だし… 結局ビット反転するんでサンプリングするから意味ないんだけど…
外部オシレータ使えば、10MHzいけるらしいけど、もっと上を試した人いますか?
どの石で? 555?
普通に20MHzとかで動くだろ
選別すると40Mで動くのがあるよw
オーバークロック ktkr! ペルチェ+水冷tってか!
>>892 >チャタリング自体はRCで取らなきゃいかん。
スイッチのチャタリングなんぞはソフト処理で取ればCなど不要。
>>887 スイッチのチャタの出具合にもよるが、例えば10msごとに状態
を見て、リミッター付きワークカウンタアップまたはダウン。
8になったらオン、0になったらオフといった具合に判定すれば、
ボロいスイッチ and ESD 等による誤動作に強くなるよ。
>>899 2ちゃんでは3行以上のレスは読まれないと聞いたことがあるが、2行でも読めないやつがいるのか。
シュミットトリガ自体にチャタリングを取る機能は無いと書いてあるんだが。
>>901 何をだよ?
ソフトでチャタリングを取るならCもシュミットトリガも必要ない事ぐらい常識だろ。
このスレでも30レスぐらい前から話題に上がってる。
なにこんなネタで引っ張ってんのよw それよっかパスコンは0.1uでいいの?SMDの方がいいの? というか、マイクロをuって書いたら誰かに怒られますか?
マイクログラムをmcgと書いてるのはよく見る
0.1uとSMDって次元が違うような
入出力部分だけ外部ボードに分離すれば再利用できてよろしいかと。
>>902 >チャタリング自体はRCで取らなきゃいかん。
このセンテンスからどうやって C が必要ないと理解しろっちゅうねんw
>904 マイクロファラッドをMFと書いてたコンデンサなら15年くらい前に見たことあるぞ。
>>909 さかのぼって読んでみたところで、
「チャタリング自体はRCで取らなきゃいかん」
というセンテンスを C が必要ないと理解することは不可能。
Realtime Code の意味だったとか逃げんなよw
本当に変な人に絡まれちゃった。本当に1行より長い文章が読めないらしい・・・ そりゃあ 「チャタリング自体はRCで取らなきゃいかん」 だけを読んでコンデンサが必要ない事を読み取れる人はいないよ。
>>899 の「スイッチのチャタリングなんぞはソフト処理で取ればCなど不要。」って
そもそもシュミットトリガ入力関係ないしlThVUVZ5の人は何を言いたいのだろう???
>>892 のシュミットトリガ入力の話はハードウェア処理が前提の話でそ。
>>912 >>892 は
>>891 の「シュミットトリガが付いてるけど役に立ってるのかあれ」の部分に対するレスです。
シュミットトリガ自体は、変化の遅い(アナログ的な)信号を処理するためのものですよー。
チャタリング除去にも利用されるけど、シュミットトリガ入力だけじゃ駄目ですよー。
という話だったのだけどID:lThVUVZ5はチャタリング除去のみ、かつ、ソフト処理しか頭に無いみたい。
前の文章があろうとなかろうと、 「チャタリング自体はRCで取らなきゃいかん」という日本語は 「チャタリングを取るにはRCが必要」という意味に解釈できるの。 「チャタリング自体はRCで取らなきゃいかん」と書いた本人が C が必要ないと書いているので、この議論はやめます。
ID:lThVUVZ5も謎な人だね。 前後の文章でシュミットトリガ入力だけではダメで それでチャタリングを取りたい場合はRCが必要でそ。 って意味に私には読めるけど・・・
レベルの低い話はやめようよ。
たぶんID:lThVUVZ5はシュミットトリガ回路というものを理解してなかったんだろう。 自分の知ってる単語のところだけしか読まない人って結構いるし。 まとめるまでも無いレベルの低い話だが、初心者の人もいると思うので一応書いておく。 ・チャタリングはハードでもソフトでも対策出来る ・シュミットトリガ回路は変化の遅い信号を誤カウントしないようにするために使う ・シュミットトリガ回路をチャタリング対策に使うときは、RC等を用いて変動レベルをヒステリシス幅 未満にしておかなくてはいけない
スイッチほど進化しない部品は無いな。
>>918 タッチセンサとかそういう方向に進化?はしてるんじゃない。
>>919 タッチセンサなんて大昔からあるし。
>>918 進化する必要がなくなった、退化してもソフトウェアでの対応で済むようになったという感じかな。
>>911 長い文章が読めないんじゃなくて、
4行以上書くヤツにロクなのがいない、というのが本来の趣旨。 おk?
>>920 マイコンに静電タッチセンサ機能内蔵とか増えてるから
機械式スイッチをマイコンに使う用途って減ってるのかなって
つまらん掛け合いはやめれ。 2人ともシュミットトリガが必要らしいな。
>>922 スリープからの復帰は多分未来永劫機械式な気がする。
最後に ID が変わらないうちに書いておこう。 シュミットトリガでチャタを取るなら RC が必要と理解した。
>>891 でも実際入力にヒステリシスが無いチップなんて無いよな?
この車にはブレーキが付いてますってのと同じくらい当然な機能な感じ。
スイッチ入力以外にも何が入ってくるのか解らんのだし、
ヒスなしのバッファで受けてたらコアが大変なことになりかねない。
>>927 >でも実際入力にヒステリシスが無いチップなんて無いよな?
最近はどうかわからんが、2313の頃はAVRはこれが売りになるくらい他のマイコンチップではなかった。
本来はデジタル入力なら閾値付近でうろうろする信号を入れること自体がだめなんだし。
以前は外部で波形整形を要していたのが必要なくなった感じか。
普通のデジタル信号を入れるなら、多少なまってても、閾値でごちゃごちゃするのは一瞬。
入力にしろ割込トリガにしろ、マイコンが応答できないから無問題なのでは。
コアが大変になる可能性があるほど長時間閾値付近でふらふらするなら、
そういう信号を高頻度に受けてもしょうがないから、そういうプログラムすればコアが大変と言うこともないと思う。
シュミットは要るところには付いてるけど汎用には付けない感じじゃないか? 片端から付けてたら逆に使いにくいぞ
>>929 レベルコンバータなしで3.3Vレベル信号を5Vに突っ込みたいとか言う場合は
シュミットトリガじゃない方がいいかもな。
そういうのは趣味工作以外ではやらんか。
回路を固定せずに、シュッミットの有無を選択できたりしないのかな
>>930 普通にやるだろ。
俺にとってはワンチップのシュミット入力はありがた迷惑の場合が多い。
カウンタ入力とか、同期シリアルのクロックとかはシュミットトリガであったほうがいいな。
LANからスリープ復帰っていう良くわからん機能があるんだけど
>>924 LANからスリープ復帰っていう良くわからん機能があるんだけど
>>930 それは閾値の問題だから、ヒステリシスが有っても無くても関係ないでしょ?
ヒスなしで入出力特性を鋭くすると、HighとLowの閾値が近くなる。
理想的に、入力電圧にたいして垂直に出力が遷移するなら
HighとLowの閾値が完全に等しくなってノイズに対してヤバい。
でも特性を緩やかにすると中間電位は中間電位のまま、
次段の回路に行っちゃうわけで、その次がデジタル回路なら嬉しいことは何も無い。
絶対にまともなデジタル信号が来る前提に出来る石はいいけど、
マイコンみたいなやつだと、まずはシュミットトリガで受けとくのが
安全サイドの設計になるんじゃなかろうか。
>>935 つ5VSB
寝ないで電話番してる奴等が別に居て何かあったら起こしに来る職場と、
枕元でケータイ充電しながら固定電話機も置いて寝床に入る個人自営業の差。
喩え話の意味が良くわからないので もう少し具体的におながいしまつ
WOLのことかな 関係無いけどイルカは脳を交互に眠らせる事ができて 見た目にはずっと起きてるように見えるらしい 羨ましい
AVRってワーキングレジスタが32個もあるんだね。 PICのときは1個しか無かったからワーキングレジスタに読み込んでは計算して再びメモりに戻し、という作業を延々と繰り返していた。 そういう手間が省けるのがPICに対するAVRの大きな利点なんだっけ?
>>941 今となってはアセンブラで扱うことも少なくなってるんじゃないかな。
でもコンパイラから見ても、レジスタが多くメモリやスタックが普通?であることは大きいと思う。
最も、コンパイラから扱うマイコンとしてはもう8bitは止めて16bitを飛び越して32bitを使おう!というのが流れらしいけど。
設計ルールの微細化で8ビットも32ビットも大差ないみたいね、 propellerのAVR版とか出ないかなw
ARMとかも値段安いもんね。
945 :
774ワット発電中さん :2011/08/26(金) 10:58:49.00 ID:554q25lq
保守 ※落ちたように見えるスレは、ブラウザなどで1回書き込めば スレリストに復活、専ブラ等でも書き込み可能に。
ARM安いっても、1350円だかんねぇ。 100円マイコンと比べるのはちっと・・w でも、糞重い事はそっちに持ってくべきなんだろねー。
LPC1114クラスなら300円くらいだから個人的には安いかなって思った
ARMはDIP品ないからなあ
そなんだよね。DIP品あれば使いやすくなるよね。 LPC1102のDIP品があれば・・・ 2mm角の16ピンがあっても趣味では使えないw
AVRってarduinoでなくても簡単に使えますか?
質問なんだけど VGAの信号とか作ってモニタに表示する場合 AVRだとクロックは足りますか? どのくらいの解像度までだったら間に合いますか?
>>950 >>951 誰かが丁寧に回答してそれで終わればいいんだけど
その後まーたねちねちぐちゃぐちゃ議論が始まる予感
世の中にそう簡単にできるものなどないのだよ。 それなりの努力が必要。 あなたのスキルに依存するし、もっと答える側のこと考えて聞きなよ。 例えばLinuxって簡単にあつかえますか?って聞かれたらどう答える?
そんな事書いてる暇があったら答えろカス と言いたいところですが ここはひとつ黙って答を待ちます
>>954 自分でそのくらい調べて検討つけられなきゃ無理だろカス
といいたいところだが、ここはひとつやさしいだれかが答えを書くのを見守ります
では我々も、お前が諦めるまで待つとしよう
気に入らなきゃほっとけばいいのにいちいち嫌味言わなきゃいけないおっさんはウザい
>>951 >VGAの信号
アナログRGBなら、コンポジットビデオ信号の2倍のレートでRGB3色を出すことになるから、
最低でもよくあるモノクロビデオ信号の6倍の能力がいるね。
しかも多くは横640なんて出してないから、その分も・・・
ブランキングタイムなどを無視しても、640x480x3のD/A出力を1/60に行えなければだめ。
ドットあたりRGBで3命令でできても、100MHzクロックのAVRが要ります・・・
FPGAとかに手を出すしかないんじゃない?
少なくともそれを自分で検討せず質問するレベルなら、無理。
>>957 解像度を制限すればどうにかなるんだな。
chan氏の所に液晶パネル接続する例が出てて CPUパワーがどれくらい取られてるかってのも載ってるから参考に出来る訳よ。 それぐらいまでは自力で調べられないとキツイ命題よ?
そうそう、640x480だと1bppでも37.5kバイト。 カラーだとAVRのデータ空間(64k)ではフレームバッファを確保出来ないからね。 そこら辺から面倒。
VGA は難しいから CGA でがんばれ
DACってないですか? 4ビットくらいの粗いのでいいんですけど。
ラダー組めば? あとxmegaには載ってた気がする。
>>965 どれくらいの周波数で使うか知らんけど、PWMを適当にローパスじゃだめ?
>>968 正確にはPWMをローパス→ボルテージフォロアーか。
平滑したまま出したら負荷により豪快に電圧変わるもんな。
AVR131
負荷にもよるけれど、LEDとかスピーカならPWM出力直結でいいんでないの?
フィルタ入れたれ
関数電卓がソーラーで動いてるのってすごいことだよな
>>973 表示が大変そう。
容量だけならmega系なら足りるんじゃなかろうか。
AVR初心者なのですが、 ATMEGA168でLCDの駆動にPB0〜PB5を使おうと思ってますが PB3〜PB5がISP用のピンと重なってます。 これで考えれる不具合(手間)ってなんでしょうか。 INTとADCは別に使いたいし LCDのデータ4ビット+制御2ビットを別ポートにするのは格好悪いかなぁと思い PB0〜PB5を検討しましたが、データをPC0〜PC3に、制御をPB1〜PB2に ってのは普通の設計なのでしょうか。
>>977 LCDのような軽い負荷をぶら下げている程度なら、問題はありません。
ISPは要するに入出力ピンですので、
LCDをつないだままで
AVR側がINPUTで、外からLo/Hiをかけると素直にLo/Hiになる。
AVRがOUTPUTになり、Lo/Hiを出力すれば素直にLo/Hiになる。
ならば問題ありません。
モーターや大容量コンデンサ、その他大きな負荷(低い抵抗によるプルアップ/プルダウン)、
出力になる可能性のある部品をつないでいる場合はまずいです。
LCDは普通に使えば入力ポートで動きますが、モードによっては出力することもありえたはず。
まず大丈夫でしょうけど、できることならLCDを外してISPしたいところです。
ISPのピンにLEを割り当てなければLCDにコマンドが送られることはないので大丈夫のはずですが・・・・
がなければOKです。
日本語でok
>>978 あ、勘違いだった。
6ピンで使うならR/Wは使わないから、LCDの出力はありえないな。
問題なく使える。
>977 > LCDのデータ4ビット+制御2ビットを別ポートにするのは格好悪いかなぁと思い 全然そんなことない。 > データをPC0〜PC3に、制御をPB1〜PB2にってのは普通の設計なのでしょうか。 普通。 そこはあんまり気にするとこじゃないさ。 そりゃぁデータ4ビットをばらばらに取ろうとしたら、そこ何とかしようよと言いたくなるが。 …なるが、しかし、配線パターンを優先するためそうせざるを得ない、ということもあるしな。
>>974 ありがと、海外のは一般的なCPU使っていたのね。
やっぱ昨今はARMなのかーっ
mega128辺りで造ってみたいね
>>977 わかりやすさと速度とコードを犠牲にしない(許容範囲内)なら、OKだと思う。
ありがとうございました。 カーコンピュータを作ろうしてまして シリアルGPSの入力でPD0、シリアル出力でPD1 バッテリーの電圧測定でPC0、明るさ検知でPC1 液晶のデータ4ピン、制御2ピン、バックライトPWMに1ピン という風にピンがどんどん埋まっていくもので・・・ PB3〜PB5を使う実機テストするときは ISP はずしたほうがいいですよね? となると、やっぱ液晶もPB系統を使って排他がいいですかね
>>984 >ISP はずしたほうがいいですよね?
それはライター次第。
普通はISP中以外はHi-Zで切り離されるようにできていると思うけど。
だから、気にする必要ないと思うよ。
あなたの美意識が許さないならしょうがないがw
ISPのプログラミング中はRESETがLOWなのを利用して、 RESETがLOWの時にHiZになるように、 使用ポートにバッファを入れる方法がある。 ただ、これは入出力が1方向に確定している場合に限る。 確定しない場合は、アナログスイッチを入れる方法もある。 ICのコストや面積とかがもったいないのもあるから 違う方法で回避するのが普通なのかもしれないが一応。
>>984 シリパラ変換ICでピン数へらしちゃうのも手ですね。
LCDのDataとRSをシリパラ変換でセットして、EをLCDに直接送る。
クロックとデータの2線+Eの3ポート+電源・GNDですむ。
シリパラつってもラッチ付きの595になって割高だから、 2313でLCD制御してI2CやUARTで繋げた方がいいかもしれない。 まあAVRである必要もないが。
>>973 最低限チューリング完全な電卓を作ろうと妄想して作りはじめたけど、エミュレータで動くぐらいの所までやってあきちゃった。
>>988 LCD自身にラッチがあるから、ラッチ付きじゃなくていいんじゃない?
UARTだと一見使いやすそうだけど貴重なハードウェアUARTを潰したり
ソフトウェアUARTを仕立てたりでだんだんうっとうしくなってくる(^^;)
UART接続LCDは、面倒なら市販モジュールもあるのはいいんだけどね。
I2CやSPIの方がいいかな。特にイーサシールドなどで既に使っている場合は。
そろそろモジュールじゃなく部品としてシリアルLCDとか普通に入手できたらうれしいんだけ
ど・・・
LCD ったって、いろいろあるじゃない。 LCDコントローラとは書いてない。
ume
HPの電卓と同精度の関数電卓を作ってくれ
ウメ
産め
うめ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。