X



トップページ電気・電子
1002コメント285KB
AVRマイコン総合スレ Part46
■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2022/11/02(水) 15:43:32.87ID:qv7BSDml
個人でも手軽に使える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マイコン総合スレ Part43
https://rio2016.5ch.net/test/read.cgi/denki/1582425457/
AVRマイコン総合スレ Part44
https://rio2016.5ch.net/test/read.cgi/denki/1615810595/
AVRマイコン総合スレ Part45
https://rio2016.5ch.net/test/read.cgi/denki/1635671272/
0101774ワット発電中さん
垢版 |
2022/12/21(水) 11:19:45.87ID:1YOeKM3p
最近は適当なこと書いて議論を発散させようとする輩をあちこちのスレで見る
0104774ワット発電中さん
垢版 |
2022/12/21(水) 16:36:02.67ID:f77YamPr
>>78 >受信割り込みリングバッファ使う俺って少数派なのか?
受信には全てのプログラムで割り込みを使っているが、
使用するレジスタを節約するために受信バッファをリング形式にしない場合もある。
(ポインタ用レジスタが3個しか無いが、プログラムサイズが大きく実行速度が遅くなるので
 レジスタの退避・復帰なんて出来ればやりたくない)
いつも、しかしtinyにもDMAを実装してくれればなぁ、と夢を見るw
0105774ワット発電中さん
垢版 |
2022/12/21(水) 17:03:31.65ID:VHv4X/AC
色々と混乱してるお爺ちゃんの思い出話にマジ突っ込み、痛々しい
0106774ワット発電中さん
垢版 |
2022/12/21(水) 17:20:18.61ID:PJxUcFQp
とにかく貶めないとアイデンティティー保てないヤツのたまり場だな
そっちの方が痛々しいわ
0108774ワット発電中さん
垢版 |
2022/12/21(水) 21:14:39.92ID:UPzsqkux
MCCコードを排除して私色のコードにした
上位層は他のCPUのコードがほぼそのまま使える

割り込みの理解はこれから
0109774ワット発電中さん
垢版 |
2022/12/22(木) 08:16:14.70ID:u+uPUR3M
割り込みショボいな
優先度2段階、個別指定不可
8ビットならこんなもんだっけ

あとMCCのポート出力レベル設定関数ヤバい
直接OUTを操作してるから割り込みで使えないじゃん
何の為のOUTSET, OUTCLR,OUTTGLだよ
だれもMCCなんか使わない?
0110774ワット発電中さん
垢版 |
2022/12/22(木) 08:52:20.13ID:CybS27J6
割り込みコントローラが組み込まれただけでも進化してる。
クラシックにはそんなものすらない。
xmegaは3段階あったけどユーザー層のレベルが低くて理解されず普及しなかった。
OUTSET, OUTCLR,OUTTGLもxmegaで出てきた命令だからジジイには理解できんらしい。
真のRead-Modify-Write(ただしIO命令が使える極一部のアドレスだけw)
ライブラリ作ってるヤツすらそんなもん。

デバイス自体に罪は無いと思うんだが・・・
0111774ワット発電中さん
垢版 |
2022/12/22(木) 09:04:41.62ID:GS76wHlE
>あとMCCのポート出力レベル設定関数ヤバい
>直接OUTを操作してるから割り込みで使えないじゃん

AVRのコードを見てないけれど、どういうコードが割り込みで使えないのだっけか。
0112774ワット発電中さん
垢版 |
2022/12/22(木) 12:00:21.75ID:CybS27J6
AVR特有でもなんでも無いリードモディファイライトの原理的な問題。
ポート書き換えるためにIN(LOAD)して変えてOUT(STORE)する。
このプロセス中に割り込みが発生して同じポート操作したらどうなると思う?
0113774ワット発電中さん
垢版 |
2022/12/22(木) 12:42:26.20ID:Z6z6BcW0
>>110
「ユーザー層のレベルが低くて理解されず普及しなかった。」
どこ情報?
中の人?
ただの想像?

「OUTSET, OUTCLR,OUTTGLもxmegaで出てきた命令だから」
命令じゃないし

「ジジイには理解できんらしい。」
ジジイとは誰のこと?
あなた?
MCCのコードの作者?
0114774ワット発電中さん
垢版 |
2022/12/22(木) 12:47:21.32ID:CybS27J6
流行らなかった事実をネタにしたフィクションじゃん。
あれ?ここってそういうノリの場所じゃないの?
ツッコミが10レスくらい遅いよ
0122774ワット発電中さん
垢版 |
2022/12/22(木) 18:54:25.28ID:u+uPUR3M
TEMP保存
16bitレジスタアクセス
TEMP復元

割り込み禁止
16bitレジスタアクセス
割り込み許可

う~ん
前者かな
0124774ワット発電中さん
垢版 |
2022/12/22(木) 19:16:47.40ID:CybS27J6
>122
おれはatomicマクロで済ましてるけどね。
たいしたオーバーヘッドじゃないと思うが人それぞれ。
0129774ワット発電中さん
垢版 |
2022/12/22(木) 21:08:38.06ID:DedTsPNG
自分で定義したって簡単なことだよ。
SREGセーブ
CLI
やりたい処理
SREGストア

TEMPレジスタにまで気を遣うのは割り込み側の仕事じゃないね。
分断されるとマズイものを放置するプログラマーが悪いと思う。
0130774ワット発電中さん
垢版 |
2022/12/22(木) 21:42:33.31ID:DedTsPNG
あ、見逃した。
コンパイラ何使ってるか知らないけどgccならatomic.hがある。
使いたくないならスルーして。
0131774ワット発電中さん
垢版 |
2022/12/22(木) 22:17:57.66ID:u+uPUR3M
つまり後者と
atomic.hも割り込み禁止、つまり後者

私は前者にする
0132774ワット発電中さん
垢版 |
2022/12/22(木) 22:35:08.52ID:u+uPUR3M
一応理由を書いておくと

・ISRで使う可能性のある16bitレジスタは非常に限られている
・安易に割り込み禁止したくない
0133774ワット発電中さん
垢版 |
2022/12/22(木) 22:44:28.59ID:DedTsPNG
個人の好みの範疇だと思うよ。
俺は割り込み禁止に躊躇無いだけ。
0134774ワット発電中さん
垢版 |
2022/12/22(木) 22:50:09.54ID:u+uPUR3M
>>132の1個目の理由の方が大きい
後からISRで使うようになった時にISRじゃない方を修正するのが変だしバグの元
始めから全ての16bitアクセスをケアするのもアホらしい
0135774ワット発電中さん
垢版 |
2022/12/22(木) 23:11:11.87ID:u+uPUR3M
まあ何でもいいけど
MCCのコードがこの辺まったくケアされてないのは大丈夫なのか?
0136774ワット発電中さん
垢版 |
2022/12/22(木) 23:55:14.57ID:DedTsPNG
アプローチの仕方の違いだと思う。
俺は「割り込みが後出しで何しやがるかわからん」からatomic使う癖をつけた。
常に意識してないとうっかりバグのもと。
マルチバイトデータは割り込み側でケアできないでしょ?
後でISR追加するにしたってケアする必要が無いなら作るのが楽だとも言えるじゃない。
自分が分かりやすい方でいいんじゃないの?
0137774ワット発電中さん
垢版 |
2022/12/22(木) 23:57:26.10ID:DedTsPNG
MCCなりAtmelStartなりが吐き出すコードって
良くできてるようで間抜けなのは昔からだよ。
慣れちまってて驚かないな。参考にはするけど使わないし。
0138774ワット発電中さん
垢版 |
2022/12/23(金) 00:04:42.48ID:EII5Pnuh
ウソだああああああああああああああ!
0139774ワット発電中さん
垢版 |
2022/12/23(金) 01:01:28.03ID:DTO22MGI
ABRにはアセンブラが良く似合う、と思っているのは俺だけ?
0141774ワット発電中さん
垢版 |
2022/12/23(金) 09:14:40.06ID:Tg9pLsuV
まだ1週間たってないけどそろそろAVRは卒業かな
USBやEthernetが無い単純なCPUだと
遊べる時間も少なかった
USB付きが100円台、ARM M4 84MHz 周辺部品付きが300円台で買える事を考えると
500円台の8ビットCPUは高過ぎるね
8ビット特有の面倒もイヤだし

という事で
短い間でしたがお付き合い頂いて有り難う御座いました
0145774ワット発電中さん
垢版 |
2022/12/23(金) 14:20:07.21ID:2zPiFikV
自分は趣味で大したことやらないから8bitで十分だけど、価格次第だね。
安い方を使うだけ
0146774ワット発電中さん
垢版 |
2022/12/23(金) 15:26:06.69ID:7ohFOxGa
どのマイコンのスレにもいるね。
このマイコンに限界を感じたから卒業して別のものにいくわ、みたいな。
バイバイ宣言したら、そこの住人の一部でも気分を害することを期待しているんだと思う。
0147774ワット発電中さん
垢版 |
2022/12/23(金) 16:00:04.27ID:oxnz6yQ4
こんなんで気分害するか?
爺がどーのこーのとかいう書き込みの方がよっぽどいらないが。
回顧話ぐらいまったり聞き流せやって思うわ。
0148774ワット発電中さん
垢版 |
2022/12/23(金) 17:44:57.64ID:su9kwpUm
こんなものはイラネーという捨て台詞残していかれると良い気はせんわな

というか簡単なものはAVRで高度なものはARMという使い分けしてるんじゃないんだな
0149774ワット発電中さん
垢版 |
2022/12/23(金) 17:55:56.41ID:fBXO0qnR
ARMってブラックボックスが多くてスペックの割に高度なことをやりにくい印象
バスアクセスにどのくらいかかるかとか計算できないから最悪応答時間の計算も難しい
0150774ワット発電中さん
垢版 |
2022/12/23(金) 19:04:29.95ID:hATH1PtT
バスのアクセス時間がわからないのはプロセッサのせいではなくて AHB/AXI の仕様だから仕方ない。
0152774ワット発電中さん
垢版 |
2022/12/23(金) 22:14:51.93ID:3JtQoPH2
適材適所で行こうぜ!
何でもやってやる精神は立派だがw
0154774ワット発電中さん
垢版 |
2022/12/24(土) 12:16:23.37ID:apps1LQX
それぞれに選択されるだけの理由があるからいろいろな種類のマイコンが存在してるわけだから
個人個人が「これでいい」「つかえない」というのはその個人の用途や好みの問題にすぎんよね。

「使い物にならない」「使い道がわからん」って思ってるマイコンがある、ということは、
そのマイコンがよく使われている分野や用途から自分が遠いってことだろうし、
それが使い物になると感じられるようになることは、自分の守備範囲が広がることかもしれないね。
0155774ワット発電中さん
垢版 |
2022/12/24(土) 12:24:52.41ID:JTVVjexZ
役に立たない長文なんかよりAVRの良い所でも書けば良いのに
0158774ワット発電中さん
垢版 |
2022/12/24(土) 13:04:14.55ID:KTPS5H85
良い物は売切れてしまって悪いものばかりが目に付くんだろうな
利幅を大きく取ってる店なら在庫処分で損切りできるけど身動きできなくなってる
つかDIP40とか仕入れて何がしたいのかわからん
0162774ワット発電中さん
垢版 |
2022/12/24(土) 13:27:18.51ID:JTVVjexZ
選択される理由も良い物もなに一つ書けないって
ヤバくないですか?
0163774ワット発電中さん
垢版 |
2022/12/24(土) 14:03:04.20ID:apps1LQX
選択する理由は「選択する人にとって良いものだから」だよ。
なにが理由で良いものなのかは、選択する人がわかっていればいいし、それを知らない他人が知る必要もないんだよ。
0164774ワット発電中さん
垢版 |
2022/12/24(土) 14:32:14.69ID:apps1LQX
そのマイコンのいい点は何なのか、という質問をして、
それに対して誰かが自分が考えるいい点を述べたとしても、それなら他の何某かの方が良いと言い、
まわりが面倒くさくなって、相手にしなくなると、いい点などないのだと強弁する。
ここでいい点論争に勝っても意味がないのに、こんなふうにふっかける。具体的に相手をする人の方が少なかろう。
量産されているマイコンは使われているマイコンであり、使う人が選んだマイコン。事実はこれ。
0165774ワット発電中さん
垢版 |
2022/12/24(土) 15:13:59.27ID:JTVVjexZ
めんどくさいヤツだな
自分が良いと思った部分を書けばいいだけなのに
そんなに自信が無いのか?
0169774ワット発電中さん
垢版 |
2022/12/24(土) 15:50:58.75ID:KTPS5H85
最初は「教えて下さい」と下出に出て、相手が吐き切った所で叩き始めるべきなのに失敗しちゃったんだね
0171774ワット発電中さん
垢版 |
2022/12/24(土) 17:12:15.97ID:yHdB/IYm
何も言う気がしなくなったってのは俺もあるなあ。
ウザい外野が多いんだよここ。
0172774ワット発電中さん
垢版 |
2022/12/24(土) 18:35:33.92ID:SXDGHaSo
>>170
AVRだとUSBデバイス作るにしても適当なデバイスがないんだよね。
まあ、PICよりRP2040とかのほうがずっと楽だけど。
0173774ワット発電中さん
垢版 |
2022/12/24(土) 19:16:49.62ID:yHdB/IYm
USB付きも市場が受け入れなかったからねえ。
ホビーじゃ32U2や32U4が売れてるけど、そんなんじゃ商売ならんし。
メーカーからしたらホビーならV-USBやっとけってなもんだろう。
0176774ワット発電中さん
垢版 |
2022/12/24(土) 19:47:55.59ID:yHdB/IYm
OS付とマイコン比べるのも変だが、環境整っているものにしたら簡単だろうて。
0179774ワット発電中さん
垢版 |
2022/12/24(土) 20:46:47.30ID:z9vktgtz
8ビットはUSB死んでるね
16ビットや32ビットにシフトしてるのかな
0181774ワット発電中さん
垢版 |
2022/12/24(土) 21:08:10.03ID:QCLl2w1l
MicroPythonって性能的にネイティブのAVR8未満じゃね?
それにRP2040は2チップだし
0182774ワット発電中さん
垢版 |
2022/12/24(土) 21:12:32.85ID:yHdB/IYm
>>179
ニーズはあるんだろうけどホビーストが使っているものと違うものが席巻してんじゃないかな。
中華コア(USBライセンス付き)とかさ。
AVRやPICでUSB機器作ったってライセンス取るのもめんどいし、
大量生産品でなくコスト要求が厳しくなければブリッジチップで簡単に済ませるなんてあるだろうな。
FT232買っときゃ面倒無いんだから。

ホビーストだけが なんで無いんだ! って騒いだってメーカーは動かんよ。
0183774ワット発電中さん
垢版 |
2022/12/24(土) 21:49:17.23ID:SXDGHaSo
>>181
サイクル数数えてポートON/OFFしたいならアセンブラで書けばいいと思うよ。
0184580
垢版 |
2022/12/24(土) 22:01:34.90ID:qOYFaslC
結局
USBを自前でやるとVID/PID、ドライバとドライバ署名があるからメンドイ上に金が掛かるんたよや
それに処理させるなら素直にRTMなりOSとプロトコルスタック積めってなって

だったらUSB-シリアルとかFT232積んだほうが楽じゃね?ってなるw
0186774ワット発電中さん
垢版 |
2022/12/24(土) 22:15:24.25ID:apps1LQX
大量生産するわけでもないなら、Microchip は申し込めばUSBのPIDを今でも分けてくれるはず。
何年か前だったけど、個人でWEBから申し込んですぐに分けてくれたよ。
USBのVID取得が心理的ハードルになって、楽しみとしてのUSB付きワンチップまで避けているなら、申し込めばいいと思うんだ。
0187774ワット発電中さん
垢版 |
2022/12/24(土) 22:51:41.96ID:yHdB/IYm
それは「超」小規模向けな。
継続的な製品には使いにくい。
0188774ワット発電中さん
垢版 |
2022/12/24(土) 23:10:26.52ID:apps1LQX
1万という出荷数量が「「超」小規模向けな」に該当するのかどうかは主観に依存するけど、それぐらいの数量が出るものなら、VIDを自分で取得してもいいのでは。
0192774ワット発電中さん
垢版 |
2022/12/24(土) 23:35:36.37ID:yHdB/IYm
まあVIDのサブライセンスは他もやってるしそれでいいんところは使えばいいんだよな。
実際俺も一回ATMEL時代にもらったし。
xmegaAにくっつけて売ってたんだけどxmegaも見事には流行らなかったなあw
0194774ワット発電中さん
垢版 |
2022/12/24(土) 23:43:53.50ID:E9BFTrmD
直接USBだとシリアルのプロトコル設定しなくて良い
っていうのも変換を通したくない大きな理由になる
コストやサイズももちろんだけど
0196774ワット発電中さん
垢版 |
2022/12/24(土) 23:54:24.41ID:QCLl2w1l
というかそんなことしているから中国に負けるんだろ
中国企画の非公式ゲームコントローラはいっぱいあるが
日本企画のコントローラなんてほとんどないじゃないか
0197774ワット発電中さん
垢版 |
2022/12/25(日) 00:59:34.59ID:q3vKA+y8
論理展開の飛躍がありそうなんだけど…

「そんなことしていない中国だから、中国企画の非公式ゲームコントローラはいっぱいある」
「そんなことしている日本だから、日本企画のコントローラなんてほとんどない」

「そんなこと」をすると、ゲームコントローラができないらしい。

「そんなこと」って何?
0199774ワット発電中さん
垢版 |
2022/12/25(日) 03:34:41.18ID:kd1c9O1W
私が初AVRをめて見た時に良いなと思った点は、
 レジスタがいっぱい有る、
 コード16ビットなのに命令の種類が多い。
AVRを選んで、8ビットCPUとしては満足している。
マルチタスクがやりにくいのはチト困るけど、
世の中は何事もトレード・オフだから欲張ってはいけないな。
0200774ワット発電中さん
垢版 |
2022/12/25(日) 03:40:04.43ID:kd1c9O1W
ゴメン眠くて眼がオカシイみたい
私が初AVRをめて見た時に
→私が初めてAVRを見た時に
■ このスレッドは過去ログ倉庫に格納されています

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