AVRマイコン総合スレ Part41
■ このスレッドは過去ログ倉庫に格納されています
>>432
いえ不定です
しかし外部割り込みはベクタアドレスがもっとも若いので平気かな?と考えていました
データシートのCPUコアのところを見ると
「AVRが割り込みから抜けるといずれかの割り込みが実行される前に1つの命令が実行されます」とありますね… 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つを追加したら良いだけでした…
なんかすいません なにも謝る必要は無いよw
どんな仕様か分らないけど、割込みから戻って来ないプログラムってなかなか見ないな。
私は今まで書いたことが無い。
もちろん、それで目的が達せられるならOKなんだけどね。
R0とR1を保存しているのはプログラムメモリのアクセスか乗算の為か? R0は命令によって固定使用される。
R1はCでゼロレジスタとして使われる。
アセンブラしかしない人には2番目は関係無いし知らないかもしれないな。 秋月で売ってる可愛い女性の声チップは中身がATmega328Pやったんな(笑) R1はMULなど乗算命令の結果上位バイトが入るんで…
乗算使うなら保存必要
Cでどう使ってるかとか関係無いわ >>437
テキスト入力で自由に音声出力できるやつでは使いやすいかもね
メーカーサイトのサンプル出力で少し遊んでみた >>437
昔、そのICを買ってきて音を出してみたら、ひどい声だったのでガッカリしたぞぉw
我が家の目覚まし時計の女性の声がとても可愛く、同じレベルを想像していたので。
でもせっかく買ったんだから何か作らなくちゃと思って
テスタの測定値を読み上げるものをtiny233で作った。
https://i.imgur.com/hP0bBGk.jpg
完成した後2、3回使ってみたけど、
とくに便利とも思えず、目で見た方がよっぽど早い。
以後、押し入れに放ったままで一度も使わず数年経過w メロディーで頑張ってるドアセンサー群に使うと便利そうだな。。。 >>440
あくえすとーくだっけ?
何種類Ka声があったような
うちのはいわゆるゆっくり系ボイス
「ゆっくりしていってね!」 あくえす〜〜〜〜
試してみたけど、こんなもんかな〜〜〜〜
ちょっと、しょぼい・・・・・
所詮、おもちゃレベルだな???
(おもちゃに内蔵されてる物の方がはるかにいい!!) >>440
これいいなw顕微鏡を覗いて細かいところを当たってるときに
電圧値を読み上げて欲しいと思ってたんだよw
ちなみにこれって「小型ロボの声」とか言ってごまかしてるけど
どう考えても「ょぅι゛ょの声」だよね・・・
http://akizukidenshi.com/catalog/g/gI-11517/ BPFとノイズジェネレータ使って「あいうえお」を発声させていた頃が懐かしい。 arduino unoがあればハンダ付けもしなくていいのか
まあどっちも持ってないけど
https://www.youtube.com/watch?v=p9rTu4J5sjc いわゆるニコ動とかで有名な「ゆっくり」声のICはATP3011F1ね
>>449のサンプルで言えば音声合成エンジン:AquesTalk、声種:AquesTalk-f1女声1(ゆっくり) PICのソースをavrに移植して、少しはまった。
割込みで処理で、フラグ変数が競合してた。
PICは、8bit変数は直接命令だから、アトミックだけど、
AVRは一度レジスタ経由でアクセスするから意識しないといけないのよね。
今回はATOMIC_BLOCK使った。 >>456
メッセージ内容が固定メッセージなら録音やらなんやらの音声データ再生だけですむけど不定形の場合はそうはいかんでしょ。
また、音声の内容が長ければそれなりにデータもでかくなるし。
極端な例だとなんかしらの毎度変わるテキストの読み上げとか(web読み上げがいい例)とかじゃない? なかなか難しいよね
スマフォだったら「しゃべる外国人旅行者向けの通訳機」みたいなのがありそうだけど
まあ「手段のためには目的は選ばない」と言うのが電子工作らしいけどね >445の電圧値の読み上げみたいなのには向いてるね。 火災報知器のアラームが
ゆっくり音声で
「かじですー かじですー」
とかだったらマヌケな感じするなと思ったが、
実例が遭ったわ
https://youtu.be/-f2VApj-mA8
燃える近辺から再生 まちがった
https://youtu.be/-f2VApj-mA8?t=254
こっちが燃える直前から再生のURLです
ゆっくり音声で視聴者がかじーかじーとメッセージ入れてる >>458
それのどこがavr関係してんだ?
スレ考えてレスしろや >>464
スレタイも読めないくせに誤魔化すなよwww >>465
流れも読めないくせに誤魔化すなよwww
ここから出て行け >>466
出ていけwwwwwwww
恥ずかしいのう クロックを内蔵と外部と切り替えるにはヒューズバイトというのの書き換えが必要ってことであってますか?
そうだとして、それにはどんな道具が必要ですか?
12Vとかかけないといけないとか、結構面倒そうなんですが、一番簡単で安い方法を教えてください。 >>468
今そんなことより458がスレチとか言ってるアホを叩き潰すのに忙しいから >>468
低電圧シリアルプログラミングでもできるよ
FTDIのUSBシリアルでftavrwってソフトとか
Arduino(クローン可)でArduinoISPとか >>468
やったことないが想像で書くと…
ヒューズバイトの中のSPIEN(シリアルプログラミング許可)ビットだけ気を付けること。これをDisableにしてしまうと定電圧シリアルプログラミングができなくなってしまう。
このビットさえ気を付ければクロックの内蔵CR/外付けクリスタルの切り替えは定電圧シリアルプログラミングでできる。
だったはず >>471
SPIENのオン/オフは低電圧シリアルプログラミングからは出来ないから平気
初心者がよくやるのは…
RSTDSBLでリセットピンをポートに切り替えてしまってICSPが反応しなくなるパターンと
水晶とコンデンサ繋いでないのに外部発振に切り替えてうんともすんとも言わなくなるパターン 昔、AVRを始めた頃の思い出
AVRのヒューズ/ロックビット読み書きソフトを作っていて、
テスト中にうっかりRSTDISBLを書きかえてしまい、
結局、次にパラレルライタを急いで作るハメになってしまった事。
https://i.imgur.com/Zpqi7Dq.jpg >>469
自分を正当化したくてしょうがないんだねぇ >>469
出ていけ君、顔真っ赤粘着でウザイなwww なんでアトメルは12Vシリアル書き込みを8ピン以外でも採用してくれなかったんだろ?
そうしてくれればパラレルライタなんてメンドくさいものを作らなくて済んだのに。 PDI,UPDI使うシリーズはパラレルモードが無い。 教えていただいて安心しました。
みなさんありがとうございました。 これから始めるのに今一番おすすめのライターはどれでしょう?
既製品でも自作でもいいので、みなさんお使いの良さそうなのを教えてください。
ArduinoならUNOとNanoを持っています。
あと、初心者向けのスレは無いんでしょうか?
ここでもいいんでしょうか? ここでいんじゃね
Arduinoあるならそれがライターになるよ ライターもデバッガも初心者に勧められるものはないのでできれば避けてください 自分が最終的に落ち着いたのは
uno,nanoは内蔵シリアル
pro mini, attinyはAliExpressで150円ぐらいのUSBasp
pro miniでシリアル通信が必要なときは、これまた150円ぐらいのシリアルコンバーター >>468
一回書き換えると元に戻せないヒューズだけは、高電圧で書き換え
どのヒューズがってのは状況によって変わった記憶が
うろ覚えでごめん、なんか俺もそれで困った記憶があって、道具無くてそのときだけチップ書い直した 具体的にこのライターでってのが一向に出てこないんだなAVRの場合。
みなさん自作なの?
それとも>>483の言ってるのが正しいってこと? なんの話してるんだ??
AVR ISPなんていっぱい出てるじゃないか。
互換品もいっぱいあるが不安なら純正品にしとけばいいじゃん。 2011年くらいからずっと AVRISPmk2 使ってて困ってないけど、「今一番」かどうかなんか知らんし >>486
アホには無理だから他の石使え
そして此処には来るな
と言ってるんだよ >>481
マイコン初心者なので、余計なトラブル回避したくて、
純正ライタ->純正ICEと来て、デバッグ環境まで手に入りました。
ただ、debugwireのヒューズ切り替えがめんどいので、
atmega328から移行を考えてます。
良さげな石ありますか? 最近、avrを堪能しようと思って、atmel-ice 買った。
ところで、ispで、tool から電源供給できるライターってあるのですか?
また、コマンドラインから、atmel-iceを使って、書込み実行する方法ってありますかね?
毎回 ctrl-shift + P で画面開いて、toolをiceに選択しなおして、memory開いて、flash,eeprom と
順番にボタン押していくのが面倒なんです。 純正のAVRISPmk2ってとっくに販売終了していて互換品しかないんだがな。
>>492
DIP限定ならjtagのあるmega644とか。
SOPでもいいなら、俺的にはUPDIが使えるtiny1シリーズやmega0シリーズが快適すぎる。
UPDIのやつはリセットピンをIOにしても戻すは割と簡単だし。(ただし出力設定にしてない場合に限る)
>>493
atprogramでググレ 俺は純正のライタが高くて買えないので、泣きながら自作した。
https://i.imgur.com/Sysi65t.jpg
裏側
https://i.imgur.com/lYHRHZP.jpg
書き込み後にリセットさせたくて、少し改造。
https://i.imgur.com/fREePYf.jpg
RTS-CTSの直結ラインを0.1μFで優しく受け止め、リセットピンに接続。
パーツは秋月で全部揃う。
1300円くらい。 ちゃんと AVRISPmk2が昔の製品って解るように書いたつもりなんだがなぁ >>495
atprogram 初めて知りました。ありがとうございます。
ところで、以下のような fuse 設定をソースに記述しているのですが、
これを、どうやって、writer 書き込めるのかわかりません。
.elf ファイルにあるとは思うのですが。 -fs -f xxxx.elf では設定できませんでした。
FUSES =
{
.low = LFUSE_DEFAULT,
.high = (FUSE_SPIEN & FUSE_WDTON & FUSE_BODLEVEL1),
.extended = (EFUSE_DEFAULT),
}; 下手に抜粋すると間違いが起きそうなので、俺が実際に使用してるバッチ内容をコピペするから適当に変更してくれ。
atprogram -f -t atmelice -i UPDI -d atmega4808 program -c --flash --fuses --verify --file mega4808.elf
推測だが、コマンドの「program」が抜けてるんじゃないかな。
コマンド内にサブコマンドがあってさらにそれに対するオプションと書式がややこしいんだ。
-fsは--fusesと同じ、-fは--fileと同じだからそのままでいい。
atprogramの直後にある-fはツールのファームバージョンが違っても強制するオプションでかぶるから俺は--fileで書いた。 atprogramってavrdudeとどう違うの?似たようなもの? AtmelStudioに付属してる純正のコマンドラインツールだよ。
基本的には純正ライタ・デバッガでしか動かない。 >>491
貴方のご意見の通りのようですね。
AVRはやめてPICを始めることにしました。
開発環境も書き込み器もすぐにこれだなというものの目星がつきました。
開発環境はすでにインストールし、PICとライターはもう注文しました。
感謝しています、ありがとうございました。 >>488のようなのが今の置き忘れられたAVRを象徴してるね。
面倒な初心者はディスり扱いで排除する貧相な度量。
Arduinoの構成パーツに成り下がり、単体では依然PICに追いつけず、こともあろうにそのライバルに買収された。 MPLABでAVRも開発できるし書き込みもできるんだけど、
新しすぎて情報が少ないんだよね。 >>499
完璧にうまくいきました。 助かりました。
fuses の設定を間違えて、1個 ispできなくなったけど...
高電圧ライターは、入手するか、、、買うかどうしようかな。 いつか役立つかもしれないユニバーサルライタを買うというのもあり >>505
気になって最近の情勢を調べてみたら、
どうやら、これからの初心者用はMPLAB IDEとこれ
http://akizukidenshi.com/catalog/g/gM-13854/
ということのようだね。
新参を拾い上げる度量もない古株にはいろんな意味で無縁なんだろうけど…。 >>509
それ買わせて結局PIC使いに化けさせるという戦略だなw
さすがに良く考えてある。 >>511
おっしゃる通り。
初心者だからこそ両方使って、両方使えるようになれて、適材適所に使い分けてもらいたい。
MicrochipのおかげでAVRの新シリーズも安価なんだし。 >>511
そういうことですね。
有益な、情報が得られれば、それだけでありがたいです。
別に正しくなくても、きっかけとして、自分で検証すればいいだけなので。 私は、PICとAVRが目の前に置いてある状況で、
「どちらを使っても構いませんよ」
と言われたとたら、どうしてもAVRを選んでしまう。
何と言えばいいのか、PICファンの皆様、PICは私の特異体質に合わないんですよ。
昔、PICを始めた時にアセンブラでプログラムを書いていたら頭痛がしてきて、
それでもライタなどの初期投資代金がもったいないので、
我慢して、さらに2本目も書いたのだが、頭痛はひどくなり、
このまま続けていたら、PICのアホが私に乗り移ってしまいそうな恐怖に駆られてw
3本目はとうとうPICを諦めてAVRに乗り替えてしまった。
もちろんISPライタなどの金がまた掛かったが、プログラミング中の頭痛はなくなった。
AVRは良い。私のナスがママ、胡瓜がパパ、意のままに動く。
私の特異体質のせいだと思うから誰の参考にもならないだろうな。
(御精読を感謝します。怒っちゃヤーよ、ほら笑って笑って) Arduino NanoをライターにしてATmega328PにLチカをさせるところまで来ました。
>>482さん、アドバイスありがとうございます、ライター関連出費ゼロで済んでますw
外付けの16MHzのセラロックで動かしてるんですが、半部くらいの速度になってしまいます。
あと、内蔵クロックに設定すると動きません。
ま、ぼちぼち解明していくつもりです。
とりあえずお礼とご報告まで。 atmel-ice の他、
pic用で、pickit4 買ったんだけど、avrの対応はどうなっているのか良く分からんです。
UPDIだけの対応かな? 内部で12V生成していると思うので、avrの高電圧モードもあればいいんだけど。。。 PICKIT4はATMEL-ICEと同等の対応見たいで12VはUPDI/HVだけのようです。
snapのUser GuideにPICKIT4vsSnapの比較が出ていてわかりやすいです。
MALAB Xより次期AS7の方がさきにPICKIT4対応できるのではと期待してます。 >>518
おおAS7単体でなくMPLABも一緒にインストすればAS7で使えるようになるのですね。 TNX
snapもサポートしてくれないかな マイコン始めようと思ってる、AVRとH8と迷って中。
やっぱAVRがおすすめ? H8のボードでしょ?
Arduinoと迷ってんじゃないの? >>514
20年も過ぎればデバイスも開発環境も変わる、、、
とは限らないか >>520
今から始めるならH8じゃなくてRL78じゃねえの。せめてR8Cだわ。
デバッグ環境考えるとルネサスのほうがいいと思うがねえ。 >>495
mega644、tiny1、mega0ですか、メモしときます。
644、中々いい朝お値段しますね。
後二つはまだ詳細分かってないですが、調べてみます。
最近はDIPじゃない方がむしろ都合いいです 誘導ミサイルに頼りすぎるとドッグファイト能力が落ちるとかなんとか昔トップガンでやってた
誘導ミサイル:高性能デバッガ
ドッグファイト:基本的なプログラミング能力 >>529 そですね。
そういう意味でのマイコン選びなのですが…
アルデュイーノやラズパイは、できあがりすぎていると感じました。
ただ、PICは統一性がなく、余計な手間がかかりすぎる。
その上で、AVR、H8(RL78、R8C)、Z80あたりを探っているのですが。
H8系は面白そうですけど簡易工作レベルでは、高性能すぎると感じます。
ゆえに、AVRが妥当かと。 H8が高性能だって?
まあ、そう「感じた」んなら仕方ないけど・・・ AVRより高性能なのは間違ってない
コード見るとAVRはコンパイラがかなり苦しんでる ■ このスレッドは過去ログ倉庫に格納されています