ゆるAVR at DENKI
[2ch|▼Menu]
[前50を表示]
150:774ワット発電中さん
22/10/01 19:27:27.48 FR/A23VB.net
>>146
考える余地なく32個を一組だよ。
たとえば16個2組だと、各処理は結局16個のレジスタだけで処理を書くことが基本となる。
そうやってレジスタ数を絞って処理が書けるなら32個一組のレジスタの内 16個を使っても書けるわけで、そういうレジスタ数の配分を16個2組といった枠に囚われず自由にできるようが間違いなく良い。
この4レジスタは割り込み処理専用ね、とかね。

151:774ワット発電中さん
22/10/01 19:29:22.95 FR/A23VB.net
ただし Z80 みたいにレジスタの役割が実質固定されてるようなアーキテクチャだと、バンク切り替え式の方が便利だろうね。
なぜならレジスタの住み分けができないから。

152:774ワット発電中さん
22/10/01 19:44:24.21 HVzuVxPS.net
Z80裏レジスタは割り込みでpush pop してると遅いときによく使ったけど
AVRみたいに他が充分速いうえに演算に使えるレジスタがいっぱいあると
出番ないよね
AVRは16ビットが扱いにくいのが玉に傷

153:774ワット発電中さん
[ここ壊れてます] .net
AVR32「せやろか?」

154:774ワット発電中さん
22/10/01 21:19:02.25 HVzuVxPS.net
AVR32はむりやりAVRって名前つけてるだけで、中身別モンって言うじゃない

155:774ワット発電中さん
[ここ壊れてます] .net
>>152 >AVRは16ビットが扱いにくいのが玉に傷
データ8ビット、基本命令コード16ビットのCPUだから、
そこまで要求したらCPUを設計した学生が可哀想w

私はむしろ制限ありとはいえ、16ビット演算命令があることに感心した。
32個もレジスタがあるから、全レジスタを指定する命令なら
命令コード16ビットのうち5ビットも消費してしまう。
CPUを設計するってトレードオフの連続なんだろうな。
あちらを立てればこちらが立たず、仕方がない諦めよう、みたいなw

156:774ワット発電中さん
[ここ壊れてます] .net
いや対象レジスタを制限して実現しよう、みたいなw

157:774ワット発電中さん
22/10/02 18:29:55.51 luTjMt5q.net
別に扱いにくくはないけどなぁ•••
まさかアセンブラで書いてんの?

158:774ワット発電中さん
22/10/02 18:38:52.76 tC77493y.net
でも EORI が無いのは納得いかない。
例えば EORI と引き換えに ORI を無くしても、
ORI Rd, imm

ANDI Rd, ~imm
EORI Rd, imm
で代用できるけど、EORI は ANDI や ORI じゃ代用できない。
一時レジスタ使えば 2命令で実現はできるけど、レジスタ数キチキチの時には厳しいんだよ。

159:774ワット発電中さん
22/10/03 07:35:59.54 cnZCQvXJ.net
>>157
数KB、せいぜい数10KBの小さな制御用CPUプログラミングで、
AVRを使う面白さや楽しさは、AVRの個性、特徴、持ち味などが
存分に発揮されるアセンブラ・プログラミングにあると思っている。
制約の多いレジスタ群の使い分けをプログラム設計時に検討するのも楽しい。
アセンブラじゃないと実現出来ない仕様もあることだし。

160:774ワット発電中さん
22/10/03 07:41:25.59 VOAe7Oy9.net
アセンブラパズルプログラミングとか
30年前に卒業したわ

161:774ワット発電中さん
22/10/03 08:17:16.03 rDUc9RFY.net
Cでやりたいことやれてるなら無理してアセンブラ使う必要は無いわな。なんならBASICだっていい。
アセンブラ持ち出さないとスペックが足りないならいくらか払ってマイコンをクラスアップすればいいし、AVR にこだわる必要もなくシングルボードコンピュータ使う選択肢だってある。
わざわざアセンブラ使うのは、やりたいことがそもそもアセンブラを使うという場合くらいだろうな。

162:774ワット発電中さん
22/10/03 08:31:16.32 1fwwVvb4.net
AVRで速度足りないからラズパイってことにはならないだろ。
むしろI/Oなんか遅くなるよ。
ARMもアセンブラで書くのか?OSは使わずに。

163:774ワット発電中さん
22/10/03 09:10:13.53 FnpjBqh6.net
スペックってのは速度とは限らんよ。
メモリが足りないとかストレージ欲しいとかいろいろあるでしょ。

164:774ワット発電中さん
22/10/03 10:46:31.79 0Fog0qd/.net
Cの人ってなぜかアセンブラをばかにするけど
Cなんて高級アセンブラって言われるくらいあせんぶらに寄ってる言語なんだからねw

165:774ワット発電中さん
22/10/03 11:05:42.59 wQEa/aCg.net
>>163
メモリ32KBのAVRから4GBのラズパイに切り替えなきゃって
そもそもおかしくね?

166:774ワット発電中さん
22/10/03 12:05:17.13 8tNpEug1.net
その間をしらないんだろ

167:774ワット発電中さん
22/10/03 12:24:35.60 5Lhgau8O.net
>>165
やりたいことができるならアセンブラで頑張る必要は無い、アセンブラを使うことが目的じゃなければね
という主張を補足するのに並行して
やりたいことができるなら AVR でがんばる必要は無い、AVR を使うことが目的じゃなければね
という文脈で言ったつもりだったんだけど、難しかったみたいね。ごめんね。
スペックというのが速度だけじゃなくメモリとかあるでしょと言ったら、今度はメモリに拘ってくるとか頭痛いわ。
温度測って Bluetooth や WiFi で飛ばすもの作りたいと思った時、あえて AVR で頑張ってもいいし別のもの使ってもいいでしょ。
AVR でもアセンブラでも、目的にも手段にもなるというお話をしたかっただけですよ。

168:774ワット発電中さん
22/10/03 12:45:32.28 7hjoWm9M.net
SBC使う選択肢「だって」ある
がどうして
AVRから次はラズパイ限定になるのか?

169:774ワット発電中さん
22/10/03 13:05:27.68 1fwwVvb4.net
>>168
じゃあ、お勧めのSBC教えて。

170:774ワット発電中さん
22/10/03 13:42:23.04 zeUicfzY.net
nanopi 面白かったよ。
iSCSI のネットワークディスクを USB HDD に見せかけるブリッジ作った。

171:774ワット発電中さん
22/10/03 14:01:11.44 aN3qFfHH.net
ラズパイまで行かなくても、picoだってだいぶ高性能だよね

172:774ワット発電中さん
22/10/03 14:30:13.17 w5hUSVzw.net
ゆるAVRのスレなんだし、基本AVRで遊ぶことが前提ってことでいいんじゃないの?
ファンが集まるところにやってきて、ほかのマイコンその他への乗り換えを勧めるのって、
感情を害する確率が高いことを分かっててやってるよね。
デリカシーが乏しいとか、悪意が強いとかそんな感じ。
マイコンの比較をしたいなら比較スレがあるからそっちでやれば良いと思うんだ。

173:774ワット発電中さん
22/10/03 14:48:40.46 I5+xpmUV.net
だれも乗り換えろなんて言ってないだろ。
(一連の書き込みがどうとかじゃなく一般論として)アセンブラに拘ることを半ばディスるような言い方がある中で、AVRに拘ってモノを作ることに重ねてみただけだ。
ここにはわざわざ AVR を使う連中が多いのだろうから、そうたとえることで「わざわざ」そうすることの意味が分かってもらえるだろうと狙ったのな。
どうやら狙いは大外れだったようだけどな。

174:774ワット発電中さん
22/10/03 15:08:32.40 jNCWYsks.net
>>160
優秀なんやな、そつぎょうおめでとう
ぼくは 在学資格を失って放校処分です(^p^)うぇーい

175:774ワット発電中さん
22/10/03 16:11:53.51 ycqNLT0R.net
>>172
アセンブラでガチガチに書くことのどこが
「ゆるAVR」なんだよ?

176:774ワット発電中さん
22/10/03 16:14:17.68 0Fog0qd/.net
アセンブラでゆるっと書くのですよ

177:774ワット発電中さん
22/10/03 17:59:54.81 cnZCQvXJ.net
> 私がAVRのプログラムをASMで書く三つの理由
>  AVRのアーキテクチャの面白さに密着したい
>  小さくて早いプログラムを書きたい
>  マルチタスクを使いたい
人それぞれの選択理由があるんだろうな、趣味か仕事かでも異なるだろうし、好きにすればいい

178:774ワット発電中さん
22/10/03 19:14:58.99 56PFGkyh.net
>>177
マルチタスクというのがよく分からんけど、どういうこと?

179:774ワット発電中さん
[ここ壊れてます] .net
いつものタスクディスパッチャ爺に振り回されるな

180:774ワット発電中さん
22/10/03 21:10:02.64 w5hUSVzw.net
技術的な優劣を一次元で考えるのも変だし、そんないい加減な技術的な優劣で、趣味の優劣を論じられた気になる人がいるのも人間の弱さだなあ。

181:774ワット発電中さん
22/10/03 21:11:23.30 0Fog0qd/.net
AVROSおもろいじゃん、誰かやろうよ

182:774ワット発電中さん
22/10/04 08:28:14.59 O8WFdpXW.net
>>180
禅問答みたい。
抽象的すぎて私にはよく理解できまっしぇ〜んw
前から気になっていたのですが、
もう少し分りやすく具体的に書いてくださるようお願いいたします。

183:774ワット発電中さん
22/10/04 09:01:21.18 7EOm+6nz.net
ソースコード一つとっても動作の堅牢さという軸、
コメントを含めて保守するための読み易さという軸、
この例だけで二軸=二次元なんだしもっと多元的な評価が本来は必要だろう、
というようなことなんだろうなーとかってに理解したつもりになる;しらんけど。
avr用のおぺれーちんしすてむって、あぶろすってよむのかな?

184:774ワット発電中さん
22/10/04 12:26:21.67 WICiimlq.net
avros ギリシャ語で繊細だそうな

185:774ワット発電中さん
22/10/04 14:02:41.43 WICiimlq.net
え~ぶいあ~るOS 「繊細」 う~ん

186:774ワット発電中さん
22/10/04 14:23:00.03 7EOm+6nz.net
なんつーか…精密製品につき踏みつけないでください、という上乗り式体重計的な不安感が漂うとるな・・・しらんけど(^p^;

187:774ワット発電中さん
22/10/04 16:27:43.24 WICiimlq.net
OSであるために何があればいいんかな
とりあえずスライサーは要るよね

188:774ワット発電中さん
22/10/04 16:37:28.85 kXMI1WBz.net
MS-DOS だって OS だぞ。
ざっくり言って資源管理してアプリケーションの求めに応じて切り売りできれば OS だと思う。

189:774ワット発電中さん
22/10/04 17:02:00.14 WICiimlq.net
じゃああ~、avrでosに割り振ってもらいたくなるものってなんだろう

190:774ワット発電中さん
22/10/04 17:10:19.07 5IMAHIV4.net
シングルタスク•シングルアプリOS

191:774ワット発電中さん
22/10/04 18:55:38.78 WICiimlq.net
外部ストレージ使いたいとかだと、avrDOS ってのもありかもですね

192:774ワット発電中さん
22/10/04 19:10:00.05 kXMI1WBz.net
マルチタスクみたいのやりたい訳じゃなければライブラリでいいじゃんっていう。
マルチタスクにしたってどうせ電源入れてから切るまでずっと同じのが動いてるんだから、別に OS に世話してもらわなくてよくね?っていう。
タイムスライスにしても、規模的にいつも並行して動くというよりイベントを受けての処理になることが多いだろうから、割り込みでよくね?っていう。
余所のOSに書かれたコードをそのまま動かすレイヤーとしても、やっぱライブラリでよくね?っていう。

193:774ワット発電中さん
22/10/04 19:15:27.93 WICiimlq.net
複数の動作をするプログラムを一個のプログラムとして書くのと
単独のプログラムを複数書くのとでは楽ちんさが違うのよさ

194:774ワット発電中さん
22/10/04 19:19:58.66 nxdqp5cq.net
>>193
それは下手だから

195:774ワット発電中さん
22/10/04 19:22:53.48 WICiimlq.net
今ウインドウズプログラマーを的に回したなw

196:774ワット発電中さん
22/10/04 19:29:23.35 WICiimlq.net
下手でもかけるなら、いいことじゃないか

197:774ワット発電中さん
22/10/04 19:37:09.32 +DA4gtER.net
たしかFreeRTOSはAVRに対応してたんじゃないか?
皆んなで楽をしよう\(^o^)/

198:774ワット発電中さん
22/10/04 19:45:42.56 yPuGAjCl.net
>>197
ただでさえ少ないCPUパワーとリソースが...

199:774ワット発電中さん
22/10/04 19:47:25.86 yPuGAjCl.net
LED 1個に1タスク
ボタン1個に1タスク
みたいな姿が目に浮かぶ

200:774ワット発電中さん
22/10/04 20:01:56.29 +DA4gtER.net
>>198
そこでATMEGA1284Pの突入ですよ
>>199
ボタン1個やLED1個にタスク2〜3割り当ててもええんやで
\(^o^)/

201:774ワット発電中さん
22/10/04 20:05:25.99 5IMAHIV4.net
>>193
void main(void) {
 task1();
 task2();
}

202:774ワット発電中さん
22/10/04 20:11:48.05 WICiimlq.net
そのtask1とtask2が同じリソースを必要としてる場合どうなるかな

203:774ワット発電中さん
22/10/04 20:14:06.33 yPuGAjCl.net
突っ込み処はそこか?

204:774ワット発電中さん
22/10/04 20:16:55.27 WICiimlq.net
突っ込んでほしそうだったから

205:774ワット発電中さん
22/10/04 20:22:10.13 WICiimlq.net
まあ昔は>>201みたいな順繰り回しのOSも存在してたらしいけどな

206:774ワット発電中さん
22/10/04 21:40:42.53 yPuGAjCl.net
8bitにOSとか
イラネ

207:774ワット発電中さん
22/10/04 21:43:43.44 5IMAHIV4.net
>>202
両方のタスクがPB0を使いたい場合、
ちゃんとしたOSならどうするの?
どうにか出来んの?

208:774ワット発電中さん
22/10/04 21:44:55.56 yPuGAjCl.net
>>202
もしかして全てのリソースを使える単独のプログラムを複数作るのと比較してる?
違うでしょ
タスクに分けた各タスクを単独のプログラムと呼んでるわけてしょ?

209:774ワット発電中さん
22/10/04 22:01:16.40 WICiimlq.net
そういうのはOS様に、使わしてくだせ~て、お願いしてから使うから
同時使用にならないようにOSが管理する
複数からアクセスしなきゃならない必要がある場合は、OSが交通整理してくれる
1番さんどうぞー、2番さんちょっとまってね~、空いたよ~2番さんどうぞ~てな感じ

210:774ワット発電中さん
22/10/04 22:04:02.09 yPuGAjCl.net
OSに夢見すぎじゃね?

211:774ワット発電中さん
22/10/04 22:10:31.95 WICiimlq.net
ちゃんとしたOSならって問だしね~
なんちゃってOSでも便利になるならいいと思うのよね
ちゃんとしたOS配下のプログラムって書くときの手続きがいろいろめんどくさくなるから
ここで作るとするなら、なんちゃってOSのほうが受けがいいかもしんないね

212:774ワット発電中さん
22/10/04 22:14:58.29 KcWN8OSu.net
例えばゲームウォッチを OS 使って書き直したらどんないいことがあるだろ。
ファミコンのゲームでもいいけど。

213:774ワット発電中さん
22/10/04 22:16:07.94 WICiimlq.net
windowsだと複数からアクセスされるべきハードはデバドラ経由でしかアクセスさせてくれなくて
linuxはこっちで使わせてくれってお願いして許可が降りたら直接いじれるって聞いた

214:774ワット発電中さん
22/10/04 22:17:31.34 yPuGAjCl.net
>>211
世の中にあるRTOSはちゃんとしたOSじゃないと?

215:774ワット発電中さん
22/10/04 22:22:30.71 WICiimlq.net
OSの権限が強すぎるとリアルタイム性が犠牲になるからRTOSができてきたんじゃないの?

216:774ワット発電中さん
22/10/04 22:36:12.39 WICiimlq.net
>>210
夢ぐらい見ようぜw

217:774ワット発電中さん
22/10/04 23:13:11.92 DbZtciCX.net
「夢みれば夢も夢じゃない」
なんでもできるはずだわ〜♪ そこにあるもので〜♪
夢が広がりんぐ \(^o^)/

218:774ワット発電中さん
22/10/05 08:37:08.63 VAWZ6EHw.net
もちろんマルチタスクで書けるプログラムはシングルタスクでも書けるが
あえてマルチタスクにする目的、恩恵は
「プログラム構造を単純化する」→「開発時間を短縮する」
ではあるまいか?
>>199
模型自動車のライト制御
まずSW1個と対応するLED1個の点灯プログラムを作り、次にこれを8組並べる
ここでは排他制御、明るさ制御など少し複雑化されているが
プログラミングに時間は掛かりません
URLリンク(pastebin.com)
参考 SWとLEDを2組並べたもの
URLリンク(pastebin.com)

219:774ワット発電中さん
22/10/05 10:00:20.36 krGSEiTi.net
でもゲームとかFM音源バリバリ制御しながら
500キャラ動かして弾幕描写とかをマルチOSに任せて作っても
画面にノイズ出て始末に負えなさそう

220:774ワット発電中さん
22/10/05 10:20:12.71 wsF6biwK.net
>>218
プログラム領域が無限なら、とか
応答までの時間猶予も無限大なら、とかいう
制約が付かないとシングルタスクでも書けるとは言い切れないんじゃね?しらんけど;(^p^;

221:774ワット発電中さん
22/10/05 10:33:02.50 4r5HAvtl.net
ライブラリでいいじゃんとか、OSって結局ライブラリの集合体みたいなもんやん
リンクされて一体になってるか、別々に存在してるかってだけでしょ

222:774ワット発電中さん
22/10/05 11:29:28.26 x10e9mGh.net
>>221
それはそう。
ただどのみちひとつにしてROMに焼き込んじゃうんだから、AVRアプリケーションくらいなら一切合財全部リンクしちゃう方がいいな。
例えばファミコンはカセットの中の ROM を CPU が直接実行するけど、スイッチのはカセットの中のファイルを適宜メモリにロードしてそれを実行する。
後者のような構成だとOS欲しくなるけど、前者のようなのだとOSなんて大袈裟なもんいらん と判断するな。
同じプロセッサ上で動く未知の誰かと協調する必要もないし。

223:774ワット発電中さん
22/10/05 11:31:22.97 4r5HAvtl.net
それだよ、みちの誰かと強調することができるってのがOSのメリットやね

224:774ワット発電中さん
22/10/05 11:32:56.74 4r5HAvtl.net
うわ、タイポひで~w
未知の誰かと協調できちゃうってのがOS利用のメリットやね

225:774ワット発電中さん
22/10/05 12:08:47.83 xlVTyofB.net
>>218
>「プログラム構造を単純化する」→「開発時間を短縮する」
じゃあアセンブラとか使うなよ
書いてることが支離滅裂
シングルタスクならリソースもパフォーマンスも有利だからCで余裕じゃ?

226:774ワット発電中さん
22/10/05 12:10:42.88 xlVTyofB.net
ディスパッチャ君だよね
いまだにLEDやSWから卒業出来ないの?
万年Lチカ?

227:774ワット発電中さん
22/10/05 12:13:28.23 4r5HAvtl.net
OSイランようなちっこいプログラム書くのにCだろうがASMだろうがたいして工数変わらんやろ

228:774ワット発電中さん
22/10/05 12:14:59.54 4r5HAvtl.net
>>Cde余裕じゃ?
ライブラリ使わずに書いてみ

229:774ワット発電中さん
22/10/05 12:25:32.71 xlVTyofB.net
OS使わない=>ちっこい
って発想はヤバい
8bit/16bitマイコンでもピン数やROMRAMが大きな物が存在する
これらの使われ方を考えた事があるかな?

230:774ワット発電中さん
22/10/05 12:28:11.63 4r5HAvtl.net
>>229
ASM=工数大に対するレスだよ

231:774ワット発電中さん
22/10/05 12:33:22.26 xlVTyofB.net
アセンブラ
工数 大
保守性 最悪
可読性 最悪
移植性 最悪

232:774ワット発電中さん
22/10/05 12:35:21.67 xlVTyofB.net
>>228
仕様は?

233:774ワット発電中さん
22/10/05 12:46:55.65 4r5HAvtl.net
可読性、コメントのないソースはCでも充分可読性悪いしぃw
移植性いいのは、Cの中の人がやりくりしてくれてるだけだから
他人の作ったライブラリ使ってるのと同じよな
OS使うのも同じよな
OS否定の理由としては弱いね

というか、いつの間にかC対ASMの構図にすり替わってるのは何なんだろう?w

234:774ワット発電中さん
22/10/05 12:52:37.47 4r5HAvtl.net
あ、OS配下なら開発言語がバラバラでも共同開発できるってのもメリットじゃね?

235:774ワット発電中さん
22/10/05 12:52:51.51 HycwTigC.net
>>233
サイズ、速度、メモリ使用量なんかを突き詰めたくてASM使うのに、OS の出る幕は無いということだと思う。
他人の作ったライブラリすら避けるかも。

236:774ワット発電中さん
22/10/05 12:57:46.91 4r5HAvtl.net
>>235
ASMで冗長なソースばかり書いててゴメンねゴメンね~

237:774ワット発電中さん
22/10/05 13:09:55.84 xlVTyofB.net
>>233
8bitマイコンのソフトはC, OSレスが普通
ASMは一部では使われている
OS搭載ほぼゼロ
>>234
8bitマイコンの話だよね?

238:774ワット発電中さん
22/10/05 13:13:09.61 KSsEdLMi.net
>>220
また知らんのに書き込んでるアホがいるな。
マルチタスクなんて仮想的なもので、ひとつのCPUで動けるならシングルタスクで動いてると言える。
ちなみにどんなプログラムでもアセンブラで書ける。

239:774ワット発電中さん
22/10/05 13:13:12.38 4r5HAvtl.net
>>237
何が主流で普通とかは置いといて、ゆるっとなんか作って遊ぼうよというスレなのでイイのです

240:774ワット発電中さん
22/10/05 13:17:19.30 4r5HAvtl.net
>>232
なんか適当にペリフェラルを2つ3っつ使うようなのをライブラリ使わずに書いてみ、ASMとたいして工数変わらんやろ
逆にASMからでもライブラリ使えるんだから、こっちもたいして工数かわらんよな

241:774ワット発電中さん
22/10/05 13:19:20.55 p70aCefe.net
8ビットでもマルチタスクな小さいOS作って
利用していたけどね。Z80とかの時代だけどさ
PICなんかが流行ってタイムスライスすらやりにくく
なって、TK-80な時代に逆戻りした感が半端なかったっけな

242:774ワット発電中さん
22/10/05 13:28:01.96 1xCn1f8T.net
>>241
Z80 に比べて PIC がタイムスライスやりづらいってどういうこと?
Z80 には裏レジスタあるからってこと?
でもそれだと2タスクでしか恩恵無いけど。

243:774ワット発電中さん
22/10/05 13:31:55.99 4r5HAvtl.net
裏レジスタなついww
スライサが使うレジスタセットとスレッドが使うセットの1対あればいいんじゃね?
スレッド数分ある必要ないでしょ
あVRにも隠し命令であったりすると嬉しいな、裏レジスタw

244:774ワット発電中さん
22/10/05 13:33:41.64 wsF6biwK.net
うそつくなよ とうじは りあるたいむもにたってよんでたろ!(^p^)

245:774ワット発電中さん
22/10/05 14:41:22.99 dnITTcKH.net
8bit でもかなりしっかりした OS-9 なんてのもあったな。実際に使ったことは無いんだけど。
そのプロセッサ 6809 はレジスタの多い AVR とは対極で、ほんの少しのレジスタと 256バイトメモリ領域を変数として簡単に使えるダイレクトページを設け、そのページもレジスタで指定できたからマルチタスクOS に適してたんだろうね。
コンテキストスイッチがかなり軽くできる。
逆に言えば、レジスタの多い AVR は OS がマルチタスクをサポートするのには面倒かも。

246:774ワット発電中さん
22/10/05 15:47:56.71 QzzV/ecB.net
>>240
仮に動くまでの工数がほとんど同じだとしても
その先の工数が大きく違うのだよ

同じロジックを別CPUで使う場合
5年後に動作変更する場合
別の人に引き継ぐ場合
...

247:774ワット発電中さん
22/10/05 15:55:49.56 wsF6biwK.net
モデムを使うときのウインドウズのテレホニーAPIが95の頃のままだと
Windows10から使うと回線切る時にブルースクリーンなんよ・・・
ライブラリ供給元が更新しなくなる可能性があるわけで; あんなの
シリアル経由でATコマンドうつだけなんだろうから自分でくんどきゃよかったよ・・・
まぁそれもめんどくさくて騙し騙し使ってるわけだが;

248:774ワット発電中さん
22/10/05 16:23:39.53 4r5HAvtl.net
>>247
互換モードで入れてみたら?

249:774ワット発電中さん
22/10/05 16:31:40.39 4r5HAvtl.net
>>246
5年も前のソースなんて見たってわからんわ
そんな長期にわたってメンテナンスするもんならドキュメント残してるだろ

250:774ワット発電中さん
22/10/05 16:53:30.19 QzzV/ecB.net
5年後に変更するかどうかなんて予想出来る?
5年後じゃなくて1か月後でも
引き継ぎは?
>>218を誰か引き継げる?

251:774ワット発電中さん
22/10/05 17:06:39.04 iIJLCqM5.net
>>250
引き継ぎって何やってるの?

252:774ワット発電中さん
22/10/05 17:08:12.98 4r5HAvtl.net
だからメンテナンス性考えるならドキュメント残しとけよって話やろ
cだろうがasmだろうがドキュメントの有り無しが肝よ
いちいちソース解析からはじめて動作理解からコード直してとかやってらんねーっての

253:774ワット発電中さん
22/10/05 17:17:00.35 Z/MO9oxd.net
>>252
私はドキュメント類は一杯書く。
アセンブラでもほぼ1行ごとにコメント書くし(さすがにRET等は除く事が多いけど)、
サブル−チンにも先頭に機能や受け渡し情報などを書く。
それでも後で思い出すのはた〜いへんw

254:774ワット発電中さん
[ここ壊れてます] .net
皆様方には色々と御意見やら御批判をいただいている >>218 です。
私は「より早く、より小さく」を目標に、
お気に入りのAVRのプログラミング道を私なりのやり方で究めたい、と日夜努力しております。
皆様、これからもCでもASMでも、お互いに自分の信じる道で切磋琢磨いたしましょう。

なんちゃってw
ソースと言えば今日の我が家の夕飯は
オムライスのグレービー「ソース」掛け、スパゲティサラダ添え

255:774ワット発電中さん
[ここ壊れてます] .net
古いコードを理解するより新たに書くほうが早い。

256:774ワット発電中さん
[ここ壊れてます] .net
引き継ぎで思い出すもんなんか何もないわけだけどw

257:774ワット発電中さん
[ここ壊れてます] .net
>>252
同レベルのドキュメントがあった時に
Cとアセンブラどちらの方が早い?
修正とか移植とか流用とか

同レベルのドキュメントを作るのに
Cとアセンブラどちらの方が速い?
アセンブラの方がドキュメント量は多いよね?

Cとアセンブラで工数が同じなんてのは大嘘

258:774ワット発電中さん
[ここ壊れてます] .net
>>254
より早く、より小さく
ならディスパッチャとか論外じゃん

259:774ワット発電中さん
[ここ壊れてます] .net
ドキュメント書く工数のほうが多いやねw

260:774ワット発電中さん
[ここ壊れてます] .net
ドキュメントあってもどうせコードも読むよ。
というかむしろドキュメントなんてほとんど読まずコード読んでる。

261:774ワット発電中さん
[ここ壊れてます] .net
>>253
コード変えた時にコメント直し忘れてると何が本当か分からなくなるよね。
害悪でしかない。

262:774ワット発電中さん
22/10/05 18:03:58.36 4r5HAvtl.net
>>261
あるある、だが自分のミスだからしょうがないw
そこで日本語プログラミングですよ
ソースがそのままコメントw

263:774ワット発電中さん
22/10/05 18:09:46.09 Sy8tyoK5.net
>>251
別に業務の引き継ぎだけじゃなくて
他人のコード流用でもいいけど
ディスパッチャ君のコード流用は不可能
>>253
本当に1行ずつコメントが必要だとしたら
ソースがまずい
>>255
流用が下手
ということ

趣味のコードでドキュメントなんてたいそうなものいちいち書かんだろ
簡単なメモくらい

264:774ワット発電中さん
22/10/05 18:13:08.48 Sy8tyoK5.net
ディスパッチャ君自信も
PIC、STM8、RL78 に移植とか出来ないでしょ
だから万年tiny2313

265:774ワット発電中さん
22/10/05 18:20:33.11 jRYaGmsA.net
>>262
URLリンク(forest.watch.impress.co.jp)
日本語よりお嬢様語ですわ〜 \(^o^)/

266:774ワット発電中さん
22/10/05 18:36:02.15 4r5HAvtl.net
俺のキーボードを昆布茶でびしょびしょにしようとしないでくれ

267:774ワット発電中さん
22/10/05 18:55:40.93 WQIpoG1n.net
ここではディスパッチャ君なんて名前がついたのか。
相変わらずのガイキチっぷりだな。

268:774ワット発電中さん
22/10/05 18:57:34.95 ZkJxkjnW.net
>>264
移植というか、アセンブラで最適化したコーディングするならそれぞれに作り直すんじゃないの?
そもそも同じものを別のマイコンで動かす必要があるかも分からんけど。

269:774ワット発電中さん
22/10/05 19:28:37.46 4r5HAvtl.net
で、ディスパッチャ君て何者?

270:774ワット発電中さん
22/10/05 19:50:18.13 Fu4/vxNB.net
コメントやドキュメントはこう動けば良いなの願望が書かれたモノだから。

271:774ワット発電中さん
22/10/05 20:12:14.74 QJSQ5o+2.net
ゆるスレで

272:774ワット発電中さん
22/10/05 21:20:27.30 jRYaGmsA.net
>>269
少なくとも只者ではない
僕は彼の根気強さに負けて作例を1点作った\(^o^)/

273:774ワット発電中さん
[ここ壊れてます] .net
1000uFへの突入でレギュレータ飛ばしてしまった
低ESRヤバい

274:774ワット発電中さん
[ここ壊れてます] .net
>>273
へぇ・・・ 保護に電流制限の抵抗を入れると電源投入直後の充電時以外は邪魔でしょうけど どう対策するんすか?
インダクタで電流制限とか出来るんすかね?

275:774ワット発電中さん
[ここ壊れてます] .net
低ESRだからなのか?

276:774ワット発電中さん
[ここ壊れてます] .net
>>272
何作ったの?

277:774ワット発電中さん
22/10/06 11:20:46.13 41eTpe9R.net
ああそうか 極論として 仮に一瞬短絡したとしても
電圧が急減するだけで それだけで
電源を壊わすというのはむしろ難しいような気もするか; むむむ

278:774ワット発電中さん
22/10/06 11:22:45.54 tnqe5ftg.net
>>273
それで飛ぶくらいの容量のレギュレータで動かす負荷に対して 1000μF がデカ過ぎってことじゃない?

279:774ワット発電中さん
22/10/06 11:35:48.50 4tbzKm0X.net
>>273
大抵のレギュレータには過電流保護機能とかサーマルシャットダウンがついてるので
大容量のコンデンサで飛ばす(壊す)のは難しいと思うの
たぶん\(^o^)/
僕はむかし3端子レギュレータの端子をIN,GND,OUTと思い込んで間違った配線して壊した
7805とかと同じ感覚でNJU72233を配線したらポンした\(^o^)/

280:774ワット発電中さん
22/10/06 11:35:56.73 uS2AhADD.net
>>258
実際にサンプルの模型自動車ライト制御プログラム(ただのLチカです)を
シングルタスクで書いて。催事と速度を比較してみていただければ、と思います。
もちろん万能ではありません、一度、マルチタスクで書いた後に、
シングルタスクでゼロからやり直した事があります。
>>263
「溺れる者は藁をも掴む」じゃないけど、将来の機能追加など万が一の時を考えて
まだ泳ぎ出す前なのにコメントを沢山書いていますw
実際に機能追加作業が始まると、意味がよく理解できないコメントに溺れてしまって、
なんだこの意味不明役、立たずのコメントは藁か!と腹が立つ。
 ASMではプログラムの個々のステップの処理内容が小さく抽象的なので
分りにくいってのもあると思う。

281:774ワット発電中さん
22/10/06 11:37:48.13 uS2AhADD.net
ゴメン
催事 → サイズ

282:774ワット発電中さん
22/10/06 11:43:38.10 khsCPrD7.net
コメントあるあるやねw
自分のために書くと、結局イミフと化すとかよくくある
最近は初めから他人に説明(解説)するつもりで書くようにしてる

283:774ワット発電中さん
22/10/06 11:45:50.48 uS2AhADD.net
なんだかタイプミスが多いな、睡眠不足が原因かな・・・眠い・・・
>264
このディスパッチャは移植なんかできまっしぇんw
なにしろ相手はマルチタスクに何の配慮も無いAVRですよ。
ただし、考え方(動作原理)さえ理解していれば、全てのCPUに応用できます。
(あ、ごく一部のCPUを除く)
>>269
ただの通りすがりのAVRプログラミング求道者です。
「あと5年有れば真のAVRプログラマになれたのに」
と言って死にたいのですw

284:774ワット発電中さん
22/10/06 11:48:54.02 uS2AhADD.net
しかし、このゆるスレがすっかり本スレになってしまったね

285:774ワット発電中さん
22/10/06 11:49:22.09 tnqe5ftg.net
仕事の話で言えば、関数の中身が全部コメントアウトされてて、なんでって聞いたらこうしないとビルド通らないからと言われて唖然としたことがある

286:774ワット発電中さん
22/10/06 11:49:52.41 4tbzKm0X.net
>>276
彼が頻繁にURLを貼っている(模型自動車のライト制御?)
URLリンク(pastebin.com)
tiny2313にSW8個とLED6個を接続して自動車のライトの動きを再現したもの
またUART入出力でPCと接続もできる(詳しくはURLに動きの詳細が出てる)
↑この仕様はCPUの貧弱なPICでは作れないとPICスレで主張してたの(涙)
これを8ピンのPIC(12F1572)で作ったの \(^o^)/

287:774ワット発電中さん
22/10/06 11:56:27.84 khsCPrD7.net
>>284
別にサブスレって位置づけじゃないし、いいんでない
面白い話題ふってやれば戻るんじゃない?

288:774ワット発電中さん
22/10/06 11:58:02.49 tnqe5ftg.net
>>286
8ピンじゃIO足りなそうだけど、外付けの部品で拡張したの?

289:774ワット発電中さん
22/10/06 12:04:55.77 khsCPrD7.net
AVR便利帳みたいのほしいなあ、ペリフェラルの初期化手順とか、コピペでパっとできる的なやつ(それにかぎらないけど)
一回作っちゃせば使いまわしできるけど、AVR使いだして間がないから、全然ストックないんだよね
疲れた頭でデーターシート読でも、なかなか入ってこないし、みんなでよってたかって作んない?

290:774ワット発電中さん
22/10/06 14:00:16.43 DrJ4U8C8.net
>>286
SW8個も使うなら、すべてに抵抗値違う抵抗噛ませて全部並列に繋いで
アナログ入力1個で判別すれば楽
まぁ、すべての組み合わせの合成抵抗値計算したりすんの大変だけどw

291:774ワット発電中さん
22/10/06 14:02:46.13 khsCPrD7.net
>>290
同時押しはどうすんの?

292:774ワット発電中さん
22/10/06 14:03:34.52 DrJ4U8C8.net
並列でなく直列に繋いで、SWで抵抗をパスさせた方が簡単だな
足し算で済む
押されたボタンの分だけ抵抗値が減る

293:774ワット発電中さん
22/10/06 14:04:57.78 DrJ4U8C8.net
>>291
抵抗値を、1,2,4,8みたいに2進数式に使うと
複数押されても何が複数押されたか判別可能

294:774ワット発電中さん
22/10/06 14:08:09.40 khsCPrD7.net
ADCの分解能足りる?

295:774ワット発電中さん
22/10/06 14:25:13.95 qowYjqHm.net
>>294
8個の識別には 8bit 必要だけど誤差やらばらつきを吸収するためにあと 2~3bit は欲しいだろうね。
でも同時押しいらないなら計算上 5% 抵抗でも 8bit ADC で最悪値 20個くらいの読み分けができる。
実際は 5% 抵抗だってそのばらつきは小さいから、もっと多くのボタンの読み分けができる。

296:774ワット発電中さん
22/10/06 14:26:39.17 khsCPrD7.net
同時押しいらないならじゃなくて、同時押しの流れやんw

297:774ワット発電中さん
22/10/06 14:28:44.96 qowYjqHm.net
>>296
同時押しのパターンは説明したじゃん。
その上で元のアプリケーションの操作性を鑑みて同時押しを捨てた場合について言及してるんでしょ。

298:774ワット発電中さん
22/10/06 14:32:03.04 41eTpe9R.net
8ピンか・・・
給電に2ピン、
シリアル通信に2ピン、
残り4ピン・・・
ダイレクトスキャンに3ピン使うと1ピンしか余らんなぁ; あ、じゃあ、
スキャンアドレスは外部カウンタでクロックから生成して
同期用に一ピン入力
スキャン周期8でスイッチ系の入力に1ぴん
LEDには1ピン、8周期中6使って各各のLEDに、二周期は消灯、なら
1ピン余るから、なんとかいけるのかなぁ・・・しらんけど;

299:774ワット発電中さん
22/10/06 14:49:29.66 DrJ4U8C8.net
>>294
抵抗のバラつきがプラス方向で
かつ抵抗小さい方からの累積数より大きいという条件なら判別可能で10ビット分解能で余裕
1,2,4,8,16,33,67,140とかさ
途中欠番になるだけだし

300:774ワット発電中さん
22/10/06 15:10:04.47 41eTpe9R.net
いまいちよくわからんけどこういうこと?
140Ωの5%が7Ωだから、4Ω以下のが埋もれないか?
付け替えはしないだろうから較正表というか換算テーブルで見れば行けるのか・・・??
URLリンク(o.5ch.net)

301:774ワット発電中さん
22/10/06 16:11:19.86 cEZPDJy4.net
誤差ったって使うたびにばらつくわけでもあるまい?

302:774ワット発電中さん
22/10/06 16:12:13.74 khsCPrD7.net
電圧変動とか、ノイズとか

303:774ワット発電中さん
22/10/06 16:14:07.69 khsCPrD7.net
一番めんどくせーのが温度ドリフト

304:774ワット発電中さん
22/10/06 16:14:26.93 41eTpe9R.net
>>301
どういう判定方法をとる気か知らんが
較正作業めんどそうやぞ・・・

305:774ワット発電中さん
22/10/06 16:19:12.00 dzojMbVr.net
よく考えると、SW 8個の場合合成抵抗は例えば 0~255Ω の間の 1Ω刻みのリニア値が得られるけど、それを電圧に変換して ADC に読ませるのは面倒だね。
定電流元使えば抵抗値に比例した電圧に変換することができるけど、当然定電流を流す電源の電圧は VREF より高くないといけないから、VREF が電源電圧に近いとフルレンジは取れないことになる。
んで >>300 の指摘のように、8bit を得ようとすると一番小さい抵抗は一番大きい抵抗の 1/128 = 0.78% でしかないから、かなりの高精度抵抗を使う必要がある。
5%抵抗なら 4bit 程度の精度 = SW 4個が保証限界だね。
逆に 4bit 程度なら、前述の定電流元は抵抗で簡略化できるかも。

306:774ワット発電中さん
22/10/06 16:21:04.07 dzojMbVr.net
>>305
まちがった、5% なら 1:16 が行けるから 5bit だね。

307:774ワット発電中さん
22/10/06 16:25:09.34 dzojMbVr.net
>>306
さらにまちがった。誤差は一番小さい抵抗の 1/2 未満じゃないといけないから、やっぱ 4bit だね。

308:774ワット発電中さん
22/10/06 16:32:37.69 41eTpe9R.net
>>298
だいれくとじゃねえ ダイナミックスキャンや
走査時にスイッチも順にみて行けばええんやな

309:774ワット発電中さん
22/10/06 16:36:14.45 dzojMbVr.net
>>308
そに場合スイッチにはダイオードを挿入する必要があるし、ダイナミックスキャンのためぬ外付け部品いろいろ付けるくらいならピンの多いマイコン使う方が安いと思う。

310:774ワット発電中さん
22/10/06 16:36:18.12 khsCPrD7.net
1ピンでなんとかしたいって話じゃなかったんか

311:774ワット発電中さん
22/10/06 16:42:01.02 dzojMbVr.net
>>309
タイポがひどい…
それはおいておいて、LED 2個を並列に逆接続したペアを作れば、コモン線を 1本と LED線 n本で、つまり 1+n本の GPIO で 2n個の LED を外付け部品無しに点け分けられるね。
8ピンのマイコンで GPIO 5本取れるなら、8個の LED を制御できる。

312:774ワット発電中さん
22/10/06 16:59:52.14 kSx6V3Eg.net
混乱させるとスレが盛り上がる\(^o^)/
8ピンの内訳
VDD,GND,UART RX,TXで4個
MCLR <- リセット兼スリープ復帰で1個(SW10)
残り3個
LED以外の半導体は使ってないよ〜
(※電源の入力回路を除く)
SW1 Turn signal L SW2 hazard SW3 Trun signal R
SW4 HeadLight change L SW5 HeadLight change H SW6 Hi/Low Change
SW7 passing SW8 brake SW9 Brightness change
SWの同時押し判定有り(512パターン)

313:774ワット発電中さん
22/10/06 17:05:30.13 DZiSSVZn.net
>>312
3ピンで LED 6個とスイッチ 9個繋いでるの?
回路図見せてくれ!

314:774ワット発電中さん
22/10/06 17:09:40.92 FvyqnPmf.net
外付けリレーか真空管だな。

315:774ワット発電中さん
22/10/06 17:19:01.56 41eTpe9R.net
外部半導体なしか・・・なら、シリアル制御LEDと、ラダー抵抗のAD読みかなぁ・・・

316:774ワット発電中さん
[ここ壊れてます] .net
↑の補足
switch群をデジタル入力と見做して、ラダー抵抗でアナログ値を形成して
それをAD変換器で解読

317:774ワット発電中さん
22/10/06 18:11:07.78 1Y1faQUT.net
>>278
500mAくらいパルスで流すんで
そのくらい無いと変動しちゃう
レギュレーターは定格300mAまでだけど
パルスだから良いかなあと思って
>>279
過電流保護付きなんだよね
フの字の
原因別かなあ
コンデンサへの突入くらいしか思い浮かばない

318:774ワット発電中さん
22/10/06 18:18:24.51 jD/W4Qpi.net
>>286
マイコンで扱う処理としては最も簡単な部類だな

319:774ワット発電中さん
22/10/06 18:20:36.29 jD/W4Qpi.net
LEDのPWM周波数と、8段階の各デューティー比に関する要件は?

320:774ワット発電中さん
22/10/06 18:30:57.34 jD/W4Qpi.net
8pinか
素直に20pinくらいのを使った方が安いでしょ

321:774ワット発電中さん
22/10/06 18:44:39.45 khsCPrD7.net
そんな、ジグソーパズルを楽しんでる人に、完成品をあげるようなことを言ってはいけないw

322:774ワット発電中さん
22/10/06 18:56:15.92 khsCPrD7.net
この前試作したUSBASP+bitban+シリアルコンバーターを
ケーブル2本つなぐの嫌だからusbハブと一緒にケースに収めてテストしたら
動かね~・・・と、たそがれてたら、リボンケーブルの片側逆に作ってた orz

323:774ワット発電中さん
22/10/06 18:57:18.96 jD/W4Qpi.net
>>312
LED 8段階のデューティー比はどのくらい?

324:774ワット発電中さん
22/10/06 19:01:52.75 jD/W4Qpi.net
DACが使えるのか
PWMもリッチだね
3本で6個のLEDを8段階かあ
わからん
半導体を使わないって
抵抗も?


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

297日前に更新/223 KB
担当:undef