X



トップページ電気・電子
1002コメント332KB
AVRマイコン総合スレ Part41
■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2018/09/29(土) 13:25:04.41ID:NVU21ZtG
個人でも手軽に使えるAtmelのAVRマイクロプロセッサを中心に語るスレッドです

<公式サイト>
http://www.microchip.com/design-centers/8-bit/microchip-avr-mcus
・AVR Libc Reference Manual:
https://www.microchip.com/webdoc/avrlibcreferencemanual/install_tools_1install_avr_libc.html

<参考になるページ>
・AVRWiki: http://avrwiki.sourceforge.jp/cgi-bin/wiki.cgi?page=AVRWiki
・AVR情報多い-chanさんのpage: http://elm-chan.org/
・avrfreaks.net avrgccその他AVR関連の総本山(英語): http://www.avrfreaks.net/
・TAP-Config: http://ww2.tiki.ne.jp/~maro/
・AVR.jp 日本語のAVR資料他: http://www.avr.jp/
・ATMega168日本語データシート(翻訳中): http://awawa.hariko.com/chira-ura/
・AVR アセンブラのマニュアル(ユーザーズガイド): http://www.atmel.com/Images/doc1022.pdf
・インストラクション(命令セット)の解説: http://www.atmel.com/Images/doc0856.pdf
・条件付きアセンブルの解説(アセンブラ ver. 1.74対応):http://www.atmel.com/Images/doc2550.pdf
・アセンブラとCの連携方法: http://www.atmel.com/Images/doc1234.pdf

前スレ
AVRマイコン総合スレ Part40
https://rio2016.5ch.net/test/read.cgi/denki/1517019258/
0432774ワット発電中さん
垢版 |
2018/12/20(木) 12:49:53.00ID:blt63AuM
ほかの割り込み要因は寝てるの確実?
0433774ワット発電中さん
垢版 |
2018/12/20(木) 13:06:02.63ID:tpk0JwGn
>>432
いえ不定です
しかし外部割り込みはベクタアドレスがもっとも若いので平気かな?と考えていました
データシートのCPUコアのところを見ると
「AVRが割り込みから抜けるといずれかの割り込みが実行される前に1つの命令が実行されます」とありますね…
0434774ワット発電中さん
垢版 |
2018/12/20(木) 14:43:29.67ID:tpk0JwGn
EXT_INT0:
PUSH R0
IN R0,SREG
PUSH R0
PUSH R1
CLR R1
PUSH R16
PUSH R17
SELF_LOOP: ;★
;〜 処理が書いてある 〜
SBIS PIND,2 ;★
RJMP SELF_LOOP ;★
POP R17
POP R16
POP R1
POP R0
OUT SREG,R0
POP R0
RETI


自分の用途だと★のついてる行3つを追加したら良いだけでした…
なんかすいません
0435774ワット発電中さん
垢版 |
2018/12/21(金) 17:46:30.88ID:UhRkphG0
なにも謝る必要は無いよw
どんな仕様か分らないけど、割込みから戻って来ないプログラムってなかなか見ないな。
私は今まで書いたことが無い。
もちろん、それで目的が達せられるならOKなんだけどね。
R0とR1を保存しているのはプログラムメモリのアクセスか乗算の為か?
0436774ワット発電中さん
垢版 |
2018/12/21(金) 19:58:09.11ID:gLGxX/b0
R0は命令によって固定使用される。
R1はCでゼロレジスタとして使われる。
アセンブラしかしない人には2番目は関係無いし知らないかもしれないな。
0437774ワット発電中さん
垢版 |
2018/12/21(金) 21:00:17.48ID:y6/oV0js
秋月で売ってる可愛い女性の声チップは中身がATmega328Pやったんな(笑)
0438774ワット発電中さん
垢版 |
2018/12/21(金) 21:01:33.02ID:TUAGPR+E
R1はMULなど乗算命令の結果上位バイトが入るんで…
乗算使うなら保存必要
Cでどう使ってるかとか関係無いわ
0439774ワット発電中さん
垢版 |
2018/12/21(金) 23:13:08.41ID:09+ijvIU
>>437
テキスト入力で自由に音声出力できるやつでは使いやすいかもね
メーカーサイトのサンプル出力で少し遊んでみた
0440774ワット発電中さん
垢版 |
2018/12/22(土) 07:39:33.18ID:OPTNVhhV
>>437
昔、そのICを買ってきて音を出してみたら、ひどい声だったのでガッカリしたぞぉw
我が家の目覚まし時計の女性の声がとても可愛く、同じレベルを想像していたので。

でもせっかく買ったんだから何か作らなくちゃと思って
テスタの測定値を読み上げるものをtiny233で作った。
https://i.imgur.com/hP0bBGk.jpg
完成した後2、3回使ってみたけど、
とくに便利とも思えず、目で見た方がよっぽど早い。
以後、押し入れに放ったままで一度も使わず数年経過w
0442774ワット発電中さん
垢版 |
2018/12/22(土) 20:26:37.00ID:1UsYhOVF
メロディーで頑張ってるドアセンサー群に使うと便利そうだな。。。
0443774ワット発電中さん
垢版 |
2018/12/23(日) 22:52:15.23ID:AKPXvAlA
>>440
あくえすとーくだっけ?
何種類Ka声があったような
うちのはいわゆるゆっくり系ボイス

「ゆっくりしていってね!」
0444774ワット発電中さん
垢版 |
2018/12/24(月) 21:52:17.61ID:t09OED4m
あくえす〜〜〜〜
試してみたけど、こんなもんかな〜〜〜〜
ちょっと、しょぼい・・・・・
所詮、おもちゃレベルだな???
(おもちゃに内蔵されてる物の方がはるかにいい!!)
0445774ワット発電中さん
垢版 |
2018/12/25(火) 05:53:31.20ID:kJPH4o84
>>440
これいいなw顕微鏡を覗いて細かいところを当たってるときに
電圧値を読み上げて欲しいと思ってたんだよw

ちなみにこれって「小型ロボの声」とか言ってごまかしてるけど
どう考えても「ょぅι゛ょの声」だよね・・・
http://akizukidenshi.com/catalog/g/gI-11517/
0446774ワット発電中さん
垢版 |
2018/12/30(日) 10:46:47.15ID:Q44lx7WA
BPFとノイズジェネレータ使って「あいうえお」を発声させていた頃が懐かしい。
0451774ワット発電中さん
垢版 |
2019/01/02(水) 08:45:38.27ID:ZMfOb0Cs
いわゆるニコ動とかで有名な「ゆっくり」声のICはATP3011F1ね
>>449のサンプルで言えば音声合成エンジン:AquesTalk、声種:AquesTalk-f1女声1(ゆっくり)
0454774ワット発電中さん
垢版 |
2019/01/05(土) 14:06:33.32ID:QhOhO8pH
使ってるけど便利だよ
spi/i2cもできる
0455774ワット発電中さん
垢版 |
2019/01/07(月) 23:52:00.56ID:LBD//Lvg
PICのソースをavrに移植して、少しはまった。
割込みで処理で、フラグ変数が競合してた。
PICは、8bit変数は直接命令だから、アトミックだけど、
AVRは一度レジスタ経由でアクセスするから意識しないといけないのよね。
今回はATOMIC_BLOCK使った。
0457774ワット発電中さん
垢版 |
2019/01/09(水) 14:49:52.80ID:Uq2Gh5+J
>>456
メッセージ内容が固定メッセージなら録音やらなんやらの音声データ再生だけですむけど不定形の場合はそうはいかんでしょ。

また、音声の内容が長ければそれなりにデータもでかくなるし。

極端な例だとなんかしらの毎度変わるテキストの読み上げとか(web読み上げがいい例)とかじゃない?
0459774ワット発電中さん
垢版 |
2019/01/10(木) 12:25:35.94ID:Gqb4W0Np
なかなか難しいよね
スマフォだったら「しゃべる外国人旅行者向けの通訳機」みたいなのがありそうだけど
まあ「手段のためには目的は選ばない」と言うのが電子工作らしいけどね
0461774ワット発電中さん
垢版 |
2019/01/13(日) 13:53:20.64ID:3c0v3EQE
火災報知器のアラームが
ゆっくり音声で
「かじですー かじですー」
とかだったらマヌケな感じするなと思ったが、
実例が遭ったわ
https://youtu.be/-f2VApj-mA8
燃える近辺から再生
0468774ワット発電中さん
垢版 |
2019/01/15(火) 03:00:11.22ID:oB/YHnKh
クロックを内蔵と外部と切り替えるにはヒューズバイトというのの書き換えが必要ってことであってますか?
そうだとして、それにはどんな道具が必要ですか?
12Vとかかけないといけないとか、結構面倒そうなんですが、一番簡単で安い方法を教えてください。
0469774ワット発電中さん
垢版 |
2019/01/15(火) 05:28:44.89ID:/hfOLQ3R
>>468
今そんなことより458がスレチとか言ってるアホを叩き潰すのに忙しいから
0470774ワット発電中さん
垢版 |
2019/01/15(火) 09:34:57.08ID:m68UY+Vm
>>468
低電圧シリアルプログラミングでもできるよ
FTDIのUSBシリアルでftavrwってソフトとか
Arduino(クローン可)でArduinoISPとか
0471774ワット発電中さん
垢版 |
2019/01/15(火) 12:16:58.83ID:uLwdYkV8
>>468
やったことないが想像で書くと…
ヒューズバイトの中のSPIEN(シリアルプログラミング許可)ビットだけ気を付けること。これをDisableにしてしまうと定電圧シリアルプログラミングができなくなってしまう。
このビットさえ気を付ければクロックの内蔵CR/外付けクリスタルの切り替えは定電圧シリアルプログラミングでできる。
だったはず
0473774ワット発電中さん
垢版 |
2019/01/15(火) 12:36:00.82ID:m68UY+Vm
>>471
SPIENのオン/オフは低電圧シリアルプログラミングからは出来ないから平気
初心者がよくやるのは…
RSTDSBLでリセットピンをポートに切り替えてしまってICSPが反応しなくなるパターンと
水晶とコンデンサ繋いでないのに外部発振に切り替えてうんともすんとも言わなくなるパターン
0474774ワット発電中さん
垢版 |
2019/01/15(火) 14:03:53.28ID:P5QDYvKD
昔、AVRを始めた頃の思い出
 AVRのヒューズ/ロックビット読み書きソフトを作っていて、
テスト中にうっかりRSTDISBLを書きかえてしまい、
結局、次にパラレルライタを急いで作るハメになってしまった事。
https://i.imgur.com/Zpqi7Dq.jpg
0477774ワット発電中さん
垢版 |
2019/01/15(火) 14:49:48.69ID:P5QDYvKD
なんでアトメルは12Vシリアル書き込みを8ピン以外でも採用してくれなかったんだろ?
そうしてくれればパラレルライタなんてメンドくさいものを作らなくて済んだのに。
0480468
垢版 |
2019/01/15(火) 16:39:24.50ID:lx9WJ5BL
教えていただいて安心しました。
みなさんありがとうございました。
0481774ワット発電中さん
垢版 |
2019/01/15(火) 16:44:12.76ID:HS5DHehh
これから始めるのに今一番おすすめのライターはどれでしょう?
既製品でも自作でもいいので、みなさんお使いの良さそうなのを教えてください。
ArduinoならUNOとNanoを持っています。

あと、初心者向けのスレは無いんでしょうか?
ここでもいいんでしょうか?
0483774ワット発電中さん
垢版 |
2019/01/15(火) 17:24:20.61ID:qAyX5BsK
ライターもデバッガも初心者に勧められるものはないのでできれば避けてください
0484774ワット発電中さん
垢版 |
2019/01/15(火) 17:49:27.25ID:dsblupnX
自分が最終的に落ち着いたのは
uno,nanoは内蔵シリアル
pro mini, attinyはAliExpressで150円ぐらいのUSBasp
pro miniでシリアル通信が必要なときは、これまた150円ぐらいのシリアルコンバーター
0485774ワット発電中さん
垢版 |
2019/01/15(火) 20:36:19.53ID:aL4ZsaoC
>>468
一回書き換えると元に戻せないヒューズだけは、高電圧で書き換え
どのヒューズがってのは状況によって変わった記憶が
うろ覚えでごめん、なんか俺もそれで困った記憶があって、道具無くてそのときだけチップ書い直した
0486774ワット発電中さん
垢版 |
2019/01/16(水) 05:31:15.74ID:vHTTwZ0E
具体的にこのライターでってのが一向に出てこないんだなAVRの場合。
みなさん自作なの?
それとも>>483の言ってるのが正しいってこと?
0487774ワット発電中さん
垢版 |
2019/01/16(水) 06:30:50.19ID:JxKFcCud
なんの話してるんだ??
AVR ISPなんていっぱい出てるじゃないか。
互換品もいっぱいあるが不安なら純正品にしとけばいいじゃん。
0489774ワット発電中さん
垢版 |
2019/01/16(水) 08:52:44.70ID:0POfzSoQ
2011年くらいからずっと AVRISPmk2 使ってて困ってないけど、「今一番」かどうかなんか知らんし
0491774ワット発電中さん
垢版 |
2019/01/16(水) 09:02:51.21ID:GUkZOlFZ
>>486
アホには無理だから他の石使え
そして此処には来るな
と言ってるんだよ
0492774ワット発電中さん
垢版 |
2019/01/16(水) 09:36:14.97ID:3BHnezLD
>>481
マイコン初心者なので、余計なトラブル回避したくて、
純正ライタ->純正ICEと来て、デバッグ環境まで手に入りました。


ただ、debugwireのヒューズ切り替えがめんどいので、
atmega328から移行を考えてます。
良さげな石ありますか?
0493774ワット発電中さん
垢版 |
2019/01/16(水) 09:39:49.71ID:dpoe4F92
最近、avrを堪能しようと思って、atmel-ice 買った。
ところで、ispで、tool から電源供給できるライターってあるのですか?
また、コマンドラインから、atmel-iceを使って、書込み実行する方法ってありますかね?
毎回 ctrl-shift + P で画面開いて、toolをiceに選択しなおして、memory開いて、flash,eeprom と
順番にボタン押していくのが面倒なんです。
0495774ワット発電中さん
垢版 |
2019/01/16(水) 10:32:44.58ID:50+mzAak
純正のAVRISPmk2ってとっくに販売終了していて互換品しかないんだがな。

>>492
DIP限定ならjtagのあるmega644とか。
SOPでもいいなら、俺的にはUPDIが使えるtiny1シリーズやmega0シリーズが快適すぎる。
UPDIのやつはリセットピンをIOにしても戻すは割と簡単だし。(ただし出力設定にしてない場合に限る)

>>493
atprogramでググレ
0497774ワット発電中さん
垢版 |
2019/01/16(水) 12:45:26.28ID:0POfzSoQ
ちゃんと AVRISPmk2が昔の製品って解るように書いたつもりなんだがなぁ
0498774ワット発電中さん
垢版 |
2019/01/16(水) 13:23:34.05ID:dpoe4F92
>>495
atprogram 初めて知りました。ありがとうございます。

ところで、以下のような fuse 設定をソースに記述しているのですが、
これを、どうやって、writer 書き込めるのかわかりません。
.elf ファイルにあるとは思うのですが。 -fs -f xxxx.elf では設定できませんでした。

FUSES =
{
.low = LFUSE_DEFAULT,
.high = (FUSE_SPIEN & FUSE_WDTON & FUSE_BODLEVEL1),
.extended = (EFUSE_DEFAULT),
};
0499774ワット発電中さん
垢版 |
2019/01/16(水) 14:08:48.08ID:50+mzAak
下手に抜粋すると間違いが起きそうなので、俺が実際に使用してるバッチ内容をコピペするから適当に変更してくれ。
atprogram -f -t atmelice -i UPDI -d atmega4808 program -c --flash --fuses --verify --file mega4808.elf

推測だが、コマンドの「program」が抜けてるんじゃないかな。
コマンド内にサブコマンドがあってさらにそれに対するオプションと書式がややこしいんだ。
-fsは--fusesと同じ、-fは--fileと同じだからそのままでいい。
atprogramの直後にある-fはツールのファームバージョンが違っても強制するオプションでかぶるから俺は--fileで書いた。
0501774ワット発電中さん
垢版 |
2019/01/16(水) 14:21:41.66ID:50+mzAak
AtmelStudioに付属してる純正のコマンドラインツールだよ。
基本的には純正ライタ・デバッガでしか動かない。
0503774ワット発電中さん
垢版 |
2019/01/16(水) 15:51:23.50ID:WdmgNOi2
>>491
貴方のご意見の通りのようですね。
AVRはやめてPICを始めることにしました。
開発環境も書き込み器もすぐにこれだなというものの目星がつきました。
開発環境はすでにインストールし、PICとライターはもう注文しました。
感謝しています、ありがとうございました。
0504774ワット発電中さん
垢版 |
2019/01/16(水) 16:05:33.77ID:lkStCnQI
>>488のようなのが今の置き忘れられたAVRを象徴してるね。
面倒な初心者はディスり扱いで排除する貧相な度量。
Arduinoの構成パーツに成り下がり、単体では依然PICに追いつけず、こともあろうにそのライバルに買収された。
0505774ワット発電中さん
垢版 |
2019/01/16(水) 16:07:46.30ID:50+mzAak
MPLABでAVRも開発できるし書き込みもできるんだけど、
新しすぎて情報が少ないんだよね。
0506774ワット発電中さん
垢版 |
2019/01/16(水) 16:07:50.17ID:dpoe4F92
>>499
完璧にうまくいきました。 助かりました。

fuses の設定を間違えて、1個 ispできなくなったけど...

高電圧ライターは、入手するか、、、買うかどうしようかな。
0508774ワット発電中さん
垢版 |
2019/01/16(水) 16:19:40.79ID:zAWLkHn0
いつか役立つかもしれないユニバーサルライタを買うというのもあり
0510774ワット発電中さん
垢版 |
2019/01/16(水) 16:27:53.38ID:VW4FbHbt
>>509
それ買わせて結局PIC使いに化けさせるという戦略だなw
さすがに良く考えてある。
0512774ワット発電中さん
垢版 |
2019/01/16(水) 16:47:19.59ID:50+mzAak
>>511
おっしゃる通り。
初心者だからこそ両方使って、両方使えるようになれて、適材適所に使い分けてもらいたい。
MicrochipのおかげでAVRの新シリーズも安価なんだし。
0513774ワット発電中さん
垢版 |
2019/01/16(水) 17:45:05.20ID:dpoe4F92
>>511
そういうことですね。
有益な、情報が得られれば、それだけでありがたいです。
別に正しくなくても、きっかけとして、自分で検証すればいいだけなので。
0514774ワット発電中さん
垢版 |
2019/01/16(水) 19:02:30.48ID:k+F5W3C6
私は、PICとAVRが目の前に置いてある状況で、
「どちらを使っても構いませんよ」
と言われたとたら、どうしてもAVRを選んでしまう。

何と言えばいいのか、PICファンの皆様、PICは私の特異体質に合わないんですよ。
昔、PICを始めた時にアセンブラでプログラムを書いていたら頭痛がしてきて、
それでもライタなどの初期投資代金がもったいないので、
我慢して、さらに2本目も書いたのだが、頭痛はひどくなり、
このまま続けていたら、PICのアホが私に乗り移ってしまいそうな恐怖に駆られてw
3本目はとうとうPICを諦めてAVRに乗り替えてしまった。
もちろんISPライタなどの金がまた掛かったが、プログラミング中の頭痛はなくなった。
AVRは良い。私のナスがママ、胡瓜がパパ、意のままに動く。

私の特異体質のせいだと思うから誰の参考にもならないだろうな。
(御精読を感謝します。怒っちゃヤーよ、ほら笑って笑って)
0515481
垢版 |
2019/01/16(水) 19:39:25.93ID:tlSYZtA7
Arduino NanoをライターにしてATmega328PにLチカをさせるところまで来ました。
>>482さん、アドバイスありがとうございます、ライター関連出費ゼロで済んでますw
外付けの16MHzのセラロックで動かしてるんですが、半部くらいの速度になってしまいます。
あと、内蔵クロックに設定すると動きません。
ま、ぼちぼち解明していくつもりです。
とりあえずお礼とご報告まで。
0516774ワット発電中さん
垢版 |
2019/01/16(水) 20:19:47.83ID:dpoe4F92
atmel-ice の他、
pic用で、pickit4 買ったんだけど、avrの対応はどうなっているのか良く分からんです。
UPDIだけの対応かな? 内部で12V生成していると思うので、avrの高電圧モードもあればいいんだけど。。。
0517774ワット発電中さん
垢版 |
2019/01/16(水) 21:24:56.29ID:yQ68hMrD
PICKIT4はATMEL-ICEと同等の対応見たいで12VはUPDI/HVだけのようです。
snapのUser GuideにPICKIT4vsSnapの比較が出ていてわかりやすいです。
MALAB Xより次期AS7の方がさきにPICKIT4対応できるのではと期待してます。
0519774ワット発電中さん
垢版 |
2019/01/16(水) 22:52:32.06ID:yQ68hMrD
>>518
おおAS7単体でなくMPLABも一緒にインストすればAS7で使えるようになるのですね。 TNX
snapもサポートしてくれないかな
0520774ワット発電中さん
垢版 |
2019/01/17(木) 00:58:31.25ID:xmtr98yn
マイコン始めようと思ってる、AVRとH8と迷って中。
やっぱAVRがおすすめ?
0522481
垢版 |
2019/01/17(木) 01:09:00.83ID:yT0B+Wvw
>>520
迷う理由を聞いてみたいです。
0525774ワット発電中さん
垢版 |
2019/01/17(木) 08:15:36.22ID:DFTURxFt
>>520
今から始めるならH8じゃなくてRL78じゃねえの。せめてR8Cだわ。
デバッグ環境考えるとルネサスのほうがいいと思うがねえ。
0528774ワット発電中さん
垢版 |
2019/01/17(木) 09:30:01.35ID:gQzEYPOp
>>495
mega644、tiny1、mega0ですか、メモしときます。
644、中々いい朝お値段しますね。
後二つはまだ詳細分かってないですが、調べてみます。

最近はDIPじゃない方がむしろ都合いいです
0529774ワット発電中さん
垢版 |
2019/01/17(木) 09:32:36.86ID:sQRL5cMf
誘導ミサイルに頼りすぎるとドッグファイト能力が落ちるとかなんとか昔トップガンでやってた
誘導ミサイル:高性能デバッガ
ドッグファイト:基本的なプログラミング能力
0530774ワット発電中さん
垢版 |
2019/01/17(木) 10:05:33.09ID:JAqxnnR+
>>529 そですね。
そういう意味でのマイコン選びなのですが…
アルデュイーノやラズパイは、できあがりすぎていると感じました。
ただ、PICは統一性がなく、余計な手間がかかりすぎる。
その上で、AVR、H8(RL78、R8C)、Z80あたりを探っているのですが。
H8系は面白そうですけど簡易工作レベルでは、高性能すぎると感じます。
ゆえに、AVRが妥当かと。
0531774ワット発電中さん
垢版 |
2019/01/17(木) 10:35:41.44ID:CWoLrWiy
H8が高性能だって?
まあ、そう「感じた」んなら仕方ないけど・・・
0532774ワット発電中さん
垢版 |
2019/01/17(木) 10:52:49.22ID:QCZ9EK+q
AVRより高性能なのは間違ってない
コード見るとAVRはコンパイラがかなり苦しんでる
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況