AVRマイコン総合スレ Part46
■ このスレッドは過去ログ倉庫に格納されています
最近は適当なこと書いて議論を発散させようとする輩をあちこちのスレで見る >>78 >受信割り込みリングバッファ使う俺って少数派なのか?
受信には全てのプログラムで割り込みを使っているが、
使用するレジスタを節約するために受信バッファをリング形式にしない場合もある。
(ポインタ用レジスタが3個しか無いが、プログラムサイズが大きく実行速度が遅くなるので
レジスタの退避・復帰なんて出来ればやりたくない)
いつも、しかしtinyにもDMAを実装してくれればなぁ、と夢を見るw 色々と混乱してるお爺ちゃんの思い出話にマジ突っ込み、痛々しい とにかく貶めないとアイデンティティー保てないヤツのたまり場だな
そっちの方が痛々しいわ MCCコードを排除して私色のコードにした
上位層は他のCPUのコードがほぼそのまま使える
割り込みの理解はこれから 割り込みショボいな
優先度2段階、個別指定不可
8ビットならこんなもんだっけ
あとMCCのポート出力レベル設定関数ヤバい
直接OUTを操作してるから割り込みで使えないじゃん
何の為のOUTSET, OUTCLR,OUTTGLだよ
だれもMCCなんか使わない? 割り込みコントローラが組み込まれただけでも進化してる。
クラシックにはそんなものすらない。
xmegaは3段階あったけどユーザー層のレベルが低くて理解されず普及しなかった。
OUTSET, OUTCLR,OUTTGLもxmegaで出てきた命令だからジジイには理解できんらしい。
真のRead-Modify-Write(ただしIO命令が使える極一部のアドレスだけw)
ライブラリ作ってるヤツすらそんなもん。
デバイス自体に罪は無いと思うんだが・・・ >あとMCCのポート出力レベル設定関数ヤバい
>直接OUTを操作してるから割り込みで使えないじゃん
AVRのコードを見てないけれど、どういうコードが割り込みで使えないのだっけか。 AVR特有でもなんでも無いリードモディファイライトの原理的な問題。
ポート書き換えるためにIN(LOAD)して変えてOUT(STORE)する。
このプロセス中に割り込みが発生して同じポート操作したらどうなると思う? >>110
「ユーザー層のレベルが低くて理解されず普及しなかった。」
どこ情報?
中の人?
ただの想像?
「OUTSET, OUTCLR,OUTTGLもxmegaで出てきた命令だから」
命令じゃないし
「ジジイには理解できんらしい。」
ジジイとは誰のこと?
あなた?
MCCのコードの作者? 流行らなかった事実をネタにしたフィクションじゃん。
あれ?ここってそういうノリの場所じゃないの?
ツッコミが10レスくらい遅いよ >>112
RMWで問題が起きるような糞設計を改めろでFA TCBn.CNTとかの16bitレジスタのリードもケアが必要なのか >>115
だから対策のレジスタを設けた。
命令じゃなかったね。すまんこ >>115
PIC32やSTM32にも同じ仕組みがある
>>119
AVRに興味が無い人がこんなスレ見るか? AVRを知らないのは私くらいじゃないかな
まだ始めて4日目 TEMP保存
16bitレジスタアクセス
TEMP復元
割り込み禁止
16bitレジスタアクセス
割り込み許可
う~ん
前者かな >122
おれはatomicマクロで済ましてるけどね。
たいしたオーバーヘッドじゃないと思うが人それぞれ。 >>124
使えるの?
と思ってやってみたけどリンクエラーで使えなかった 標準ライブラリのstdatomic.hのことだよね? 自分で定義したって簡単なことだよ。
SREGセーブ
CLI
やりたい処理
SREGストア
TEMPレジスタにまで気を遣うのは割り込み側の仕事じゃないね。
分断されるとマズイものを放置するプログラマーが悪いと思う。 あ、見逃した。
コンパイラ何使ってるか知らないけどgccならatomic.hがある。
使いたくないならスルーして。 つまり後者と
atomic.hも割り込み禁止、つまり後者
私は前者にする 一応理由を書いておくと
・ISRで使う可能性のある16bitレジスタは非常に限られている
・安易に割り込み禁止したくない 個人の好みの範疇だと思うよ。
俺は割り込み禁止に躊躇無いだけ。 >>132の1個目の理由の方が大きい
後からISRで使うようになった時にISRじゃない方を修正するのが変だしバグの元
始めから全ての16bitアクセスをケアするのもアホらしい まあ何でもいいけど
MCCのコードがこの辺まったくケアされてないのは大丈夫なのか? アプローチの仕方の違いだと思う。
俺は「割り込みが後出しで何しやがるかわからん」からatomic使う癖をつけた。
常に意識してないとうっかりバグのもと。
マルチバイトデータは割り込み側でケアできないでしょ?
後でISR追加するにしたってケアする必要が無いなら作るのが楽だとも言えるじゃない。
自分が分かりやすい方でいいんじゃないの? MCCなりAtmelStartなりが吐き出すコードって
良くできてるようで間抜けなのは昔からだよ。
慣れちまってて驚かないな。参考にはするけど使わないし。 ABRにはアセンブラが良く似合う、と思っているのは俺だけ? まだ1週間たってないけどそろそろAVRは卒業かな
USBやEthernetが無い単純なCPUだと
遊べる時間も少なかった
USB付きが100円台、ARM M4 84MHz 周辺部品付きが300円台で買える事を考えると
500円台の8ビットCPUは高過ぎるね
8ビット特有の面倒もイヤだし
という事で
短い間でしたがお付き合い頂いて有り難う御座いました 自分は趣味で大したことやらないから8bitで十分だけど、価格次第だね。
安い方を使うだけ どのマイコンのスレにもいるね。
このマイコンに限界を感じたから卒業して別のものにいくわ、みたいな。
バイバイ宣言したら、そこの住人の一部でも気分を害することを期待しているんだと思う。 こんなんで気分害するか?
爺がどーのこーのとかいう書き込みの方がよっぽどいらないが。
回顧話ぐらいまったり聞き流せやって思うわ。 こんなものはイラネーという捨て台詞残していかれると良い気はせんわな
というか簡単なものはAVRで高度なものはARMという使い分けしてるんじゃないんだな ARMってブラックボックスが多くてスペックの割に高度なことをやりにくい印象
バスアクセスにどのくらいかかるかとか計算できないから最悪応答時間の計算も難しい バスのアクセス時間がわからないのはプロセッサのせいではなくて AHB/AXI の仕様だから仕方ない。 >>150
AHB/AXIを使用しないARMマイコンってあるのか?実質的に不可分じゃね? 適材適所で行こうぜ!
何でもやってやる精神は立派だがw それぞれに選択されるだけの理由があるからいろいろな種類のマイコンが存在してるわけだから
個人個人が「これでいい」「つかえない」というのはその個人の用途や好みの問題にすぎんよね。
「使い物にならない」「使い道がわからん」って思ってるマイコンがある、ということは、
そのマイコンがよく使われている分野や用途から自分が遠いってことだろうし、
それが使い物になると感じられるようになることは、自分の守備範囲が広がることかもしれないね。 役に立たない長文なんかよりAVRの良い所でも書けば良いのに マイコンにはいいものものあるけど、悪いものもあるよね 良い物は売切れてしまって悪いものばかりが目に付くんだろうな
利幅を大きく取ってる店なら在庫処分で損切りできるけど身動きできなくなってる
つかDIP40とか仕入れて何がしたいのかわからん 選択される理由も良い物もなに一つ書けないって
ヤバくないですか? 選択する理由は「選択する人にとって良いものだから」だよ。
なにが理由で良いものなのかは、選択する人がわかっていればいいし、それを知らない他人が知る必要もないんだよ。 そのマイコンのいい点は何なのか、という質問をして、
それに対して誰かが自分が考えるいい点を述べたとしても、それなら他の何某かの方が良いと言い、
まわりが面倒くさくなって、相手にしなくなると、いい点などないのだと強弁する。
ここでいい点論争に勝っても意味がないのに、こんなふうにふっかける。具体的に相手をする人の方が少なかろう。
量産されているマイコンは使われているマイコンであり、使う人が選んだマイコン。事実はこれ。 めんどくさいヤツだな
自分が良いと思った部分を書けばいいだけなのに
そんなに自信が無いのか? >>166
書いても文句言うか、けなすだけだろお前は 最初は「教えて下さい」と下出に出て、相手が吐き切った所で叩き始めるべきなのに失敗しちゃったんだね 何も言う気がしなくなったってのは俺もあるなあ。
ウザい外野が多いんだよここ。 >>170
AVRだとUSBデバイス作るにしても適当なデバイスがないんだよね。
まあ、PICよりRP2040とかのほうがずっと楽だけど。 USB付きも市場が受け入れなかったからねえ。
ホビーじゃ32U2や32U4が売れてるけど、そんなんじゃ商売ならんし。
メーカーからしたらホビーならV-USBやっとけってなもんだろう。 OS付とマイコン比べるのも変だが、環境整っているものにしたら簡単だろうて。 8ビットはUSB死んでるね
16ビットや32ビットにシフトしてるのかな MicroPythonって性能的にネイティブのAVR8未満じゃね?
それにRP2040は2チップだし >>179
ニーズはあるんだろうけどホビーストが使っているものと違うものが席巻してんじゃないかな。
中華コア(USBライセンス付き)とかさ。
AVRやPICでUSB機器作ったってライセンス取るのもめんどいし、
大量生産品でなくコスト要求が厳しくなければブリッジチップで簡単に済ませるなんてあるだろうな。
FT232買っときゃ面倒無いんだから。
ホビーストだけが なんで無いんだ! って騒いだってメーカーは動かんよ。 >>181
サイクル数数えてポートON/OFFしたいならアセンブラで書けばいいと思うよ。 結局
USBを自前でやるとVID/PID、ドライバとドライバ署名があるからメンドイ上に金が掛かるんたよや
それに処理させるなら素直にRTMなりOSとプロトコルスタック積めってなって
だったらUSB-シリアルとかFT232積んだほうが楽じゃね?ってなるw >>184
HIDやCDCなんかの標準プロトコル使えばドライバ要らないんだよ。 大量生産するわけでもないなら、Microchip は申し込めばUSBのPIDを今でも分けてくれるはず。
何年か前だったけど、個人でWEBから申し込んですぐに分けてくれたよ。
USBのVID取得が心理的ハードルになって、楽しみとしてのUSB付きワンチップまで避けているなら、申し込めばいいと思うんだ。 それは「超」小規模向けな。
継続的な製品には使いにくい。 1万という出荷数量が「「超」小規模向けな」に該当するのかどうかは主観に依存するけど、それぐらいの数量が出るものなら、VIDを自分で取得してもいいのでは。 安いUSBマイコンがあるんだからそれを使えば良いだけ まあVIDのサブライセンスは他もやってるしそれでいいんところは使えばいいんだよな。
実際俺も一回ATMEL時代にもらったし。
xmegaAにくっつけて売ってたんだけどxmegaも見事には流行らなかったなあw うん、USBについてはAVRの弱点であることに異論はない。 直接USBだとシリアルのプロトコル設定しなくて良い
っていうのも変換を通したくない大きな理由になる
コストやサイズももちろんだけど というかそんなことしているから中国に負けるんだろ
中国企画の非公式ゲームコントローラはいっぱいあるが
日本企画のコントローラなんてほとんどないじゃないか 論理展開の飛躍がありそうなんだけど…
「そんなことしていない中国だから、中国企画の非公式ゲームコントローラはいっぱいある」
「そんなことしている日本だから、日本企画のコントローラなんてほとんどない」
「そんなこと」をすると、ゲームコントローラができないらしい。
「そんなこと」って何? 私が初AVRをめて見た時に良いなと思った点は、
レジスタがいっぱい有る、
コード16ビットなのに命令の種類が多い。
AVRを選んで、8ビットCPUとしては満足している。
マルチタスクがやりにくいのはチト困るけど、
世の中は何事もトレード・オフだから欲張ってはいけないな。 ゴメン眠くて眼がオカシイみたい
私が初AVRをめて見た時に
→私が初めてAVRを見た時に ■ このスレッドは過去ログ倉庫に格納されています