マイコンソフト 悩み事相談室 4
1 :774ワット発電中さん :2020/09/11(金) 09:38:11.57 ID:cJDnlvMz.net . ∧ ∧ ( ´・ω・) < コンフィグって何? 昆布なら知ってる。 ボラチルって何? ボラは魚だよ。 ( ∪ ∪ ,.-、 ,.-、 ,.-、 ,.-、 と__)__) (,,■) (,,■) (,,■) (,,■) PIC AVR H8 ARM 学校でC言語を習ったことがあるので「楽勝でしょ」って、マイコンを始めたけど、 わからないことだらけ。誰か教えて! PCとは別世界の、マイコンのソフト。難しいよね。 ツールの使い方、ツールの設定、マイコン特有のC言語の書き方、 「デバッグモードにプログラミングモード。何?」 Eclips, Emacs って何? VBAしか知らないよぉ、という人まで、 各社マイコンに関するマイコンソフト相談室です。 質問者は、「初心者質問スレ」の>>1 を見て、分かり易く質問を書いてね。 回答者は、威張らない、バカにしない、言葉使い注意で、親切に教えてあげてね。 あっ、そうそう。 ハードウェアに関する質問は、それぞれのマイコンのスレに、達人がいるから。 過去スレ 1 2014/09/11〜 2 2016/07/31〜 http://rio2016.2ch.net/test/read.cgi/denki/1469905691/l50 3 2017/06/19〜 https://rio2016.5ch.net/test/read.cgi/denki/1497806664/ では、質問、ドゾ〜
2 :774ワット発電中さん :2020/09/11(金) 12:06:20.87 ID:oj7dDQPt.net >>1 乙
3 :774ワット発電中さん :2020/09/12(土) 09:19:24.02 ID:FbNjUiO5.net いちおつ。 前スレの http://rio2016.5ch.net/test/read.cgi/denki/1497806664/998-999 ハードウェアリセットが付いているシステムなら、SRAMへの書き込みで、アドレス不定になるものってあるかな。
4 :774ワット発電中さん :2020/09/12(土) 09:52:38.39 ID:k1hy3rAa.net シーケンスのわからないバカがまだ何か言ってる。 そこじゃねえんだよ
5 :774ワット発電中さん :2020/09/12(土) 10:27:50.48 ID:FbNjUiO5.net 説明できないなら黙ってればいいのに。
6 :774ワット発電中さん :2020/09/12(土) 10:38:15.05 ID:k1hy3rAa.net 「書き込みシーケンス途中で落ちるのが悪い」だと? 「任意のタイミングで電源を切ることが出来る」システムが欲しいって話をしてるんだ。 そしてそれを実現するために工夫された回路やプログラムが世の中に存在してるんだ。 それが無駄だってか? 己の無知を恥じろ。
7 :774ワット発電中さん :2020/09/12(土) 10:53:09.47 ID:FbNjUiO5.net アドレス不定になるから、シーケンスで対処するべき、って主張なんだと思うけど、それは置いておいて、 >>3 の条件で書き込みアドレスが不定になるものってあるのかな? って話なんだけどな ない、は言えないね。悪魔の証明だ。 勘違いしてるようだけど、アドレスが不定にならないならシーケンスやハードでの対処が要らない、って言ってるわけじゃないよ。
8 :774ワット発電中さん :2020/09/12(土) 14:51:57.19 ID:HAjJe11P.net ・キャパシタと電圧監視で書き換え完了できる動力が保証できる場合のみ書き換えを開始する ・CRCとかを最後に書くようにして2つの領域を交互に使うようにする のいずれかになるね 前者は外付け部品が必要になるし、後者はCRCの計算と二倍以上の記憶領域が必要になるから用途で使い分けたらいいと思う
9 :774ワット発電中さん :2020/09/12(土) 23:20:39.88 ID:ioZIeKlC.net 自分がよく使うマイコンのマニュアルを読むと内蔵フラッシュに書き込み中のリセットは 所定のリセット条件を満足すれば問題ないようだ 禁止条件にも書かれていないし書き込み中のブロックが不定になる程度ですむと思われる とはいえ常識的に考えて日常的にそのよう状況が発生する設計は避けるべきだとは思うが 書き込み中に規定外の電圧への遷移や一部のフラグの変更等はフラッシュへダメージがある 可能性がある理由で禁止されている
10 :774ワット発電中さん :2020/09/13(日) 14:40:15.67 ID:4A2ATnUY.net >>7 > アドレス不定になるから、シーケンスで対処するべき、って主張なんだと思うけど ここで言うシーケンスって何?
11 :774ワット発電中さん :2020/09/13(日) 18:03:11.59 ID:P+aabddv.net 書き込み開始してから終了するまで。
12 :774ワット発電中さん :2020/09/13(日) 19:26:12.34 ID:4A2ATnUY.net >>11 いやいや、シーケンスで「対処」って何よって話
13 :774ワット発電中さん :2020/09/13(日) 19:27:30.49 ID:P+aabddv.net うん、変なこと言ってると思う。
14 :774ワット発電中さん :2020/11/21(土) 03:30:56.98 ID:mvJwl4hr.net 逆ポーランド記法 知ってますか?
15 :774ワット発電中さん :2020/11/21(土) 08:21:59.31 ID:V+CW9NwU.net オペコペコペコ、オペランド…今から緊急手術を行う‥‥doctor P
16 :774ワット発電中さん :2020/11/22(日) 16:13:13.32 ID:uM/r69n4.net 普通の強盗 ・・・・「金を 出せ!」 ポーランド人の場合・・・・・「出せ 金を!」・・・「キン玉じゃない!」
17 :774ワット発電中さん :2020/11/24(火) 02:16:18.76 ID:kvg4LDH+.net 1 2 + [ENT]
18 :774ワット発電中さん :2020/11/24(火) 16:38:02.58 ID:xYK0S0r6Q >>17 1に2を足す Mind
19 :774ワット発電中さん :2020/11/24(火) 17:01:25.01 ID:CaOWg8bP.net >>17 1に2を足す Mind
20 :774ワット発電中さん :2020/11/24(火) 17:08:32.13 ID:CaOWg8bP.net >>16 ポーランド記法・・・・「金を 出せ!」 値+命令 非ポーランド記法・・・・「出せ 金を!」 命令+値 日本語はポーランド記法に近い語順 英語は非ポーランド記法に近い語順
21 :774ワット発電中さん :2020/11/24(火) 17:19:01.43 ID:FyeRWp0o.net >>20 逆に覚えてるバカ
22 :774ワット発電中さん :2020/11/24(火) 17:43:54.72 ID:ca7tlGoM.net ポーランド記法・・・・金を出せ お前は 俺に 非ポーランド記法・・・・お前は 金を出せ 俺に 逆ポーランド記法・・・・お前は 俺に 金を出せ
23 :774ワット発電中さん :2020/11/25(水) 14:11:24.88 ID:pPjiI1i3.net 強盗の例は分かりにくいので、数字と演算子で教えてください。 hp電卓と似ていると聞いたことがあります。
24 :774ワット発電中さん :2020/11/25(水) 14:21:45.85 ID:YYDWch3M.net 非ポーランド記法・・・・ (1+2)*3 ポーランド記法・・・・* + 1 2 3 逆ポーランド記法・・・・ 1 2 + 3 *
25 :774ワット発電中さん :2020/11/26(木) 11:19:42.31 ID:DbBodVXO.net 非ポーランド記法・・・・ (1+2)*3 逆ポーランド記法・・・・ 1 2 + 3 * 非ポーランド記法・・・・ 1*(2+3) の場合は 逆ポーランド記法・・・・ 1 * 2 3 + でしょうか。
26 :774ワット発電中さん :2020/11/26(木) 13:07:50.89 ID:PFrupCQ0.net 1 2 3 + * かな
27 :774ワット発電中さん :2020/11/26(木) 23:24:19.53 ID:NmCuEJ4d.net >>26 演算子から2つ前の値しか関係しないということですね。
28 :774ワット発電中さん :2020/11/27(金) 00:50:46.93 ID:qOCkykOf.net >>26 演算子から2つ前の値しか関係しないということですね。
29 :774ワット発電中さん :2020/11/27(金) 10:47:23.62 ID:Fat6lDrP.net 基本スタックマシンだから push 1 push 2 push 3 popしてpopして足してpush popしてpopして掛けてpush みたいな感じ
30 :774ワット発電中さん :2020/11/27(金) 17:43:17.37 ID:+rvsAsbY.net >>25 逆ポーランドだと312+*でも行けない? スタック型よね。 fothとかpostscriptとか。
31 :774ワット発電中さん :2020/11/27(金) 18:06:02.41 ID:YJO9SFLT.net それだと3*(1+2)になってしまう
32 :774ワット発電中さん :2020/11/28(土) 08:25:49.19 ID:69g8Kycs.net ひとつの袋に黄色いりんご1個と赤いりんご2個が入っています。 その袋を3つ買いました。全部でいくつのりんごを買ったでしょう。 生徒:3×(1+2)=9 です 先生:バツです。
33 :774ワット発電中さん :2020/11/28(土) 10:34:28.01 ID:5R63qc+W.net (1+2)×(3+4)は、 1 2 3 4 + ?? 一時記憶?
34 :774ワット発電中さん :2020/11/28(土) 12:34:12.24 ID:A2VSLsk/.net >>33 1 2 + 3 4 + *
35 :774ワット発電中さん :2020/11/28(土) 17:52:39.84 ID:GdAiT2g5.net スタック自体が一時記憶だからな。 1に2を足して3に4を足して掛ける。
36 :774ワット発電中さん :2020/11/28(土) 23:15:28.05 ID:69g8Kycs.net 数字の打ち込みはスタックに積むこと。 二項演算子を「スタックから2つとってきて計算してスタックに戻す」と考えれば理解しやすかも。
37 :774ワット発電中さん :2020/11/29(日) 01:40:40.38 ID:3zVdwsWE.net なるほど 上2つの数値が対象でしたね。 どんな複雑な四則計算も、それでできるのでしょうか。 (1+2)*(3+4)/( (5+6)*7) 1 2 + 3 4 + * 5 6 + 7 * / ですね
38 :774ワット発電中さん :2020/11/29(日) 08:13:29.64 ID:uy969WVb.net 四則演算に限らず(用意されてりゃ)関数とかも使える sin(√(1 + 2) * 3) 1 2 + √ 3 * sin
39 :774ワット発電中さん :2020/11/29(日) 09:08:54.37 ID:4bTjHEFc.net 関数や演算子のパラメータの数だけスタックから取ってきて、結果をスタックに返すわけだしね。
40 :774ワット発電中さん :2020/11/29(日) 23:53:42.49 ID:pHDP89rc.net usin(√(1 + 2) * 3) 1 2 + √ 3 * sin なるほど、これは簡単だと思うけど、 式の()とか、優先順位を人間が解析した上で 1 2 ...と記述を始めるわけですが、 その解析をしなくても、数式通りに usin(√(1 + 2) * 3) と書き込めば、Cとかならコンパイラが計算してくれますよね。 だとすると、ポートランド記号は、どういうときに使用されるのでしょうか。
41 :774ワット発電中さん :2020/11/30(月) 00:21:05.84 ID:+Rk4LA/f.net 逆ポーランド電卓を使う時とか8087をアセンブラで書く時とか
42 :774ワット発電中さん :2020/11/30(月) 06:02:05.38 ID:s3QaQSrG.net >>40 > ポートランド記号は、どういうときに使用されるのでしょうか。 逆ポーランド記法な 使うのは Forth とか PostScript を使う時かな 今どきそんな機会があるかどうかは知らんけど
43 :774ワット発電中さん :2020/11/30(月) 08:39:09.36 ID:ZNwvj6Aj.net 昔の同僚にHPの電卓のファンがいて、逆ポーランドの方がわかりやすいと言ってました。 >>40 の感覚は、「通常の数式表現から逆ポーランドに置き換える」というものだと思いますが、 その同僚の感覚は「いきなり逆ポーランドで考える」だったと思う。 俺は、英語の文書を作るときに、いったん日本語で考えてから翻訳しますけど、 英語ネイティブや、そこそこの英語使いなら最初から英語で考えるはず。それに似ているかも。 俺の逆ポーランドに対する感覚は>40に近いけどね。 プログラムの中でユーザーが入力した「通常の式」を解釈するときは、逆ポーランドに置き 換えるか、再帰的に式を解釈したりしていますが、後者もスタックを使っているのは同じ。
44 :774ワット発電中さん :2020/11/30(月) 09:43:22.99 ID:lX/n2/Yk.net >>43 昔、数式のパーサーを作ったけど、確かにスタック操作だったのを思い出した
45 :774ワット発電中さん :2020/11/30(月) 10:05:34.37 ID:oGFM/dvN.net >>42 1+ 2 をアセンブラで書くときも mov a,1 mov b,2 add a,b とかやるんじゃないか? 今どきそんな機会があるかどうかは知らんけど
46 :774ワット発電中さん :2020/11/30(月) 10:23:06.04 ID:s3QaQSrG.net >>43 1 と 2 を足した(+) ものに 3 と 4 を足した(+)ものを 掛ける(*) なので日本語と逆ポーランド記法の順序は似てる >>45 マシンによるけど mov a, 1 add a, 2 ってやれることが多いからちょい微妙な気がする
47 :774ワット発電中さん :2020/11/30(月) 10:24:53.35 ID:sD+LiFxV.net >>46 なるほど。 ってか、実際はコンパイラが最適化するけどね。
48 :774ワット発電中さん :2020/11/30(月) 12:06:20.48 ID:+XkoxYuh.net >>43 RPN電卓は慣れてくると変換とか考えなくても自然と扱えるようになる 特に()とか計算順が関係してくるのはなんも考えずに先頭から入力していけるし まあ最近の関数電卓は数式入力とか普通だからあまり魅力はないかもしれないが あとはPOSレジ(加算器)なんかは逆ポーランド的操作だね 値段 + 値段 + 個数 * 値段 + : 合計 みたいな感じだし
49 :774ワット発電中さん :2020/11/30(月) 14:12:26.12 ID:q5E1IfxKi >usin(√(1 + 2) * 3) この例なんか、そりゃ普通の電卓でも直ぐにすらすら打ち込めるけど √の中が2重3重いやもっとネストが深い数式になってるとまず無理だね。 これが逆ポーランド記法で数式が書かれていると、どんなに複雑な数式でも 普通の電卓でも直ぐにキー打ち込み始められるよねえ...
50 :774ワット発電中さん :2020/11/30(月) 18:20:03.84 ID:ZNwvj6Aj.net >なので日本語と逆ポーランド記法の順序は似てる Forth系言語の 日本語Mind とか…
51 :774ワット発電中さん :2020/12/22(火) 15:19:08.99 ID:QjT9JRVE.net FORTHってなかなかユニークな言語だよね。 昔、興味が湧いて、使っているCPU用に移植した事がある。 その時に逆ポーランド記法を初めて知ったけど、演算処理が簡単になるので、 その後、あるオリジナルの言語処理系を作った時にも採用した。
52 :774ワット発電中さん :2020/12/22(火) 22:58:27.41 ID:loSs4RjP.net 変数名考えなくていいしな。
53 :774ワット発電中さん :2020/12/29(火) 13:30:15.19 ID:8Q+qtXT+.net そうなの?
54 :774ワット発電中さん :2020/12/30(水) 17:32:15.95 ID:KLCtju1g.net ATmega168で「I2C and SPI通信モニタ装置」を製作した時に データ取り込み開始・停止の条件判定にスタックを使う逆ポーランド記法でやった Forthを考えついた人は天才だと思う
55 :774ワット発電中さん :2020/12/31(木) 12:06:57.06 ID:IvvwJueg.net スタックにデータを置くシーケンサ(PLC)にも変数(データ格納アドレス)は存在しない。 格納場所が決まっているので存在しようがないというか、 そもそも存在させないためにスタックに置くというか・・・
56 :774ワット発電中さん :2021/01/20(水) 11:31:27.65 ID:GOukT131h 綿矢りさへ。『愛の原子』ってどう?
57 :774ワット発電中さん :2021/01/24(日) 18:40:24.74 ID:mdU/HN8OG APLというプログラミング言語を知ってるかな? これも、逆ポーランド記法に近い形の記述を使うね。 元データの入った変数(これはベクトルや行列)を 一番右に書いて、それに続けて演算子を示す一文字の ギリシャ文字を左に連ねて行く記法をとる。 だから、記述量が非常に短くて済む。
58 :774ワット発電中さん :2021/01/24(日) 18:41:41.97 ID:mdU/HN8OG 57だが、↑は右左が逆。 訂正します。
59 :774ワット発電中さん :2021/02/05(金) 14:13:41.06 ID:4Q3nEFjIn 自由な働き方を求め10代〜20代の登録が拡大。フリーランス登録者約3.4倍に増加。https://prtimes.jp/main/html/rd/p/000000348.000010591.html フリーランス向け報酬即日払いサービス『先払い』申込件数5,000件突破https://prtimes.jp/main/html/rd/p/000000048.000047439.html ITフリーランスの独立支援サービス『テックビズ』&定額制全国住み放題『ADDress』提携開始https://prtimes.jp/main/html/rd/p/000000035.000047639.html リース、フリーランスのためのお部屋探しアプリ「smeta」の正式版をリリース、提携賃貸管理戸数が6万戸を突破https://prtimes.jp/main/html/rd/p/000000032.000042693.html 家族50万円・単身30万円を支給、新潟県が「テレワーク・フリーランス移住」で応援金https://www.bcnretail.com/market/detail/20201225_205952.html ワーケーション会社員増加中、定額制宿泊サービス「HafH」を実体験https://finance.yahoo.co.jp/news/detail/20201231-00257105-diamond-column 「フリーランススタート」の掲載案件数、累計16万件を突破https://codezine.jp/article/detail/13393 フリーランスエンジニア専門の案件一括検索サイト「フリーランススタート」、 掲載案件数1ヶ月で10,000件増加し、累計掲載案件数16万件突破!さらにリモートワークの掲載案件数5,000件突破!https://prtimes.jp/main/html/rd/p/000000012.000038976.html フリーランス向けの求人は「テレワーク可能」が主流に 2021年は労働者の地方への移住が進む?https://nlab.itmedia.co.jp/nl/articles/2012/25/news118.html
60 :774ワット発電中さん :2021/04/26(月) 16:16:08.19 ID:YyDQmy1c.net 質問です。 マイコンのプログラムは今はCで書いていますが、 Pythonで書くことはできるのでしょうか?
61 :774ワット発電中さん :2021/04/26(月) 16:46:51.38 ID:Do/Eq8rL.net MicroPython でググれ
62 :774ワット発電中さん :2021/04/26(月) 17:14:41.23 ID:YyDQmy1c.net >>61 ありがとうございました。 ググったら、いろいろとわかりました。 どうもありがとうございます。
63 :774ワット発電中さん :2021/04/26(月) 18:41:08.39 ID:uSqWvWVm.net マイコン言ってもARMクラスが必要だけどね。
64 :774ワット発電中さん :2021/04/26(月) 23:08:30.38 ID:YyDQmy1c.net >>63 ありがとうございます。 確かにARMクラスが妥当だと思いますが、デジキーの案内のページを見ると... MicroPythonはすでに何種類かのマイクロコントローラシリーズに移植されており、 これを出発点として新規プラットフォームに移植するか、 すでにサポートされているマイクロコントローラを選択することができます。 図1に示すのは、MicroPythonのソースコードのメインディレクトリです。 ここから、サポートされているマイクロコントローラデバイスを確認できます。次 のマイクロコントローラが含まれます。 ARM®ベースのマイクロコントローラ Texas Instrumentsの CC3200 Adafruitの ESP8266 Microchip Technologyの 16ビットPICマイクロコントローラ STMicrolectronicsの STM32 と、書かれています。 PICでもできるみたいで、興味があります。
65 :774ワット発電中さん :2021/04/26(月) 23:59:40.75 ID:eOBlr0gA.net dsPIC 使うなら素直に SAM 使ったほうがいい。
66 :774ワット発電中さん :2021/04/27(火) 07:08:11.27 ID:i1l+rAOd.net マイコンの基本まずはアセンブラから。
67 :774ワット発電中さん :2021/04/27(火) 07:18:15.83 ID:6ZWoBj2F.net >>64 >>63 みたいな奴は相手しなくていいよ 単に知ったかしたいだけだしその知識も往々にして間違ってたり古かったりするから
68 :774ワット発電中さん :2021/04/27(火) 07:18:47.60 ID:qHu0luAM.net アセンブラなど甘え 基本ほバイナリエディタで機械語プログラミング
69 :774ワット発電中さん :2021/04/27(火) 07:41:29.86 ID:yKAKIVsE.net >>67 普通のPICで使えるやつあるの? PIC18とか。 きっと皆が知らない新しい情報持ってるんだろうね?
70 :774ワット発電中さん :2021/04/27(火) 07:43:32.19 ID:yKAKIVsE.net ちなみにCC32とSTM32がARMなのは知ってるよね?
71 :774ワット発電中さん :2021/04/27(火) 08:04:39.07 ID:Hj0vmFWK.net 5V対応不用でホビーならRaspberry Pi picoがお手軽じゃないかな MicroPythonはPythonと言っても仮想マシンだし、速くないし メモリの使用効率は良くないし、コンパイル用にPCがいる
72 :774ワット発電中さん :2021/04/27(火) 08:11:17.74 ID:6ZWoBj2F.net >>69-70 恥の上塗り乙 >>64 に > Microchip Technologyの 16ビットPICマイクロコントローラ って、誰でも調べられる普通の情報として書いてあるけど?
73 :774ワット発電中さん :2021/04/27(火) 08:18:54.94 ID:iuSMyn/b.net >>72 ねぇ、本当に分かって書いてる?
74 :774ワット発電中さん :2021/04/27(火) 08:26:10.92 ID:Bo2yxrLc.net 16bit PICって高くて性能悪い うんこ
75 :774ワット発電中さん :2021/04/27(火) 09:19:12.71 ID:AEf7qmNp.net PIC18Fは16bitじゃないな、俺が悪かった。
76 :774ワット発電中さん :2021/04/27(火) 11:07:11.79 ID:JNmjed4z.net >>73 で、何が言いたいの?
77 :774ワット発電中さん :2021/04/27(火) 12:13:32.13 ID:AEf7qmNp.net 現状、PICで使えるのはdsPIC33だけってこと。 だからSAM使ったほうがいいって書いた。
78 :774ワット発電中さん :2021/04/27(火) 16:15:09.88 ID:LxpeQz0T.net >>71 >5V対応不用でホビーならRaspberry Pi picoがお手軽じゃないかな 550円で安いですね。I/Oも周辺機能もあるしいいですね。 >MicroPythonはPythonと言っても仮想マシンだし、 これはどういう意味でしょうか。直接PythonでI/Oピンの H/Lができないのでしょうか? >速くないし メモリの使用効率は良くないし、 133MHzで動いているのに、遅いんですか? >コンパイル用にPCがいる PCなしでできるんでしょうか? C言語の代わりにPythonで書いて、ICSPで書き込めば自立で動く、 普通のPICマイコンとして使いたいのですが難しいでしょうか。
79 :774ワット発電中さん :2021/04/27(火) 16:36:10.84 ID:a+kjGvLV.net 人のことを知ったで知識が古いとか言うのにこういう間違いは指摘しないような連中しかいないからここでは何も得られないよ。
80 :774ワット発電中さん :2021/04/27(火) 17:25:18.84 ID:LxpeQz0T.net ありがとうございます。 でも、いろいろな話聞いて、私には情報になると思っています。
81 :774ワット発電中さん :2021/04/27(火) 17:42:27.16 ID:Bo2yxrLc.net 普通のPICマイコンとして使いたいなら 素直にC言語で組めば
82 :774ワット発電中さん :2021/04/27(火) 18:55:26.08 ID:D4ng2Xcw.net >>78 MicroPythonやmruby/cなどはPCでソースコードをバイトコードにコンパイルして マイコンにバイトコードとバイトコードを実行する仮想マシン(実質インタプリタ)を書き込んで動作させるからね Pythonコードが直接マイコン上で走るわけではないし、JITなわけでもないし、仮想マシンが使用する分のメモリが必要 効率はArduinoより悪いかも 以前にちょっと検討したことあるけどメリットを見いだせなかった。この辺を載せるくらいなら、もうちょっとがんばって Luaインタプリタを載せた方が使えそう。セルフ開発可能になるし
83 :774ワット発電中さん :2021/04/27(火) 19:25:34.65 ID:5Ib5o0sa.net >>79 何が間違いとも指摘できないお前のレスが一番無駄
84 :774ワット発電中さん :2021/04/27(火) 20:02:06.51 ID:5Ib5o0sa.net >>78 > これはどういう意味でしょうか。直接PythonでI/Oピンの H/Lができないのでしょうか? サポートされてればPythonコードだけでできる https://micropython-docs-ja.readthedocs.io/ja/latest/library/machine.Pin.html > 133MHzで動いているのに、遅いんですか? C言語とかのネイティブな奴に比べたら当然遅い Lチカぐらいなら問題ないけどそれなり処理をしようとしたら問題になるかも あとガベージコレクションするからタイミングがシビアなものは色々知識が必要になる > PCなしでできるんでしょうか? 基本無理 > C言語の代わりにPythonで書いて、ICSPで書き込めば自立で動く、 > 普通のPICマイコンとして使いたいのですが難しいでしょうか。 最低限そのボードにC言語のプログラムを書き込んで自立して動かせるスキルは必要
85 :774ワット発電中さん :2021/04/27(火) 20:16:03.61 ID:qHu0luAM.net 素直にC言語で組めば
86 :774ワット発電中さん :2021/04/27(火) 21:16:27.69 ID:LxpeQz0T.net >>82 ありがとうございます。 >(実質インタプリタ)を書き込んで動作させるからね マイコンにROM BASICを載せて、 1行1行読み込んで実行するようなものですか? >>84 ありがとうございます。 >>直接PythonでI/Oピンの H/Lができないのでしょうか? >サポートされてればPythonコードだけでできる >> 133MHzで動いているのに、遅いんですか? >C言語とかのネイティブな奴に比べたら当然遅い >Lチカぐらいなら問題ないけどそれなり処理をしようとしたら問題になるかも >最低限そのボードにC言語のプログラムを書き込んで自立して動かせるスキルは必要 それは何度もやって来たので大丈夫だと思います。 皆さんの話からすると、マイコンにはちょっと・・・という感じですね。 学校の授業でもPaython、本屋さんにはPaythonの本がたくさん。 Paythonの何が嬉しいのでしょうか。 初心者に分かりやすいからでしょうか。 アルデーノみたいに、他人の作ったモジュールを組み合わせると 簡単にできてしまうとか、そういうことですかね。
87 :774ワット発電中さん :2021/04/28(水) 00:45:53.25 ID:EXN7mB1X.net >>82 USBやシリアルでつないでREPLが動くでしょ。 PC側でコンパイルなんてしないよ。
88 :774ワット発電中さん :2021/04/28(水) 05:51:00.29 ID:UlMVDS4S.net >>86 > マイコンにROM BASICを載せて、 > 1行1行読み込んで実行するようなものですか? そこまで原始的じゃないよw コンパイルはするけどネイティブコードじゃなくて仮想マシン用のコードを生成するって話 古くはUCSD PascalからJavaやC#などでも使われてるやり方 ネイティブコードを吐くとか定数を定義するとかで高速化の方法はいくつかあるよ、詳しくは↓ https://micropython-docs-ja.readthedocs.io/ja/latest/reference/speed_python.html ただ、Pythonは言語仕様的に速度を重要視しておらずC言語とかに比べたらオーバーヘッドはかなり大きいのでホントに速度が重要なら素直にCで書いた方が楽だと思う >> 最低限そのボードにC言語のプログラムを書き込んで自立して動かせるスキルは必要 > それは何度もやって来たので大丈夫だと思います。 ならやってみてもいいと思うよ > Paythonの何が嬉しいのでしょうか。 オブジェクト指向とかコードがわかりやすいとか>>87 が言うインタラクティブに使ってハードのテストするとか色々あるけどあるけどぶっちゃけ流行りかなw >>87 MicroPythonでもREPL使えるんだな これは知らなかったわ
89 :774ワット発電中さん :2021/04/28(水) 07:37:45.56 ID:Xrk11elf.net >>87 てことはFlashAirみたいに生のソースコードを自力で解析して実行できるの?
90 :774ワット発電中さん :2021/04/28(水) 08:38:24.12 ID:EXN7mB1X.net >>89 PythonのコードをFLASHに置いて実行するのが本来の使い方。 テストする時はREPLが便利。 >>88 は何で VM にこだわってんの? .mpy を実行するのが VM だって言うならPCのPythonもVMだよ。 Micropyhon は単なるインタープリタ。 結構重いからマイコン側の能力が必要。だから下記が推奨される。 256KB以上のフラッシュ 16KB以上のRAM 80MHz以上のCPUクロック まあ、8bitマイコンでもメモリあれば実装は出来るかもな。 >>83 がいるからもう書かない。こいつはMicropython使ったことないだろ。 自分で実機いじったほうがいいよ。 ESP32オススメ。
91 :774ワット発電中さん :2021/04/28(水) 08:55:19.90 ID:6oG64p5i.net >>90 > >>88 は何で VM にこだわってんの? どう理解したらこだわってるように思えるんだろう… > Micropyhon は単なるインタープリタ。 仮想マシンとインタープリターの違いは? てか、むしろインタープリターにこだわり過ぎかと > >>83 がいるからもう書かない。 何が間違いかも書けないならそれが正解 とっととROMっててねw
92 :774ワット発電中さん :2021/04/28(水) 09:19:31.98 ID:jex1+UOH.net 回答者同士の喧嘩みっともないねえ
93 :774ワット発電中さん :2021/05/01(土) 18:10:03.52 ID:WlFJPGgI.net C言語の基本で、教えてください。 typedef と初めて接するのですが、分からないことがあります。 以下は、ネットにあったソースです。(作者さん、勝手に引用と改変すみません) #include <stdio.h> #include <stdlib.h> typedef enum{ RUNNING = '1', STOPPED = '2', FAILED = '3', HIBERNATING = '4' } MACHINE_STATE; // (a) int main(void) { int input1; MACHINE_STATE state; // (b) // char state; // (c) printf("type [1-4]: "); input1 = getchar(); state = input1; // (d) switch (state) { case RUNNING: printf("running\n"); break; case STOPPED: printf("stopped\n"); break; case FAILED: printf("fail\n"); break; case HIBERNATING: printf("hibernated\n"); break; default: break; } while(1){} } typedef unsigned char UCHAR と書くと、以降のところで UCHAR c; と書けば、unsigned char c; と同じ作用になると本などに書かれていました。まさにtypedefだと思います。 ところが上記のソースだと、typedef〜(a)までの間に、unsigned int とかの文字が書かれていません。 そして(b)で、MACHINE_STATE型でstsusという変数を取る、ということをしています。 ここまでの行でMACHINE_STATEが unsigned char なのか、intなのか、型のことに触れていません。 1. この場合、MACHINE_STATE は、何型になるのでしょうか。 2. このようなtypedefの使用は、(c)のように普通に取るのと比べて、どういうメリットがあるのでしょうか。 3. また、(d)の点で、input1を あえてstatusに入れ直していますが、これは、なぜなのでしょうか。 宜しくお願いします。
94 :774ワット発電中さん :2021/05/01(土) 18:43:26.08 ID:/bstjqti.net >>93 enum は 整数値。 char や int で宣言しないのは、変数の意図をわかりやすくするためじゃないですかね。 コンパイラや設定によってはワーニングを出してくれるのかな? ここに書かれている範囲だったら、いきなりstateにgetchar()値を入れても問題はなさそう。 でも、あとあとwhile(1){}の中に書き込んでいく意図があるとしたら、 その中でプログラムのステートを管理するstateはgetchar()でいきなりいじるのはしたくないはず。 getchar()は習慣的にいったんinput1みたいな変数に入れているのでは。
95 :774ワット発電中さん :2021/05/01(土) 19:13:54.75 ID:WlFJPGgI.net >>94 ありがとうございます。 >char や int で宣言しないのは、変数の意図をわかりやすくするためじゃないですかね。 確かに本にもそのようなことが書いてありました。 ただ、メンバーの名前では、unsigned char なのか unsigned int なのかがわからないと思うのです。 というか、unsigned int 一択で、unsigned charは無いということでしょうか? でしたら、納得しました。 いつも型ばかり気にしているので、型が分からない宣言は、とても心配でした。 なんだか unsigned int 一択が正解な気がしてきました。 >その中でプログラムのステートを管理するstateはgetchar()でいきなりいじるのはしたくないはず。 >getchar()は習慣的にいったんinput1みたいな変数に入れているのでは。 たしかに、直接は嫌ですね。入力値の評価をしてOKを確認してから採用ですね。 どうもありがとうございました。
96 :774ワット発電中さん :2021/05/01(土) 20:02:08.13 ID:iIkZG58X.net enum の型は基本intと同じ扱い ただし、 intの範囲を越えたらより大きな型になる コンパイラやコンパイラの設定によっては charから拡張していく物もある また、型を指定出来る物もある 詳細はコンパイラの仕様書を見て enumはenumとして別の値に直接キャストしない 特定の値、特定のサイズを仮定しない のが本来だけど 効率を考えるとそんな正論ばかりは言ってられない 単なる値の#defineの代わりにenumを使うこともある
97 :774ワット発電中さん :2021/05/01(土) 20:50:43.94 ID:WlFJPGgI.net >>96 ありがとうございます。 >単なる値の#defineの代わりにenumを使うこともある そうですよね。僕は逆でしたが、enumで並べるの代わりに、 #defineで数字を定義して使っていました。 数字の大小に意味は無いと思うのです。 >intの範囲を越えたらより大きな型になる そうなんですか。65535の次は42億....とか。 それででしょうか、状態遷移などのとき、enum で、 idle, wait, start, stop などと列挙して、if()で比較するときに、 if( さきほどの例のstatus == enumのメンバ ){ という比較をしている例がありました。 型の大きさが同じもの同士の比較なら、問題も起きないですよね。 どうもありがとうございました。
98 :774ワット発電中さん :2021/05/03(月) 09:27:09.29 ID:pkgzH+PI.net >>97 enum をtypedefするのは、その型の変数にはenumで定義した値しか入らないってことを明確にする意味がある だから、typedefした型の変数にintの数値を代入したり、intと比較するところがあったらおかしいってわかるようになる
99 :774ワット発電中さん :2021/05/03(月) 09:58:10.70 ID:zDkd5xOA.net >>98 Warning 出たりするんだっけ?
100 :774ワット発電中さん :2021/05/03(月) 10:18:53.66 ID:pkgzH+PI.net >>99 コンパイラによるけど、出る方が多いんじゃないかな
101 :774ワット発電中さん :2021/05/03(月) 14:33:11.64 ID:mqOsL7XC.net >typedefした型の変数にintの数値を代入 STM32CubeIDEのgcc(.cファイル)だと設定を厳しくしてもワーニングが出ないっぽい。 適当に書いたから最適化で無視されたかもしれないけど。 gpp(.cppファイル)はキャストがないとワーニングが出る。
102 :774ワット発電中さん :2021/05/03(月) 17:18:43.16 ID:RSupmAVS.net >>98 enumは、もともとint なんだから、 intを入れても問題ない。 何言ってんだか。
103 :774ワット発電中さん :2021/05/03(月) 17:50:38.46 ID:mqOsL7XC.net >>102 C++のようにワーニングが出るなら、 enumで定義されていない値を、おかまいなしに int値で入れるようなことをしたらわかるしね。
104 :774ワット発電中さん :2021/05/07(金) 11:16:06.87 ID:kksbdgks.net まとめ MicroPythonは、基盤となるマイクロコントローラハードウェアに依存せずに リアルタイム組み込みアプリケーションを実装したいと考える開発者にとって、 魅力的なプラットフォームです。 開発者は、MicroPythonで提供された標準ライブラリを使用して 高水準のPythonスクリプトを作成し、サポートされる任意のマイクロコントローラで実行できます。 これには、次を含む数多くのメリットがあります。 アプリケーションの再利用性が高くなる 市場投入までの時間を短縮できる アプリケーションとハードウェアを分離できる MicroPythonはあらゆるアプリケーションに最適というわけではありませんが、 産業用および宇宙システムのアプリケーションやプロトタイピング、概念実証では、 これまでに高い効果を発揮しています。 試してみたいけど、Windowsでできるのか・・・
105 :774ワット発電中さん :2021/05/10(月) 11:36:45.21 ID:Beqgrnvy.net MicroPythonかわええのう。。。
106 :774ワット発電中さん :2021/05/11(火) 01:51:46.13 ID:SfG1D8BW.net 3.5m 10kg
107 :774ワット発電中さん :2021/05/13(木) 20:48:43.27 ID:+acK5y/N.net 身長57m 体重550t
108 :774ワット発電中さん :2021/09/23(木) 14:24:43.82 ID:W2Zztq8n.net ポケモンをきっかけにマイコンに興味持ったんだけどhexファイルをなんとかしてATmega32U4系で使う方法ってない? 逆は出てくるんだが
109 :774ワット発電中さん :2021/09/23(木) 16:32:53.52 ID:hXa3fWDr.net ダメと君が判断した理由が逆に分からん。 HEXは入れ物に過ぎん。
110 :774ワット発電中さん :2021/09/23(木) 18:10:49.74 ID:uXorIzBn.net 何のhexファイルなんだろう。 なんかdocxファイルを手に入れたんだけど、卒論に使えるかな? みたいな。 HEXファイルは、世の中のさまざまなマイコンのプログラムや、ROMに書き込む データのフォーマットで、マイコンの機種が違ったり、同じマイコンでも、 マイコンの周辺の回路が違えば使えないと思った方がいいよ。
111 :774ワット発電中さん :2021/09/25(土) 01:02:00.77 ID:B3UKhayf.net >>108 マイコンの動作を考えて→プログラムにして→コンパイルをすると→機械語が生成されます。 その機械語ファイルの形式を、hexファイルと呼びます。 プログラム→コンパイル→機械語ファイル生成(hexファイル)という流れは逆行できません。 もちろん、あのマイコンで作ったhexファイルを、機種の違うマイコンで使うこともできません。
112 :774ワット発電中さん :2021/09/26(日) 07:41:26.99 ID:gfJIRlXL.net >>111 ファミコンのROMがPCで使えるのは何故なんだぜ?
113 :774ワット発電中さん :2021/09/26(日) 08:15:49.41 ID:KTdmPQI2.net 「逆」とは?
114 :774ワット発電中さん :2021/09/26(日) 10:17:41.98 ID:pfJ7cNaz.net 機械的にか人手かしらんがリソースかければ逆行できるよ。
115 :774ワット発電中さん :2021/09/26(日) 13:04:25.58 ID:Wsutz+Pw.net 逆コンパイルしてコンパイルしても動かないだろ 同じマイコンじゃなきゃ
116 :774ワット発電中さん :2021/09/26(日) 20:54:42.37 ID:ueyX8gs8.net >>112 それはもしかしてエミュレータ? だとしたら、パソコンの中にソフトウェア的にファミコンを作っているからできること。
117 :774ワット発電中さん :2021/09/28(火) 20:53:47.82 ID:/ygy3r6I.net マイコンも別のマイコンのエミュレータを走らせればいい。
118 :774ワット発電中さん :2021/09/30(木) 20:21:23.92 ID:8d2qIls7.net むかしのbasicみたいなもんか
119 :774ワット発電中さん :2021/10/02(土) 03:16:27.85 ID:8IVdH/BX.net 質問させてください。 ほとんどのマイコンで、複数のタイマーモジュールがあると思います。 この複数のタイマーは、どのような使用を想定して装備してあるのでしょうか? 例えば、main()処理中にtimer1割り込みが発生しました。その処理をします。main()に戻ります。 これは普通に使いますし便利な機能だと思いますが、timer1, timer2のつを動作させた場合、 timer1の割り込み処理中に、たまたまtimer2の割り込みが発生します。 優先順位が高ければtimer1の処理をそっちのけで、timer2を処理しに行きます。 timer2から戻ってtimer1が再開して、その後main()に戻ります。 通常はtimer1とtimer2の周期は違いますから、 多重割り込みが発生するときもあれば、しないときもあります。 そうすると、せっかくのtimer1の定時性が崩れてしまうと思うのです。 ではtimer1のpriorityを上げれば今度はtimer2の定時性が維持できないと思います。 timer1の処理中で、if( n++ > T2 ){ T=0; timer2の処理 } とやれば、timer1 1本なので、 どちらの定時性も確保できて良いと思うのですが、この考え方は間違っているでしょうか? 現実にtimerが5本も6本もあるところを見ると、私の考えは正しくないことは想像できるのですが、 学生時代からずっと疑問に思っているのでお尋ねしました。
120 :774ワット発電中さん :2021/10/02(土) 06:22:02.07 ID:oYrziDCk.net ・タイマーはいろんな用途がある 波形の幅測定、波形出力、ソフト処理用タイマー、フリーラン、... ・完全な一定間隔でのソフト処理は難しい 実行中の命令、割り込み禁止区間、多重割り込み、キャッシュ などにより命令サイクルレベルの一定間隔での処理は(ほぼ)不可能 >>119 の方法も、処理1の処理時間がifや可変数ループなどで一定でなければ処理2は一定間隔でなはなくなってしまう その程度のばらつきが許容される用途にしかソフト処理は使えない ・タイマーの共有 単純に使用リソースを減らす意味でタイマーを共有するのは一般的 規模が大きなソフトなら一定間隔で行いたい処理は100個以上にもなる ・割り込みの優先順位 どの程度処理が遅延していいか、どの程度処理に時間がかかるか、その処理のクリティカル性 などによって割り込み優先度を決める 許容遅延10usオーダーのタイムクリティカルな処理はタイマーA、1ms程度ならタイマーB、10ms以上ならメインループ のような階層にする
121 :774ワット発電中さん :2021/10/02(土) 08:55:20.38 ID:bv5wNIxJ.net >>119 そもそも多重割込で定時性が許容できないような処理を割り込みルーチンでやるなよって話
122 :774ワット発電中さん :2021/10/02(土) 09:24:45.81 ID:0GF1Hgct.net >>121 では、何でやるのか?
123 :774ワット発電中さん :2021/10/02(土) 09:51:28.17 ID:1w5HUi4V.net >>122 重たい処理はスレッドに通知してやらせるとかが普通かと
124 :774ワット発電中さん :2021/10/02(土) 09:56:55.09 ID:DubNlVS0.net 定時性ってどれぐらいを定時って考えるかによる。±1m秒ぐらいでOKなら、とか、±100nsでないといけないとか。 ひとつのタイマー割り込みでソフトウェアで分岐するやりかたもありだし、タイマーが少ないマイコンだったらそうしてた。 それでも、ソフトの処理の分岐や、タイマー割り込みルーチンに入るまでの時間ばらつきで、応答のばらつきはあるし 定時性のばらつきをどこまでを許容するのかを想定しないと。 たくさんのタイマーは、必ずしもそれぞれで別個の割り込み処理につかうわけでもない。 別のペリフェラルの直接に起動に使ったり、I/Oピンからタイマーの状態をソフトを介さずに使うこともあるわけだし。 定時性のばらつきは、クロックのジッター程度しか許さない。ってことだったら、そういう処理は外部デバイスに任せる しかないのでは。
125 :774ワット発電中さん :2021/10/12(火) 22:36:36.52 ID:Zyi07KWK.net 6800 6809 のアセンブリをやってみたいのですが、 フリーのアセンブラーってありますか? 6502 や 68000 もさわってみたい。チップがあるかわかんないけど。 CPU, PIO, TIMER, SCI ぐらいあれば、デバッグもできそうだし。
126 :774ワット発電中さん :2021/10/12(火) 23:50:04.21 ID:3u8hJyUM.net クロスカセルフカググレバアルダロ
127 :774ワット発電中さん :2021/10/13(水) 01:15:53.91 ID:W8t+3Ljn.net >>125 6502は秋月でも売ってる。 アセンブラもC コンパイラなんかもある。 ただ、ROMに書き込むのはどうするかとか、そもそも最初はCPUがROMやRAMを読めるのか?ってあたりからテストしていかないといけないから、それなりのスキルと道具は必要かな? トラ技でも以前6502マイコンボードを製作していて、スイッチパチパチしてRAMにプートローダを書き込んで、PC上で作成したプログラムをシリアルでダウンロードして動かすなんてやってたな。
128 :774ワット発電中さん :2021/10/13(水) 12:58:34.76 ID:Ppe+ESc8.net >>125 6800、6809、6502、68000のアセンブラで思い出したけど、 昔、汎用の(複数のCPUに対応している)メタ・アセンブラなるものがあった。 検索してみたらCross-32は今でもあるみたいだが、残念ながらタダではない。 https://www.cdadapter.com/cross32.htm
129 :774ワット発電中さん :2021/10/13(水) 14:17:43.78 ID:zppVI9Xo.net asm6809とかググれば一発目に出てくるが コレ 6309にも対応とか遊べそう
130 :774ワット発電中さん :2021/10/13(水) 22:32:30.48 ID:DqRc+I0p.net いまさらROMライタとか胸アツだわ もうやり方すらわからねえよ
131 :774ワット発電中さん :2021/10/13(水) 22:41:10.78 ID:S3Km3Sev.net イレーサーの蓋開けたときの オゾン臭がなつかしいにほひ
132 :774ワット発電中さん :2021/10/13(水) 23:04:56.71 ID:DqRc+I0p.net O-Zoneってマイヤヒーの? 苦しいな フラッシュ式で消すやつと紫外線で消すやつが有るのよね でROMライタでブランクチェックするのがルーティン
133 :774ワット発電中さん :2021/10/14(木) 08:38:24.37 ID:W7hqp+hl.net 昔は遊技機から外されたものと思しき窓付きの27256とかが出回っていたけど、 今ならどうするんだろう。FLASHとかEEPROMで代替かな。 実験だったらOTPは使いにくいし。
134 :774ワット発電中さん :2021/10/14(木) 10:06:55.37 ID:mfnB9au8.net 主計機は書き換えられんようマスクだったと思う。 演出用は何でもあり。
135 :774ワット発電中さん :2021/10/14(木) 11:20:07.43 ID:e9Y2oRTA.net 医療用のX線だったか粒子加速器だったかで消去を試みたが デバイス自体がお亡くなりになったという話を聞いたことがある。
136 :774ワット発電中さん :2021/10/14(木) 11:43:49.69 ID:qhJ7+EUA.net あれは特定波長の紫外線が必要 ブラックライトじゃ消えないよ 消毒用じゃないとだめ
137 :774ワット発電中さん :2021/10/14(木) 12:58:56.76 ID:vCd/VNFa.net うちは自作したのがあるな。 といっても、紫外線ランプと安定期、グローランプをつないだだけだけど。 今ならレジン用のが手芸用品店で手に入るかな?
138 :774ワット発電中さん :2021/10/14(木) 14:12:33.24 ID:XPghmWAe.net なんか料理してるみたいな感じだった あれはあれで味があったな 面倒だけど
139 :774ワット発電中さん :2021/10/14(木) 14:23:11.47 ID:73ojIRPK.net 床屋にお願いする
140 :774ワット発電中さん :2021/10/14(木) 14:26:50.57 ID:fiiaFuVh.net 普通にROMイレーサーの製品を使ってたわ 測定器と同じ括りになるから自作じゃ無くて銘板が貼ってある製品
141 :774ワット発電中さん :2021/10/14(木) 14:59:21.16 ID:vCd/VNFa.net ストロボ式で、すぐ消えるっていうのもあったけど、一回では上手く行かなかったり、色々あったな。
142 :774ワット発電中さん :2021/10/14(木) 15:23:19.77 ID:XPghmWAe.net ストロボは寿命削る
143 :774ワット発電中さん :2021/10/14(木) 16:25:53.73 ID:RVcC66rP.net トラ技のコラムか何かで 新製品発表会で製品を動作させてるとき、撮影でフラッシュをたかれたら誤動作してしまい UV-EPROMに遮光シールを貼ってなかったから、みたいな話があったな
144 :774ワット発電中さん :2021/10/14(木) 16:28:45.59 ID:XPghmWAe.net 光で発電するからね LEDも光当てると発電する 意外とこれ知られてないんですけど
145 :774ワット発電中さん :2021/10/14(木) 19:06:31.33 ID:wkfYJM3F.net ちょっと前(と言ってももう5年以上前か…)にもRaspberry-Piでフラッシュ炊いたら誤動作するとかあったしね https://gigazine.net/news/20150210-raspberry-pi-2-death-flash/
146 :774ワット発電中さん :2021/10/14(木) 20:49:00.18 ID:RbwE/uUN.net ストロボの方が合ってるの?フラッシュ(メモリじゃ無い)の方が合ってるの? 言葉はどうでも良いのだけど、発光させて(たしか10回くらいだった)消すやつが有ったけど消えたり消えなかったりでブランクチェックする手間考えたらUVのイレーサー使ってた あっちの方が確実だった
147 :774ワット発電中さん :2021/10/14(木) 21:12:59.89 ID:OTASGT7v.net 開発時はローテさせてやってたな ROMエミュは便利だった
148 :774ワット発電中さん :2021/10/14(木) 21:34:00.45 ID:RbwE/uUN.net 底辺職やってたとき開発じゃ無くてマスターROMを空のROMへコピーする簡単なお仕事してました
149 :774ワット発電中さん :2021/10/15(金) 00:00:28.78 ID:oeqqk5js.net フラッシュっていうのは、本来は使い捨てのフラッシュバルブ(閃光電球) を使った奴のことなんだろう。 アセンブルし直すとすごい時間がかかるのと、開発装置自体が取り合いに なるので、今みたいにソースを修正して再アセンブルなんてできなくて、 ROMライター使って、パッチあてるなんていうこともやってたな。 命令コード記憶していたしね(笑)
150 :774ワット発電中さん :2021/10/15(金) 00:14:54.48 ID:9ziI5L0z.net いいや、ストロボタイプのが商品としてあったよ。
151 :774ワット発電中さん :2021/10/15(金) 13:27:06.75 ID:oeqqk5js.net そう、ストロボタイプの商品もあった。 でも、実際に使うとEPROMの不良が多発して使うのをやめたっけな。 「やっぱり、じっくりこんがり焼かないと駄目なんだね」なんて言いながら・・
152 :774ワット発電中さん :2021/10/23(土) 20:13:37.43 ID:WbIPtmSs.net 日焼けサロンで大量に消去w
153 :774ワット発電中さん :2021/10/27(水) 06:50:32.71 ID:lpHc72IE.net >>152 開けたらズラーっとUV-EPROM? ちょっと怖いかも笑
154 :774ワット発電中さん :2021/10/27(水) 09:20:21.38 ID:5+AEr8GP.net 日焼マシーンに殺菌灯を仕込んだらやばいぞ
155 :774ワット発電中さん :2021/10/27(水) 21:10:23.08 ID:lpHc72IE.net >>154 紛れもなく紫外線ランプなわけだが。
156 :774ワット発電中さん :2021/10/27(水) 23:52:10.66 ID:3Ihs82vj.net 波長が違うんだな
157 :774ワット発電中さん :2021/10/28(木) 10:51:09.80 ID:9FUJ0Qzt.net >>156 でも、なんとなくいけちゃうよね
158 :774ワット発電中さん :2021/11/14(日) 03:53:16.31 ID:yAa+pXJ2.net 昔、IA80というコンパイラーって無かった? たしかフロッピーベースで動くという。 それで6801のソフトをやっていた。
159 :774ワット発電中さん :2021/11/14(日) 08:42:32.75 ID:ikqTiLW1.net コンパイラはないだろ PROASM(IA80 アセンブラ、IR80 リンカ)じゃないの?
160 :774ワット発電中さん :2021/11/14(日) 10:28:08.09 ID:WITMEx6M.net 昔はたいていフロッピーで動作してたよ。 BDS CとかLSI-C 80とかあったよな。 パソコン用でもMS-C、Lattice C、Turbo C/C++、LSI-C 86 をフロッピーで使ってた。
161 :774ワット発電中さん :2021/11/14(日) 13:31:28.48 ID:Zvx4gcNT.net RAMdisk便利だった
162 :774ワット発電中さん :2021/11/14(日) 13:31:46.21 ID:Zvx4gcNT.net CP/Mとかはそれ以前の問題だったね
163 :774ワット発電中さん :2021/11/14(日) 14:09:09.72 ID:lb5TPHkF.net Kコンパイラ
164 :774ワット発電中さん :2021/11/14(日) 14:17:12.99 ID:lXVDtkbt.net RAMはディスクではなくありません
165 :774ワット発電中さん :2021/11/14(日) 14:21:35.53 ID:WITMEx6M.net >CP/Mとかはそれ以前の問題だったね それ以前の問題、ってどういう意味?
166 :774ワット発電中さん :2021/11/17(水) 13:31:35.82 ID:Fd63G+VL.net >>160 その当時から、構造体とか共用体、ポインターもあったんですか?
167 :774ワット発電中さん :2021/11/17(水) 16:46:33.07 ID:SPj/eat2.net >>166 あった。 というか、Cって高水準アセンブラみたいなものだからね。 ポインタがあってこそのCって感じで。
168 :774ワット発電中さん :2021/11/17(水) 17:09:01.81 ID:SPj/eat2.net ちなみに、構造体はアセンブラにもあったりしたよ
169 :774ワット発電中さん :2021/11/17(水) 17:43:10.39 ID:NtZocBuq.net CP/M の BDS-C だったか α-C だったかの本まだあるかな 探してみよう
170 :774ワット発電中さん :2021/11/17(水) 20:34:52.17 ID:xR2x+c06.net そうだ。BDS-Cの廉価版がα-Cだった。
171 :774ワット発電中さん :2021/11/17(水) 21:08:50.43 ID:sKQ9bB0c.net おまいらスレタイ
172 :774ワット発電中さん :2021/11/18(木) 09:17:22.92 ID:0N/d3pRO.net >>171 すまん。たしかα-Cは、BDS-Cと違って、何かのファイルが付いてなくてROM化ができなかった。
173 :774ワット発電中さん :2021/11/19(金) 03:10:14.98 ID:OIM717kF.net 始める前は なんでROMライターは10個も一度に消去できるんだろう? って思ったけど、 自分でやり出したら、すぐに理由がわかった。 その後FLASH ROMになったときは、考えた人スゲエと思った。 オンボード書き込みになった時は、考えた人 天才だと思った。 進歩していないのは、俺だけ。
174 :774ワット発電中さん :2021/11/19(金) 07:26:47.62 ID:5YgN3YuT.net >進歩していないのは、俺だけ。 そうか? 理由がわかったとき、スゲエと思ったとき、天才だと思ったとき、進歩してないと自省したとき、 全部自分をアップデートしてるよ。
175 :774ワット発電中さん :2021/11/19(金) 08:44:53.89 ID:OXCZlBXy.net フラッシュでROMを消去するのがあったから フラッシュメモリは消去するフラッシュが内蔵されてるんだと 思ったのはオレだけじゃないはず。
176 :774ワット発電中さん :2021/11/19(金) 11:29:49.14 ID:6LvHt8pi.net DRAMが破壊読み込みなのに読み込みでリフレッシュされるという書き方に納得がいかなかったけど、仕組みを見て、そういうことか!と思ったっけな。 UV-EPROMとかフラッシュのフローティングゲートも、そんなんで本当に大丈夫なん??と思ったっけ。
177 :774ワット発電中さん :2021/11/19(金) 11:58:46.02 ID:WZvH5n/U.net なぜ消去すると1と決めたんだろう、別に0でも構わなそうなのに 電子がある=マイナス=0?
178 :774ワット発電中さん :2021/11/19(金) 22:17:29.49 ID:DdrhOrAB.net >>86 速度遅くても、用途によっては十分だから。
179 :774ワット発電中さん :2021/11/20(土) 05:27:02.76 ID:cewueCFO.net >>178 > 速度遅くても お前のレスが遅すぎやろ…
180 :774ワット発電中さん :2021/11/20(土) 13:27:02.98 ID:OXCEivfi.net >>179 うまい
181 :774ワット発電中さん :2021/11/21(日) 05:08:41.58 ID:DeRCLPQE.net Pythonでマイコンのプログラムを書くのが流行っているみたいだけど、 I/Oアクセスの記述は、どのように書くんでしょうか?
182 :774ワット発電中さん :2021/11/21(日) 10:05:33.36 ID:GXU8v5Nw.net 環境によって違うけど例えばこんなのとか # モジュールインポート import board import digitalio import time # ピンの出力設定 led = digitalio.DigitalInOut(board.D13) led.direction = digitalio.Direction.OUTPUT # 点滅の繰り返し while True: led.value = True time.sleep(1.0) led.value = False time.sleep(1.0) https://stardust-news.net/research/1199/
183 :774ワット発電中さん :2021/11/21(日) 12:56:25.90 ID:LkZt03mT.net C言語でISR内部で任意のデータを使いたい場合ってグローバル変数を経由するしかない? グローバル変数がどんどん増えていってイマイチな感じなんだけど・・・
184 :774ワット発電中さん :2021/11/21(日) 13:24:02.73 ID:htg43Llp.net たくさんのことをISRの中でやること自体が間違い
185 :774ワット発電中さん :2021/11/21(日) 14:01:42.56 ID:LkZt03mT.net 例えば通信のISRだとポインタと長さとカウンタはISRごとに持たないと仕事にならない 長さとカウンタを終端ポインタにすれば1個節約できるけどスコープ外でデータを保持する必要ある 状況は変わらない ISRだけでなく非同期的な動作を実装しようとすると同じ状況になるような
186 :774ワット発電中さん :2021/11/21(日) 14:10:23.11 ID:S8AvjDHA.net シグナルでもキューでも好きに実装するがよろし。
187 :774ワット発電中さん :2021/11/21(日) 18:18:28.49 ID:lZroBukD.net >>181 それ用の関数有るのでは?
188 :774ワット発電中さん :2021/11/21(日) 19:18:52.41 ID:7IDS3OlA.net >>185 クラスか構造体にまとめる オブジェクト指向が分からんなら勉強しろ
189 :774ワット発電中さん :2021/11/22(月) 07:02:26.52 ID:B11GBBKv.net >>183 関数内でstatic宣言してみそ。
190 :774ワット発電中さん :2021/11/22(月) 08:39:14.26 ID:CyP6Mn2x.net >>183 が言ってる任意のデータは、「ISR内で使うローカルな任意の変数」ではなくて、 「プログラム全体の中の任意のデータ」のことでは?
191 :774ワット発電中さん :2021/11/22(月) 09:11:13.85 ID:H7xo4CpU.net >>190 >183じゃねぇんだし、単に「ISR内部で任意のデータを使いたい場合」としか 言ってないんだから、そんなこと知らねぇやな。 だいたい、「プログラム全体の中の任意のデータを使いたい」 としたって、「任意のデータ」ってそもそも何だ? 「自分は悪くない、エスパーしてくれないスレ住人が悪い」 とか言い出しちゃうのかな?
192 :774ワット発電中さん :2021/11/22(月) 13:54:39.62 ID:6g/zWjnY.net ひとまずデータを渡す部分と使う部分を同じファイルにして staticを付けたグローバルな構造体にしてみました >>189 staticを関数内で付けたら外部からデータを書き換えられなくない?
193 :774ワット発電中さん :2021/11/22(月) 14:15:03.76 ID:fx1PeWp3.net 任意のデータ なんて質問するヤツに回答しちゃダメ っていう良い例
194 :774ワット発電中さん :2021/11/22(月) 16:50:25.50 ID:CyP6Mn2x.net 「任意の」の意味をどうとらえるかだけど、答える立場として範囲やニュアンスが分からないなら質問者に聞けばいいのでは。 双方向のコミュニケーションができるのが掲示板なんだし。 新聞や雑誌のQ&Aコーナーでも、ものによったら Answer の掲載にあたって編集部から質問の意図の確認があるのに。 もちろん回答しちゃダメって思うのも自由だし、そんな人は答えなきゃいいだけで、他の答える気持ちがある人が答えればいい。
195 :774ワット発電中さん :2021/11/22(月) 20:16:44.47 ID:5FAC8FWx.net 長文書いてる暇があったら お前が答えてやれよ
196 :774ワット発電中さん :2021/11/22(月) 20:35:16.95 ID:CyP6Mn2x.net もう答えは182までで出きってるがな…。
197 :774ワット発電中さん :2021/11/22(月) 20:42:32.73 ID:5FAC8FWx.net 質問の答えになってない
198 :774ワット発電中さん :2021/11/22(月) 21:27:09.85 ID:v1yf+7Fj.net 教えてください。 最近の自動車のウインカーは「流れるウインカー」が多いです。 右折時は→→→→→、左折時は←←←←← という感じです。マイコンでプログラムしたことがあります。 しかし、今日信号待ちで見た前車のウインカーは、トランクと車体を「またぐように」、 ウインカーが流れていました。下の図のような感じです。 https://imgur.com/a/FJdlKax これは、どのようにして流しているのでしょうか? ・車体側にあるマイコンの線がトランクに行っているのでしょうか? パラレル点灯だとすると何本もの線がトランクの「腕」の部分を通ることになり、現実的でないです。 ・トランク側マイコンとボデー側マイコンが、シリアルで繋がっていて、 どちらかが親になって子に「お前の点灯の番だ、今だ、行け」と指示しているのでしょうか? ・トランク側マイコンとボデー側マイコンが、車内のCANとかLINで繋がって動いているとしたら ウインカーのデータ通信で通常のCAN通信の邪魔になりそうです。 どうなっているのでしょうか?
199 :774ワット発電中さん :2021/11/22(月) 21:38:49.58 ID:5FAC8FWx.net ここで聞く内容?
200 :774ワット発電中さん :2021/11/22(月) 21:46:13.53 ID:v1yf+7Fj.net すみません、どこで聞くのが適切でしょうか?
201 :774ワット発電中さん :2021/11/22(月) 21:48:05.20 ID:5FAC8FWx.net わからん
202 :774ワット発電中さん :2021/11/22(月) 21:48:24.85 ID:5FAC8FWx.net 車板?
203 :774ワット発電中さん :2021/11/22(月) 21:56:11.04 ID:v1yf+7Fj.net 車板で、こんなに詳しい内容がわかりますでしょうか? 電気以外のスレだと、オーディオ板のように、電気の素人が多い気がするのですが。
204 :774ワット発電中さん :2021/11/22(月) 22:16:07.54 ID:5FAC8FWx.net マイコンスレに車関連の具体的な実装方法がわかる人がいるとは思えないけど 想像で語るだけなら出来ても
205 :774ワット発電中さん :2021/11/23(火) 06:16:55.95 ID:qyhHMrrj.net >>198 W2815とか使ってるのでは?
206 :774ワット発電中さん :2021/11/23(火) 07:51:32.77 ID:wCw4F2gj.net >>198 の疑問は途中で切れている部分がどう連携しているか、じゃないかな。 ウィンカー部分だけでなんらかの通信をしてるのかな?と思ったけど、誤動作が怖い。 ↓これに一票。(多数決じゃないけど) >トランク側マイコンとボデー側マイコンが、シリアルで繋がっていて、
207 :774ワット発電中さん :2021/11/23(火) 10:08:41.04 ID:eN0Kvnis.net こう言うやつを使ってるんじゃね ボディ側とトランク側をカスケードすればいいだけ https://www.rohm.co.jp/products/power-management/led-drivers/constant-current-serial-in-parallel-out/bd18362efv-m-product ウインカーは保安部品でシビアだからマイコンでもやれるけど結構面倒だよ
208 :774ワット発電中さん :2021/11/23(火) 11:35:05.84 ID:qmmASUXK.net >>205 ありがとうございます。 W2815が探せませんでした。 >>206 ありがとうございます。 >トランク側マイコンとボデー側マイコンが、シリアルで繋がっていて、 ですよね。 でも、そのために線を1本通さなくても、車内の通信で・・・とも考えたのですが。 >>207 ありがとうございます。 >ボディ側とトランク側をカスケードすればいいだけ ボディ側とトランク側はそれで行けそうですね。 しかし前の左右、ミラーの左右とも同期する必要がありますので、 どうなっているかな、と思っています。 >ウインカーは保安部品でシビアだからマイコンでもやれるけど結構面倒だよ ありがとうございます。 こんな専用ICがあるんですね。 LEDの流れる速度を、外部コンデンサで決めているのも意外でした。 LEDの短絡オープンの処理もしてくれるんですね。 ハザードなど、車両全部を同期させるのは、車内通信のECUからの指示で このICが動けば、人間には同時に見えるかな。 規格を通す労力とかも考えると、マイコンでやるより安価に仕上がるのかもしれませんね。
209 :774ワット発電中さん :2021/11/23(火) 11:45:29.00 ID:wCw4F2gj.net >W2815が探せませんでした。 >>205 さんが言ってるのは、WS2815。彼が言おうとしたことはわかったので、Sが抜けてても分からなかった。 https://akizukidenshi.com/catalog/g/gI-16028/
210 :774ワット発電中さん :2021/11/27(土) 13:55:19.48 ID:OPe/BU1p.net iPhoneとかも、マイコンで動いているのでしょうか? それともミニPCといった方が適切でしょうか?
211 :774ワット発電中さん :2021/11/27(土) 14:08:53.51 ID:GYjGtQPk.net はい
212 :774ワット発電中さん :2021/12/02(木) 04:16:47.97 ID:5U3dW78S.net >>210 ほぼPCだと思う
213 :774ワット発電中さん :2021/12/02(木) 07:22:31.22 ID:7x0tcWNg.net マイクロプロセッサな
214 :774ワット発電中さん :2021/12/02(木) 07:33:08.58 ID:21P36iK8.net >>210 好きに呼べばいいよ
215 :774ワット発電中さん :2021/12/02(木) 07:37:29.93 ID:uyOAJtND.net SoC MPU CPU
216 :774ワット発電中さん :2021/12/02(木) 08:19:56.29 ID:9Thtls5T.net パソコンは自分で組立てたりできますが スマホでそういうのってないんでしょうか
217 :774ワット発電中さん :2021/12/02(木) 08:42:56.63 ID:rCRb4zga.net ない
218 :774ワット発電中さん :2021/12/02(木) 08:44:15.08 ID:rCRb4zga.net RaspberryPiとセンサで似たような事は出来るが それはスマホとは言わん
219 :774ワット発電中さん :2021/12/02(木) 09:21:41.44 ID:I2pTaP+w.net Fairphone みたいな試みはあるけれど、それとてFairphone内の自由度でしかない。 >>216 が望んでいるのは、いろいろなメーカーのモジュールやケースを組み合わせて 好きなスペックのものを作ることだと思うがそれとは程遠い。 それができるようになるためには、それぞれの部品の切り分けや、インターフェース 形状が高度に標準化されていないといけない。それであっても、違うメーカーの ものを互いに接続できるようにするためには、電気的にも空間的にも余裕を大きく しないといけなくなる。結果として、大きくて重くて消費電力が大きいものになるだろうね。 たぶんそれは商売として成立するほどに売れないぐらいにしか、少数のユーザーに しか支持されないだろう。 というか、パソコンでさえ、デスクトップPCでしか自作PCは普及してないよね。 超軽量薄型ノートPCだと、スマホと同じように、メーカーを超えた自由度の高い部品の 組み合わせは難しくなってるし。
220 :774ワット発電中さん :2021/12/02(木) 09:48:07.18 ID:fw3fO/hI.net >>217 https://weekly.ascii.jp/elem/000/002/636/2636462 Google もやろうとしてたよ。
221 :774ワット発電中さん :2021/12/02(木) 15:56:08.33 ID:VBxgoYzM.net >>216 auになっちゃうけど https://www.nikkansports.com/general/info/img/photo-140401.jpg
222 :774ワット発電中さん :2021/12/03(金) 15:31:13.10 ID:JVBr/5u/.net >>220 Googleの、懐かしいね。 USB機器とかが本体問わずに使えるみたいに、たとえば手帳型のケースで拡張部分のスロットに自分の好きなものを選んで装着して使える程度でも良いかなあとは思うわ。
223 :774ワット発電中さん :2021/12/03(金) 19:45:44.46 ID:DgtDKS50.net バッテリー大中小くらいあってもいいと思う。
224 :774ワット発電中さん :2021/12/03(金) 21:15:53.83 ID:AWVPNRkF.net 日本では大しか売れない予感
225 :774ワット発電中さん :2021/12/04(土) 17:38:52.65 ID:UAXsnQSO.net 小が今の標準的なバッテリだとしたら。 平野ノラが持ってたようなスマホとか。
226 :774ワット発電中さん :2021/12/04(土) 19:44:23.91 ID:smcUHLOK.net 大はショルダーバッグ型ですねw
227 :774ワット発電中さん :2021/12/06(月) 06:28:11.61 ID:sCCAXKRw.net ショルダーホン RJX-601を思い出してたわ。
228 :774ワット発電中さん :2021/12/08(水) 19:42:05.50 ID:SDmPhswt.net CNCのステッピングモーター制御で、円弧をブレゼンハムのアルゴリズムを用い 1ドット=1ステップでウエイト時間を等間隔で移動した場合、速度は一定になると思われますか?
229 :774ワット発電中さん :2021/12/08(水) 23:41:58.68 ID:SDmPhswt.net https://i.imgur.com/8Kw8D73.png 実装して1/4円弧を1ステップ毎にatan2で中心との角度=青、前ステップとの差=赤 固定じゃ駄目ぽい
230 :774ワット発電中さん :2021/12/08(水) 23:45:42.33 ID:SDmPhswt.net ステッピングモーターはステップと言う解像度があるから、結局ブレゼンハムで ウエイト時間を調整するのがベターだと思うんですが、そう言うわけでも無いのかなぁ
231 :774ワット発電中さん :2021/12/09(木) 02:28:14.83 ID:oTvPtU3i.net お歳暮には、ニッポンハム
232 :774ワット発電中さん :2021/12/09(木) 10:32:08.49 ID:ZUsevyw9.net ペンキなら日本ペイント 自分を売る
233 :774ワット発電中さん :2021/12/09(木) 11:37:23.61 ID:/XZmfRXS.net 第二軸のその0.1未満の際がどれほど深刻なのかが用途も知らんし わからん だから 僕は円周率≒3の男だから ほぼ等速「とみなせる」ように見えた(^p^) ※なにもしらない個人の、個人的な印象です。 効能・効果を保証するものではありません
234 :774ワット発電中さん :2021/12/09(木) 12:23:03.55 ID:SDkFKd1T.net >>233 1ステップで何度進んだかで、山はXY同時に斜めに進んだ時出来、底は方軸のみだと思われます 端が1ステップ0.25度強、中心の辺りは0.35度強とすると1.4倍近い差があります
235 :774ワット発電中さん :2021/12/09(木) 13:06:45.69 ID:/XZmfRXS.net そりゃ、45度(π/4[rad])位置は一ドットの対角線、 一辺の√(2)倍なんだから0度や90度の時に比べれば 細かく言えば約1.4倍の移動距離になりますわなぁ。 ・・・でも、半径に対して十分に画素が小さく細かけりゃ 無視できるんじゃね?(はなほじ https://o.5ch.net/1voqa.png
236 :774ワット発電中さん :2021/12/27(月) 16:06:19.16 ID:54jlNCKi.net マイコンでPCやスマホ向けの画像を扱おうとするとマジでメモリがきついな PC用のアルゴリズムだとまともに動かないのも少なくないし リサイザー作るだけで大事だわ
237 :774ワット発電中さん :2021/12/28(火) 07:32:26.69 ID:MzUOlZ2C.net ワンチップCPUの用途を間違えてないか?
238 :774ワット発電中さん :2021/12/28(火) 13:23:08.88 ID:us4a63h3.net 確かにSBC使うかメモリを外付けするのが簡単だけど ttps://www.stmcu.jp/design/hwdevelop/discovery/51732/ ttps://www.renesas.com/jp/ja/products/microcontrollers-microprocessors/rx-32-bit-performance-efficiency-mcus/rx72n-envision-kit-rx72n-envision-kit あたりの大画面フルカラー液晶とEthernetと大容量ストレージを接続出来るフラッグシップマイコンはその領域に片足突っ込んでいるのでは ttp://elm-chan.org/junk/32bit/report.html ttp://elm-chan.org/fsw/tjpgd/00index.html あたりの例を見てもアルゴリズム上の問題に見えるし
239 :ウルトラスーパーハイパーエターナルライアモンバーストモードGX×9 :2022/01/16(日) 20:45:35.68 ID:6vcT805j.net 僕だったら重要人物を再評価するよ。 僕だったら重要人物を再吟味するよ。 僕だったら重要人物を再検討するよ。 僕だったら重要人物を再検査するよ。 僕だったら重要人物を再審するよ。 僕だったら重要人物を再調するよ。 僕だったら重要人物を見直すよ。 僕だったら重要人物を調べ直すよ。 私に於いてはデジタル空間が好きだよ。 私に於いてはデジタル空間が大好きだよ。 私に於いてはデジタル空間が御好みだよ。 私に於いてはデジタル空間を愛好するよ。 私に於いてはデジタル空間を嗜好するよ。 私に於いてはデジタル空間を友好するよ。 勿論ネプトゥーンモンは楽しいよ。 無論ネプトゥーンモンは面白いよ。 当然ネプトゥーンモンは愉快痛快だよ。 一応ネプトゥーンモンは心嬉しいよ。 多分ネプトゥーンモンは喜べるよ。 必ずネプトゥーンモンは斬新奇抜だよ。 絶対にネプトゥーンモンは新機軸だよ。 確実にネプトゥーンモンは個性的だよ。 十割ネプトゥーンモンは画期的だよ。 100%ネプトゥーンモンは独創的だよ。 寧ろ逆にネプトゥーンモンはワクワクドキドキするよ。 他に別にネプトゥーンモンはハラハラドキドキするよ。 例え仮に其れでもネプトゥーンモンはクリエイティブだよ。 特にネプトゥーンモンはドラマチックだよ。 もしもネプトゥーンモンはエキサイティングだよ。
240 :774ワット発電中さん :2022/01/17(月) 08:02:19.32 ID:cmAggDjM.net >>237 それってH8の時代の認識じゃないですかね。
241 :774ワット発電中さん :2022/01/18(火) 13:17:17.17 ID:bwTfa8TH.net H8もワンチップマイコンの範疇なのん?
242 :774ワット発電中さん :2022/01/18(火) 15:29:52.13 ID:CGlGXnum.net H8はワンチップだろ。 SHは違うけど。
243 :774ワット発電中さん :2022/01/26(水) 12:47:13.34 ID:6oBp7Ud9.net C言語の質問があります。 マイコンは、昔に秋月製のH8マイコンを触ったことがあるだけです。 ↓をみてください https://imgur.com/upXwfNZ.jpg Microchip社のdsPIC33マイコンの、AD変換器のヘッダファイルの一部です。 共用体はビット幅が合っていないといけないと思うのですが、 bit幅が違っても、また対応するメンバーが無くても、コンパイラが通ります。 実際のハード上ではCH0SAは5〜0の6bitあるのに、下側には5bit目がないのです。 宜しくお願いします。
244 :774ワット発電中さん :2022/01/26(水) 13:11:20.19 ID:egi8N/Hj.net >共用体はビット幅が合っていないといけないと思う それは何処ソースの情報ですか?
245 :参考: :2022/01/26(水) 13:15:34.87 ID:egi8N/Hj.net ーーー以下引用、邦訳K&R(第二版)P.179 より抜粋> union u_tag{ int ival; float fval; char *sval; } 変数uには、三つのタイプの内最大値を保持できるだけの十分なスペースが取られる。 <ーーーー 以上引用
246 :u; が抜けてたスマン :2022/01/26(水) 13:17:33.44 ID:egi8N/Hj.net char *sval; } u;
247 :774ワット発電中さん :2022/01/27(木) 12:19:08.21 ID:byrkz19m.net 周辺機能レジスタのアドレスやビットアサインに対して間違った構造体型でコーディングしてたとしてもコンパイルは通るよ 言語の構文が合ってればね マイコンで実行したら周辺機能が意図通り動かなかったり不正アクセス例外が発生したりするけど その画像だと5ビット目を1ビット単位でアクセスすることがソフトウェア上できないってだけ もしこれがハードウェアの仕様(リザーブビットになってるとか)を反映してるわけではなくコーディング誤りだとしたら自分で修正すればいい
248 :774ワット発電中さん :2022/01/27(木) 14:19:32.87 ID:FtdRaxKJ.net 画像の報に質問箇条書きがあったんやな (1)上位に余りがあっておk (2)おそらく下位五ビットにしかビットアクセスする必要がないという事なのでせう。 (3)差があっても おっけー (4)対応するものなんて別になくてもいい。 必要になったなら、241さんの仰るように、(既存のユニオンのメンバーを編集するなり 別途 三つ目のユニオンメンバーを追加して)定義すればええんやで。
249 :774ワット発電中さん :2022/02/12(土) 22:59:39.56 ID:Gm8I2xkX.net 教えて欲しいことがあります。CAN通信のマスクとフィルタについてですが、 なぜマスクが必要なのかわかりません。ハードウェアでやるのですから マスクを0x7FFで全開にして、フィルタで全部比較すればいいと思うのですが、 ダメでしょうか? あと、フィルタで0x333を設定して、0x333が来たらデータを付けて SID=0x333の返信をするのは、自分で自分のの尻尾を追いかけるような動作に なってしまって、禁止でしょうか?
250 :774ワット発電中さん :2022/02/12(土) 23:16:40.96 ID:Gm8I2xkX.net >>249 です。マスクとフィルタの県は、わかました。 以前はマスクとフィルタの機能をCPUソフトウェアで実現していたからですね。 CPUの負担軽減のためにハードでそれらを実行するようになったとのことです。 どうもありがとうございました。
251 :774ワット発電中さん :2022/02/13(日) 10:41:29.04 ID:ZmXnaUmp.net マスクだ https://www.youtube.com/watch?v=P7kOeNkjShc&t=124s
252 :774ワット発電中さん :2022/02/15(火) 09:28:17.41 ID:oLCIAbbR.net リモートフレームで検索してみて
253 :774ワット発電中さん :2022/03/10(木) 02:16:58.23 ID:hbbWVr09.net C言語で、AAA.c とBBB.cという2つのソース間で AAA.cに実体の uint16_t hoge; と書いて、 BBB.cにextern uint16_t hoge; と書くとグローバル変数で使えると思います。 #define を両ファイルで使いたいときは、どのような記述になるのでしょうか? #define hage 10 を両ファイルで使いたいときは、どのような記述になるのでしょうか? AAA.cで数値を変えれば、自動的にBBB.cでも反映させたいです。
254 :774ワット発電中さん :2022/03/10(木) 02:19:49.47 ID:yQcOlVqb.net ZZZ.hにdefine書いて、全ソースでインクルード。
255 :774ワット発電中さん :2022/03/10(木) 10:03:14.92 ID:Sp3+s9L2.net static と extern の話かと思ったが全然違ったな っていうか include 覚えたニワカが static 書かないと詰むぞ
256 :774ワット発電中さん :2022/03/10(木) 14:25:37.42 ID:KhHGBysC.net >>253 です。 >>254 ありがとうございます。 なるほど、#includeすれば ZZZ.h の中の #define 値を変更すれば、行けそうですね。 実は、AAA.c、BBB.cともに、main()の冒頭で #include をしています。 int main(){ #include "AAA.c" #include "AAA.c" while(1){ : : という感じです。#includeして、あの位置にAAAとBBBを置いてあるなら、 AAA.cの先頭に1度書けば全域で通じると思ったのですが、だめなのでしょうか。 extern unsigned char ... についても 上記のように main.cの冒頭で unsigned char...と 1度書けば、それ以降には全部通じるので各ソースに書く必要は無い、と思っていました。 そもそも #include "CCC.c" とは、 その位置にCCC.cをテキスト的に貼り付けるのではないのでしょうか? >>255 ありがとうございます。 関数と関数の間に書いた変数は、 暗黙でstatic変数となり、グローバル変数としてずっと値が消えることはないと思っています。 関数の中の変数宣言は、暗黙でauto変数で次回まで保持しない。staticを付けると消えずに値を保持。
257 :774ワット発電中さん :2022/03/10(木) 14:52:12.09 ID:fvfKme9M.net 節子それ違うstaticや
258 :774ワット発電中さん :2022/03/10(木) 14:57:06.45 ID:OAQdURok.net >extern ファイルスコープの話やね。 externを伴えば、外部ファイルに参照先を求めるのでそのファイル内に実体を用意しない。 >include .cのfileを、メイン関数内でインクルードする人初めて見たYO 2回インクルードしたら重複宣言でコンパイルエラー起こすやろ(ifdefとかで丁寧に避けてれば通るかもだけど・・・)
259 :774ワット発電中さん :2022/03/10(木) 15:53:37.87 ID:8Y0DuOKe.net >>258 >externを伴えば、外部ファイルに参照先を求めるのでそのファイル内に実体を用意しない。 はい、そう思っています。 「コンパイラさん、最後までには、どこかで出てくるので、ここでは見逃してね」と イメージしています。 >include >.cのfileを、メイン関数内でインクルードする人初めて見たYO そうなんですか? 例えば main(){ unsigned char ... unsigned char ... unsigned char ... unsigned char ... unsigned char ... unsigned char ... unsigned char ... while(1){ と、unsigned char ...が多くてソースが見にくいから、外に出そう。 hensu.c として、その中に unsigned char ... unsigned char ... unsigned char ... unsigned char ... unsigned char ... unsigned char ... unsigned char ... を書いて そして、main内部でincludeする。 main(){ #include "hensu.c" // ←すっきり見やすくなる while(1){ のように #includeの位置にそのファイルを入れ込んで(置き換えて)くれる、 というように使用するものだと思っていますが、違いますでしょうか? #include "AAA.c" #include "BBB.c" void func1(){ } main(){ while(1){ とすると、 Global変数と#defineを、AAAの先頭に1回だけ書けば、 BBB.cでもmain()でもfunc1()でも通じる、Global変数、#defineとして使えるので、 BBB.cの中に書く必要はないと思っているのです。 それなのに、まるでxxx.cのファイル単体でコンパイルをするような感覚で コンパイラーがエラーを出してきます。 私のような使い方は、間違いでしょうか。
260 :774ワット発電中さん :2022/03/10(木) 16:00:05.04 ID:OAQdURok.net そういう使い方なら、 ソースがインクルード部に展開されちゃうんだから多重定義でエラーになって当然でそ。 強要したいならインクルードするファイルの中身は extern unsigned char ucHoge; extern unsigned char ucGeho; とか全部externつけとかなきゃ。externの伴わない実体宣言は、ソースファイルの中にインクルードせず 直に書きましょうや。
261 :774ワット発電中さん :2022/03/10(木) 16:13:32.11 ID:OAQdURok.net 絶対こうしろとまでは言わんが、いちおう世間さまの流儀では、 AAA.cで実体を宣言している外部変数へのextern宣言はAAA.hに入れておくんよ。 BBB.cからそれらを参照する場合は(関数ないじゃなくて)BBB.cのファイル冒頭で #include "AAA.h" ってしておくのがポピュラー。 関数内にインクルードする人は少数派だと思うんゴ(^p^;)
262 :774ワット発電中さん :2022/03/10(木) 16:27:47.31 ID:LcoTsJVq.net >>259 > unsigned char ... > unsigned char ... > unsigned char ... > unsigned char ... > unsigned char ... > unsigned char ... > unsigned char ... この程度なら別に見辛くないし、実際はもっと多いと言うならその設計を見直した方がいいと思う
263 :774ワット発電中さん :2022/03/10(木) 22:05:50.68 ID:ljpbA88m.net 林晴比古ばりのマクロ技を使えば?
264 :774ワット発電中さん :2022/03/10(木) 23:02:42.85 ID:/G1q21Dn.net 晴比古本にそんな変なマクロあったっけ? 俺はあの本だけでCを覚えた 大変世話になったな
265 :774ワット発電中さん :2022/03/11(金) 06:04:49.57 ID:2S/p+YoI.net そもそも#includeするなら1つのファイルと一緒だからexternする必要がないじゃん
266 :774ワット発電中さん :2022/03/11(金) 06:44:22.28 ID:IHKB5Upv.net あの、普通の使い方 (*.hをincludeする。)に合わせて話しませんか。 無知な方に合わせても意味ありませんよ。
267 :774ワット発電中さん :2022/03/11(金) 07:45:18.01 ID:RvK288QZ.net >>253 の話でしょ? BBB.c で AAA.c を include すればいいんじゃないの?
268 :774ワット発電中さん :2022/03/11(金) 08:27:19.12 ID:/L6mneX+.net make で拡張子で判断してビルドするようにしている(なっている)ことが多いのでは。 そういう場合だと、例に上がっているような関数内のローカル変数を hensu.c に 記述すると、その hensu.c もコンパイルがかかって面倒なことになりそう。 cをincludeしている人は、makeファイルも自分で書いてるのかな。 個人的には最近はIDE任せで、もうここ10年以上、makeファイルを自分で書いてない ような気がする。
269 :774ワット発電中さん :2022/03/11(金) 09:35:39.51 ID:RvK288QZ.net まあ、make なんて使わないけどね。
270 :774ワット発電中さん :2022/03/11(金) 09:51:30.73 ID:ie/tjzWq.net 使ったらMake
271 :774ワット発電中さん :2022/03/11(金) 09:56:29.68 ID:/L6mneX+.net >>269 すみません、make というか、IDE任せも含めて「make相当」です。 それを含めて「使わない」としたら、バッチファイルでコンパイル、リンクを順次やっているのでしょうか。 それなら、インクルードする hensu.c を単独でコンパイルすることは避けられるかな。
272 :774ワット発電中さん :2022/03/11(金) 10:03:24.74 ID:RvK288QZ.net >>271 >バッチファイルでコンパイル、リンクを順次やっているのでしょうか そうだよ。 cmake は make じゃないとかそんな糞ではない。
273 :774ワット発電中さん :2022/03/11(金) 10:08:51.95 ID:bH7AWw2O.net Makefileってヘッダも追加しとくんやで そうするとヘッダが書き換わったのを判断して必要な分コンパイルしてくれる
274 :774ワット発電中さん :2022/03/11(金) 11:35:15.27 ID:dh4jB/WB.net みんなまだコマンドプロンプトつかってるんやな えらいな 環境がLinuxなのかな Z80使ってた頃はメイクファイルさんのお世話になってたけど DOS窓自体開かなくなって久しいわぁ・・・
275 :774ワット発電中さん :2022/03/11(金) 12:59:45.05 ID:IHKB5Upv.net 操作は全部IDE 内部的にmake ってパターンでない?
276 :774ワット発電中さん :2022/03/11(金) 14:06:38.53 ID:epunqTDc.net ここマイコンスレだろ? -- common.h -- #ifndef __COMMON_H #define __COMMON_H extern unsigned char a; extern unsigned char b; extern unsigned char c; #endif -- main.c -- #include "common.h" int main(char * argc ,char **argv){ a = b+c; } -- sub.c -- static unsigned char a,b,c; static void foo(void){ c = b+a; } まぁ、こんな感じ? うーん、書きながら、どういう構造にしたいんだろうか・・と悩んでしまったが。
277 :774ワット発電中さん :2022/03/11(金) 14:14:17.11 ID:dh4jB/WB.net むむ、ああそうか、きょうびのマイコンはRTOS乗っけてて プログラム呼び出し時に引数が付くのか・・・
278 :774ワット発電中さん :2022/03/11(金) 21:18:42.45 ID:JfzZP20k.net >>271 面倒な奴だ、関わりたくないタイプだな
279 :774ワット発電中さん :2022/03/11(金) 23:23:21.70 ID:Ahxf/8Qp.net >>259 です。 みなさん、大変ありがとうございました。 >>261 ありがとうございます。私の勉強不足なのがよくわかりました。 "AAA.h"を作って extern unsigned char A1; extern unsigned char A2; extern unsigned char A3; と書いて 各関数の先頭で #include "AAA.h"と1行書くだけで、それぞれで AAA.cの A1 A2 A3 が読み書きできる。 さらにAAA.h の中に、#define hoge 3 も書いておけば、皆さんも参照できるし、AAA.hのそれを変更すれば、 全体に一気に変更の効果が出るということですね。ありがとうございます。 ノートにメモしておきます。どうもありがとうございました。 >>265 >そもそも#includeするなら1つのファイルと一緒だからexternする必要がないじゃん ありがとうございます。ひとつの例として、上げました。 >>268 >例に上がっているような関数内のローカル変数を hensu.c に >記述すると、その hensu.c もコンパイルがかかって面倒なことになりそう。 ありがとうございます。 これも予想していた通りだと思いました。 xxx.cは、それ自体でコンパイルが通らなければならないのですね。そのために、externが存在しているという。 今までよくわからないのでexternを逃げていましたが、そのご説明で納得できました。どうもありがとうございました。 >>276 なるほど、ありがとうございます。 私は、今まで何本もプログラムを書いてきましたが、全部1ファイルのプログラムでした。 #include "xxx.c" は、ただそこに入れ込むだけでしか使ったことがありませんでした。 -- main.c -- unsigned char a, b, c; // Global変数 void foo(void){ // 関数 c = b+a; } int main(){ // main a = b+c; } と、こんな調子です。これだと、そのうちmain.cがドンドン長くなってしまうので、 関数の機能などでまとめたファイル"DDD.c"を作って、 main.cのファイルのその位置に #include...としていました。 そのincludeを許してくれるコンパイラだったので、 externなど知らなくても済んでいたのです。 みなさん、どうもありがとうございました。
280 :774ワット発電中さん :2022/03/11(金) 23:30:13.00 ID:RvK288QZ.net #include はコンパイラじゃなくてプリプロセッサの作業だし 通らない(広義の)コンパイラはないと思うよ。
281 :774ワット発電中さん :2022/03/12(土) 00:00:40.80 ID:bt9O6jB2.net >>280 すみません。言葉足らずでした。 >#include はコンパイラじゃなくてプリプロセッサの作業だし >通らない(広義の)コンパイラはないと思うよ。 #include "xxx.c" の、xxx.c内部にexternとか書かなくても、許してくれる、という意味です。 そっか、xxx.c とするから叱られるんで、xxx.txt として#include "xxx.txt" とすれば、 そのまま置き換えができるかもしれませんね。今度試してみよう。 ありがとうございました
282 :774ワット発電中さん :2022/03/12(土) 02:35:26.24 ID:uITFnnBY.net >>281 プロジェクトにxxx.cを入れるから単独でコンパイルされておかしなことになるだけ #includeするなら単独にコンパイルされないようにしないといけない。 拡張子の問題ではないけどxxx.incとかにしておけば第三者にも分かりやすい。
283 :774ワット発電中さん :2022/03/12(土) 10:41:12.76 ID:kvgkhtoo.net externとはこのモジュール(xxxx.c)にはないけれど外部にあるからそのつもりでコンパイルしてくれっていう意味 当然そこにはないけど最終的にはどっかに存在しないと思った通りに動かない。それを解決するのはリンカのお仕事 変数じゃなくて関数でも同じこと、そこにない関数でもインタフェース部分だけそこにあればコンパイラは納得してくれる 外部にあるはずのものは最終的にリンカが結び付けてくれる、なければ動かないのでリンカがエラーを出して教えてくれる
284 :774ワット発電中さん :2022/03/12(土) 11:03:25.27 ID:hN7f+XhA.net コンパイラのエラーもリンカのエラーも意味知らんと、は?ってなるよね 代表的なのが思い付かなかったけど
285 :774ワット発電中さん :2022/03/12(土) 15:07:05.51 ID:+TNoybMS.net 面倒な奴だ、関わりたくないタイプだな
286 :774ワット発電中さん :2022/03/12(土) 19:59:56.92 ID:2tFg+KQj.net あと、マイコンだと foo(){ unsinged char[2048]; } こういうのだめだぜ? マイコンのメモリサイズやスタックに割り当てるサイズにも寄るけど、 スタックサイズ1Kとかだとスタック飛ぶぜ?
287 :774ワット発電中さん :2022/03/12(土) 20:24:30.33 ID:wMo9/1XP.net なにが起きるかとマイコンのことをわかってやるぶんには問題ないけどな。
288 :774ワット発電中さん :2022/03/12(土) 20:47:03.34 ID:yMfL1rTI.net picスレでコメントがつかなかったので、 こちらで質問します。 マイクロチップのコード生成ソフト、MCCで DMAを構成したら、コンパイルは通るのですが、output画面に「heap領域が0だぞ」というメッセージが表示されます。 調べたらheap領域とはメモリー全体からプログラムとか変数を引いた残りの領域を スタックと取り合うようです。 私は何か設定しなければいけないのでしょうか? というか、heapを128byteとか確保するということは、どういうことなのでしょうか? 「おいスタック、どれだけ増えても128byteの俺の領域には入ってくるなよ」ということでしょうか?
289 :774ワット発電中さん :2022/03/12(土) 21:01:04.02 ID:hN7f+XhA.net >>288 マイコンの型番は最低限書こうね あと、コンパイラのバージョンとIDEのバージョン
290 :774ワット発電中さん :2022/03/12(土) 23:37:36.13 ID:dc10H+Ih.net >>288 俺は使ったこと無いからはっきり知らんけど 任意のスタックが使えるなら8bitラインではないな おそらくDMAのライブラリがディスクリプタでヒープを使うんだろう MCCのどこかでスタックとヒープのサイズを指定できるはず
291 :774ワット発電中さん :2022/03/13(日) 02:51:12.78 ID:+dXzS/4b.net IDEからリンカの設定でヒープ領域を確保できる malloc で動的メモリを確保する時この領域を使う もしヒープ領域を超えて malloc した場合、他の領域(スタックとか変数とか)のメモリ破壊が起きる スタックも同じで深い関数呼び出しとかの要因で、確保された領域を超えてメモリ破壊することがある どっちも、使用量を見積もって十分な領域をリンカに設定しとかないといけない ちなみに、マイコンによってはスタックオーバーフローをハードで検知できる
292 :774ワット発電中さん :2022/03/13(日) 08:11:46.04 ID:Z9Wv722C.net 向こうのスレでは、ヒープには「函数」の呼び出し元が記録されるらしいww
293 :774ワット発電中さん :2022/03/15(火) 09:41:08.20 ID:CvV27FD9.net 懐古爺的に言わせてもらえば、 昔はリンカ時点でアドレス割り当てを設定したもんだが 最近のマイコンは統合開発化が進み過ぎてどういう哲学で アドレスの割り当てを担当させるのか見えにくくなってますわなぁ・・・ 当然、答えは知らん!(^p^)
294 :774ワット発電中さん :2022/03/15(火) 11:21:21.52 ID:htRtBj4L.net PICなんぞ使いたくない・・
295 :774ワット発電中さん :2022/03/15(火) 12:15:02.45 ID:F3XqQddj.net そこまで分からなくなったら、Arduinoのやり過ぎだろう。
296 :774ワット発電中さん :2022/03/15(火) 13:38:37.10 ID:CvV27FD9.net あら、ググったらすぐ見つかるやん・・・(^p^;)きく前にすこしはググれや!! http://ww1.microchip.com/downloads/jp/DeviceDoc/50002071E_JP.PDF P.80
297 :774ワット発電中さん :2022/03/20(日) 11:55:07.24 ID:Tm8GXtP0.net ハーバード最強説
298 :774ワット発電中さん :2022/03/22(火) 12:43:44.29 ID:+Q/Ya5Ip.net ハーバードが非ノイマン型なんだと言ってたヤツがいたなあ。
299 :774ワット発電中さん :2022/03/22(火) 21:55:17.98 ID:aR9DF62k.net >>297 最近のCPUは、殆どがハーバード型見たいな物だからな。 キャッシュからコアまでは、インストラクションとデータのバス独立してる。
300 :774ワット発電中さん :2022/03/23(水) 11:31:59.22 ID:zSBwD41i.net C言語で質問があります。ネットで、enumというのを見つけました。 enumはenumeration(列挙)の略です。 #include <stdio.h> enum week { Mon, Tue, Wed, Thu, Fri, Sat, Sun }; // enum型の定義 int main(void) { enum week wk0, wk1, wk2; // enum型の宣言 wk0 = Mon; // enum型のメンバを代入 wk1 = Tue; wk2 = Wed; printf("Monの値は: %d\n", wk0); printf("Tueの値は: %d\n", wk1); printf("Wedの値は: %d\n", wk2); } これを見たとき、 if( today==Mon ){... などとできて便利かな、と思いました。 そこで質問なのですが、 1) mainで使うときに、enum weekという宣言をしなくても unsigned char wk0; とすれば、 wk0 = Mon; と同じなのでは無いでしょうか? 2) さらに言うと、#define Mon 0 #define Tue 1・・・#define Sun 6 として unsigned char wk0; wk0 = Mon; としてもまったく同じな気がするのですが、これは間違いでしょうか? 3) enumはどんなときに便利なのでしょうか?
301 :774ワット発電中さん :2022/03/23(水) 11:48:28.06 ID:jByjxETs.net >>300 K&R第二版P239に解説があった。 要約すると、列挙型変数は整数型変数の様に振舞うけど 該当する列挙型オブジェクトに含まれない値を用いるコードを書くと エラー警告してくれるらしいんよ。 想定外の用法の自由度を、予め殺したておきたい場合に使うという事やね。
302 :774ワット発電中さん :2022/03/23(水) 13:19:14.27 ID:Qd3f8BDE.net あとは enum flower {Rose, Lily, Tulip, NumberOfFlowerTypes}; const unsigned short price[NumberOfFlowerTypes] = … みたいに配列の要素に使う場合、メンバの追加時に記号定数マクロと違って値の変更をしなくていいとかもあるかな
303 :774ワット発電中さん :2022/03/23(水) 15:34:32.36 ID:83FF2x+M.net C の enum は辞めて C++ の enum 使えって じいちゃんが言ってた
304 :774ワット発電中さん :2022/03/23(水) 15:51:38.53 ID:jByjxETs.net ハイカラな爺だな(^p^)きっとモボだなモボ
305 :774ワット発電中さん :2022/03/23(水) 16:04:28.48 ID:o6VlTnP4.net ホモ?モブ?
306 :おせちもいいけど・・・「モボ」で :2022/03/23(水) 16:14:32.61 ID:jByjxETs.net ,-,,,,、 ,-,,,,_ ,,,,,,,、 ,,,,,,_゙'-,. "'i、 .,,,,,,,、 ,,,,,,,゙'-、^'i、 .i,¬ー-、 ゙''i、`\ \.`''-\,,l゙ `'i、 `''i、 ‘'-,`''-\,,l゙ ^'i、 ,) 丿 ,l,_,,,,,,,― |i、 } 丿 Z_,,,,,,-ヘヽ、゙l | .| __ ,/ ,,-----=@,,,7゙"` ,/ ,,-----=@,,,)゙″ | | .,,-'",,,,,,、`'i、 ,/`./ / 丿 / .,/` ,l゙ 丿 |゙ヽ,,,―" `゙'ュ‐゙_,/゛ | | .,/.,,/` /` 丿 ,/ ,/ ,/ 丿 \,,,,-‐,! '`,/ .| l゙ ,,-",,/ 丿 ,i´ ,/_,/ 丿 ,i´ 丿 ,,,i´ ,! | i彡‐" ,/` ,/` ィ,ン'" / ./ ,/ .| | | ,,i´ ./ ,,‐`./ ,/`.,┤ | | | ./゙| .,/ .,/ ,/ .,/ / 丿 | .| { { .,/ ,l゙ ,,/ ,/` ,,/ ,/` / ,、゙'-,| l゙ | }, ._/.ノ _,/゙,,/゛ _,/゙,,/゛ l゙ .,/`\ | ヽ,_ ゙"゛,,/ (ン'"゛ (ン'"゛ `″ ゙l 丿 `゙゙゙゙゛
307 :774ワット発電中さん :2022/03/23(水) 16:43:58.58 ID:hJSNl/w6.net モダンボーイかなんかだろ わかってるけどボケてんねん モブとかホモのほうが面白いだろ
308 :774ワット発電中さん :2022/03/24(木) 17:13:15.08 ID:BwZY/cXc.net 面白くない ボケにもなってないし
309 :ところでよしこさんや :2022/03/25(金) 09:38:01.00 ID:4Ii3WIzZ.net Z80の発売はまだかね・・・(゜'ω゚'`;;)ヨボヨボ
310 :774ワット発電中さん :2022/03/26(土) 04:35:35.43 ID:Yf8UyIMa.net >>309 つまらん。 その顔文字は、説明上必要なんですか?
311 :774ワット発電中さん :2022/03/27(日) 19:16:12.77 ID:v+2r5gtR.net >>310 ほお、顔に見えたかね
312 :774ワット発電中さん :2022/03/28(月) 10:18:44.04 ID:BRZcmaAU.net おそらくパレイドリア効果のシミュラクラ現象っていうやつだろうね(^p^) https://o.5ch.net/1xsdu.png
313 :774ワット発電中さん :2022/03/29(火) 07:35:26.49 ID:VdojGuwZ.net 顔文字はスルーするからいいけどそのURLは何なのかな? 大抵エラーなんだけど
314 :774ワット発電中さん :2022/03/29(火) 14:27:49.75 ID:UjUAJBl3.net お絵描き機能で投稿した添付図の事かもしれんな。
315 :774ワット発電中さん :2022/04/08(金) 16:20:52.69 ID:rqcE80LxV Z80とか昭和かよ、わけ分からんわ。 しかし、まだ秋月で売ってるしー 2000年ぐらいで供給終わるような 予告があったのに、わけ分からんわあ。
316 :774ワット発電中さん :2022/06/19(日) 05:40:10.94 ID:HhKq90BQ.net テラタームのようなターミナルソフトを RS232経由でマイコンで駆動したいです。 改行は0x0dを送ればよいですが、 画面を消してカーソルを左上に戻すには、 どのような16進数を送れば良いでしょうか?
317 :774ワット発電中さん :2022/06/19(日) 05:42:47.56 ID:HhKq90BQ.net 連投すみません。もう一つ教えてください。 ローカルエコーをマイコン側から入り切りの操作は出来ますでしょうか?
318 :774ワット発電中さん :2022/06/19(日) 10:21:22 ID:bz8jILTS.net エスケープシーケンス参照
319 :774ワット発電中さん :2022/06/19(日) 11:31:18.47 ID:HhKq90BQ.net テラタームのようなターミナルソフトを RS232経由でマイコンで駆動したいです。 改行は0x0dを送ればよいですが、 画面を消してカーソルを左上に戻すには、 どのような16進数を送れば良いでしょうか?
320 :774ワット発電中さん :2022/06/19(日) 11:49:31.27 ID:q5NwM8SN.net TeraTerm 対応制御シーケンス で検索。URL書けないので。
321 :774ワット発電中さん :2022/06/19(日) 18:37:36.19 ID:Vm+luhkq.net >>320 1キャラクタでできるのかな?
322 :774ワット発電中さん :2022/06/19(日) 19:57:31.46 ID:Yo89z/o/.net VTエミュレーションだと思うよ。
323 :774ワット発電中さん :2022/06/19(日) 21:23:05.69 ID:q5NwM8SN.net シーケンスっていうぐらいだから、連続処理が前提。むしろ1キャラが例外。
324 :774ワット発電中さん :2022/06/19(日) 21:41:43.80 ID:kIPZxjzc.net https://ttssh2.osdn.jp/manual/4/ja/about/ctrlseq.html だめ?
325 :774ワット発電中さん :2022/06/19(日) 21:53:56.13 ID:B5ZA0hNO.net >>322 VT100以外も選べたと思うけど選んだことないわ https://lilia-study.com/img/pc/setup/at-fs980m/teraterm-settei/05.png
326 :774ワット発電中さん :2022/06/20(月) 00:33:41.94 ID:XrrsCiGz.net >>324 の表の各モードを使ってみたいけど、 >>325 の示す部分の設定で変えればOKですか?
327 :774ワット発電中さん :2022/06/20(月) 00:34:44.49 ID:XrrsCiGz.net VTxxxの数字を変えれば、 モードが変えられるのでしょうか? ということです。
328 :774ワット発電中さん :2022/06/20(月) 07:25:35.43 ID:afA5DeE3.net >>326 試せばわかる話じゃん シリアル流して画面に表示するテストプログラム書いてやってみよう
329 :774ワット発電中さん :2022/06/20(月) 08:13:29 ID:lgtjTn8V.net >>326 なぜ、まず自分で試そうとしないのですか?
330 :774ワット発電中さん :2022/06/20(月) 19:34:50.43 ID:zgRPzqhN.net VT64のA級シングルアンプ
331 :774ワット発電中さん :2022/07/12(火) 12:39:57.39 ID:btVnnmvG.net PIC, RL78, STM32 次にやるなら何?
332 :774ワット発電中さん :2022/07/12(火) 13:52:47.27 ID:aQ2rndSd.net RP2040 かな。
333 :774ワット発電中さん :2022/07/12(火) 17:57:04.59 ID:9xY2nVje.net 男は黙ってZ80
334 :774ワット発電中さん :2022/07/13(水) 00:02:48.93 ID:CSrr8BFi.net 4bitマイコンに行こうぜ
335 :774ワット発電中さん :2022/07/13(水) 06:25:32.63 ID:1wcm0fLD.net i4004?
336 :774ワット発電中さん :2022/07/13(水) 06:42:06.87 ID:JUP6H1Ld.net MC14500B × 4
337 :774ワット発電中さん :2022/07/13(水) 07:32:08 ID:8j/9ewvk.net >>336 4bit の処理は出来ないから、1bit マイコン4個のマルチコアになるんかな?
338 :774ワット発電中さん :2022/07/13(水) 07:48:54.88 ID:RY7ugGhO.net MC14500で作るプログラムは多ビットのリアルタイム処理になる
339 :774ワット発電中さん :2022/07/17(日) 07:03:25.59 ID:OnE+1m++.net 1ビット処理のシーケンサ(PLC)だからね
340 :774ワット発電中さん :2022/07/17(日) 07:09:52.36 ID:OnE+1m++.net そういえば8ビットCPUのPICでPLCをシミュレートした市販品があったな
341 :774ワット発電中さん :2022/08/02(火) 09:56:58.99 ID:yO1YpsSr.net てst
342 :774ワット発電中さん :2022/08/19(金) 17:58:43.54 ID:dpRFTqI6.net Jane にしたからテスト
343 :774ワット発電中さん :2022/08/29(月) 22:24:06.55 ID:OeWGBxhf.net 計算速度は欲しいが移植性も確保したい場合ってどうすりゃ良いんだろ 1.32bit前提で書く 16bitや8bitは最適化コンパイラに頑張ってもらう。別途バイトオーダー対応が必要 2.8bit前提で書く 全ての環境で期待通りに動くが32bitだと少なからぬデバフがかかる 最適化コンパイラといえども8bit×4を32bit×1にはしてくれない 3.クリティカルな箇所は32bit用と8bit用をのコードを用意する 確実に保守が面倒になる。無用なバグの元になりそうだし う~ん悩ましい・・・
344 :774ワット発電中さん :2022/08/29(月) 22:34:56.15 ID:gbQNRHMq.net 8bitと32bitで移植性と計算速度の両立は無理 計算速度だけじゃなくてリソースもコードを分ける理由になる
345 :774ワット発電中さん :2022/08/29(月) 22:35:41.71 ID:gbQNRHMq.net 全ての環境で期待通りに動くなんてのは有り得ない
346 :774ワット発電中さん :2022/08/29(月) 22:45:51.25 ID:r12A+eCf.net 速度が欲しいところだけライブラリにしてコードを分けたりはする。 すべてがすべて速度がいるわけじゃないっしょ? だから3かな。
347 :774ワット発電中さん :2022/08/29(月) 23:58:05.99 ID:Y/XebzRS.net >>最適化コンパイラといえども8bit×4を32bit×1にはしてくれない メモリ配置の話? 計算速度と関係ないだろ。むしろ遅くなる。
348 :336 :2022/08/30(火) 00:17:05.73 ID:pXmicP5A.net 一応TJpgDecと言う前例があるんでこれ参考にしながら作っているけどなかなか難しい >>346 作っているのはライブラリ。マルチメディアデータ用なので扱うデータ量は多め >>347 8bitロード×4回と32bitロード×1回のどちらが早いかみたいな話 例えばARGB8888を1バイトずつストアするコードを32bitのストア1つには最適化してくれないよね
349 :774ワット発電中さん :2022/08/30(火) 06:18:33.81 ID:ZjhDawuY.net そういうコードでアーキテクチャによってコードを分けたいなら Arch別にマクロにしておいてインクルードするか、Archごとにifdefで分けるかな? #ifdef __ARMHF #include "armhf_xxx.inc" #elif __H8 #include "h8_xxx.inc" #endif みたいな? と書いてみたものの、自分が担当だったら影響が大きそうな8bit合わせにして終わらすなきっと。 8bitでいけるやつを32bitに持ってったときにそのロスは問題にならんだろうと。 全部gccとかならコンパイラ最適なコードを書くかも。 8bitマイコンのメーカーコンパイラの最適化は糞な印象しかない
350 :774ワット発電中さん :2022/08/30(火) 06:21:33.82 ID:LJSDRMVi.net >>348 struct になってれば 32bit 一度に読み込むんじゃね? ってか、32bit 使うコードにしとけば 8bit マイコンだと 4回アクセスになるでしょ。
351 :774ワット発電中さん :2022/08/30(火) 06:22:56.93 ID:LJSDRMVi.net >>349 FFMPEG なんかはアーキテクチャ毎に細かく最適化されてるね。
352 :774ワット発電中さん :2022/08/30(火) 07:09:09.01 ID:iVoGHWCq.net 8bit環境は非常に制約が多いのが普通 速度だけ考えてコードを書けばいいなんてことは非常にマレ ROM足りない、RAM足りない、...なんてのは普通 環境が決まってるならそれに最適化するしかない 決まってないなら最適化など不可能 動作するかどうかすらわからん PIC10F200で動くか? と考えればどんな環境でも動くなんてのは妄想だとわかる エンディアン、charのサイズ、負の数の表現、... 可能性の非常に低い環境を考えるのも無駄
353 :774ワット発電中さん :2022/08/30(火) 07:25:18.43 ID:iVoGHWCq.net 演算の最適化も バレルシフタ、乗算命令、DSP命令、FPU命令、キャッシュ、RAMサイズ などで全く違う
354 :774ワット発電中さん :2022/08/30(火) 07:50:12.53 ID:oAKRUahl.net 組み込みの移植性なんて幻想、命ずる側はそれが分からんのですよ。
355 :774ワット発電中さん :2022/08/30(火) 08:14:10.40 ID:tchAfdOE.net 移植性をイチゼロで語ることはないよね。
356 :774ワット発電中さん :2022/08/30(火) 08:43:53.18 ID:fHeU/d5k.net イチゼロ…ジュウじゃなくてイチゼロ・・・つまり、16段階評価という事ですね!
357 :774ワット発電中さん :2022/08/30(火) 12:09:20.94 ID:50XygaXs.net >>355 どうせ移植時に大きな作業が発生するんだから 移植するときに考えれば良い その方が効率的
358 :336 :2022/08/30(火) 18:30:26.89 ID:5xIM/QaJ.net >>349 バイトオーダーの変換とかもだけどそれやると可読性が低下するよね。とはいえ背に腹か・・・ >>350 C言語の構造体のメンバ配置は処理系依存じゃなかったっけ。TJpgDecもFatFsも入出力に構造体を使用していないし というのと1バイト×4=4バイトの構造体のコピーでもMSVCは4バイトでコピーしてくれるみたいだけど CC-RXだと4回の1バイトコピーになった。構造体を32bit型にキャストしてようやく4バイトコピーになった
359 :774ワット発電中さん :2022/08/30(火) 20:03:31.96 ID:fnB8miB2.net >>358 ビットフィールドにすれば32bitにまとめられるだろう。 処理系依存とか言い出したらcharが8bitじゃないかもとか longだって何ビットなんだとか色々あるし。
360 :774ワット発電中さん :2022/08/30(火) 20:24:58.54 ID:ZjhDawuY.net >>358 メンテナー配慮ってことで #ifdef __ANSI ごくごくふつーのきれいなコード #elif __ARMHF arm超最適化コード #elif __H8 h8超最適化コード #endif みたいに、何をやってるのかわかるようにしておいたり #コメントよりもきれいなコード派なのですごめんなさい
361 :336 :2022/08/30(火) 21:02:08.72 ID:pXmicP5A.net 帰宅したんでID変わっています まだコンポーネント単位で試作して実験している段階ですが ・ロードとストア ・算術右シフト あたりが処理系の影響を強く受けそうな印象があります >>359 最初にビットフィールドも検討したんだけど EXP11-C. ビットフィールド構造体のレイアウトについて勝手な想定をしない ttps://www.jpcert.or.jp/sc-rules/c-exp11-c.html らしいのであきらめました 型のサイズはTJpgDec同様にC99前提にしてstdint.hを利用する予定です >>360 参考までに「きれいなコード」ってどんなコードを指しているんでしょうか 処理系依存を回避していくほどコードが読みにくくなる気がします
362 :774ワット発電中さん :2022/08/30(火) 21:15:35.78 ID:ZjhDawuY.net >>361 教科書的なコードといったほうがいいかな? 説明的なコード? a=a<<1; よりも a = a*2; *a++ = xxx よりも for(i=0;i++) a[i] = xxxx みたいな。日本語の文章でコメントを書く的なコード
363 :774ワット発電中さん :2022/08/30(火) 21:30:03.39 ID:iVoGHWCq.net 計算速度が欲しいっていう前提は無くなったの?
364 :774ワット発電中さん :2022/08/30(火) 21:43:16.85 ID:ZjhDawuY.net >>363 いや、速度を優先させてarch別に書いて行くと 可読性が悪くなるって話で、 そういう場合、使わないけどANSIでコメント的に書いておくって話。
365 :336 :2022/08/30(火) 23:09:10.92 ID:pXmicP5A.net というかググって出てくるCの解説は注意書きもなく処理系依存しているのが多いんだなと痛感してる Rustを使えるならpackedあるし構造体のメモリ配置で困る必要なんてないんだろうなぁ >>362 なるほど。そう言う書き方もあるのか
366 :774ワット発電中さん :2022/08/30(火) 23:09:26.36 ID:LJSDRMVi.net >>362 for って、終了条件なくても大丈夫なんだね。
367 :774ワット発電中さん :2022/08/30(火) 23:17:57.00 ID:iVoGHWCq.net ; は必要
368 :774ワット発電中さん :2022/08/30(火) 23:26:33.16 ID:iVoGHWCq.net >>343 の処理の具体的な中身が書いてあればもう少し具体的な話が出来ると思う 規模とか計算量とか演算精度とか 8bitで動くんだから大した規模、計算量じゃ無いんだろうけど
369 :774ワット発電中さん :2022/08/30(火) 23:30:17.80 ID:LJSDRMVi.net >>367 ダメじゃん。 ってか、無限ループにならないの?
370 :336 :2022/08/30(火) 23:59:40.72 ID:pXmicP5A.net 必要精度とかに関してはまだ実験中。先日までint長が要32bitでどうしようかと 考えていたけど式とパラメータを調整したら16bitでいけそうかもになっていたり ちなみに struct PIXEL{uint8_t r, uint8_t g, uint8_t b, uint8_t a} struct PIXEL src, dst; dst = src; みたいなのをCC-RXに速度優先設定でコンパイルさせたら パディングされているわけでもないのに1バイトずつ4回コピーしてた どうしてそうなる・・・
371 :774ワット発電中さん :2022/08/31(水) 04:03:17.81 ID:mdRW7ZA+.net A B C 3人の早押し判定プログラムを作ろうと思っています。 mainでぐるぐる監視して、入力が来たら表示すれば良いと簡単に考えていました。 100 010 001 簡単ですが、 110 101 011 とか 111 の時は、どのようにすれば良いのでしょうか? クロックをPLLしてガンガン回せば、複数同時は減るでしょうが ゼロにはなりません。 複数来たら左の人優先とかやると、不公平だし。
372 :774ワット発電中さん :2022/08/31(水) 05:53:05.15 ID:xQbmLGWO.net >>369 ループでコピーしたときに *a++ = xxx; より a[i]=xxx; のほうが遅いけど見やすいでしょ?って話よ。 for(i=0;;i++){ if(i==50) break; } みたいにforの終了条件なしはできるよ。 >>370 32bitでunion切れば1回でコピーされるよ多分。 >>371 マイコンのソフトの話じゃなくね? 111のときは引き分けにすれば?競馬だって100m走だって同着はあるしねなくせないよ。 んでも、今どきのマイコンで作れば同時に押されたってことになることは ほぼないので実用上問題はないと思うよ。
373 :774ワット発電中さん :2022/08/31(水) 06:16:37.94 ID:PVPlLuQi.net >>369 真ん中の条件省略したら無限ループになるよ(もちろんループ内のbreakで抜けられるけど) for( ; ; ){ ... } で無限ループを作るのはよくある
374 :774ワット発電中さん :2022/08/31(水) 06:19:51.91 ID:xQbmLGWO.net >>370 >>必要精度とかに関してはまだ実験中。先日までint長が要32bitでどうしようかと ちょっとまて。 C言語ではintは16bit以上と定義されているので、 32bitが必要ならlongを使わなきゃ、たまたま動いてるだけでコードとしてはバグだよ。
375 :774ワット発電中さん :2022/08/31(水) 06:21:24.73 ID:PVPlLuQi.net >>371 > 複数来たら左の人優先とかやると、不公平だし。 ランダムにするなり優先した回数数えておいて少ない奴にするなりすれば? そもそも>>372 の言う通りそんなことになることは滅多にないしそもそも入力をなにでやるのか知らんけどスイッチとかならスイッチのバラつきのほうが不公平になるわ
376 :774ワット発電中さん :2022/08/31(水) 06:58:07.04 ID:8t6X8mr2.net >>372 見やすい見にくいは人それぞれ 遅いかどうかは環境次第
377 :774ワット発電中さん :2022/08/31(水) 07:01:38.89 ID:8t6X8mr2.net >>374 環境依存コード ≠ バグ
378 :774ワット発電中さん :2022/08/31(水) 08:11:26.91 ID:Yq0Va7Kw.net stdint.h が使えるなら、ビット長に悩まなくてもいいような。
379 :336 :2022/08/31(水) 08:15:39.06 ID:FqCsCUJS.net >>374 整数拡張の話。入力値が8bitなどint未満の場合intに自動変換されるけど 計算式の途中でintの範囲を超える場合に言語仕様上どうなるのか調べきれなかった 自動的に更に長い型に変換されるという説明は見つけられなかったので処理系依存か? 基本的に長い型へ変換されるらしいのでどれか一つを32bit型にキャストして おけば安全そうではあるが
380 :774ワット発電中さん :2022/08/31(水) 09:16:22.01 ID:UBx0QEJD.net >>373 #define ever (;;) ってやつですな。使ったことないけどなんかの技法書で見かけた
381 :774ワット発電中さん :2022/08/31(水) 10:04:27.42 ID:bCP2wB71.net >>371 ABCの順で判別するループ BCAの順で判別するループ CABの順で判別するループ この3つのループを繰り返せばいい
382 :774ワット発電中さん :2022/08/31(水) 10:46:25.02 ID:OGgqxh0o.net >>379 処理系依存だよ 普通はオーバーフローするけど保証はされていない
383 :774ワット発電中さん :2022/08/31(水) 11:09:38.34 ID:jgcahbPi.net >>371 if( ABC != 0x00 ){ if( ABC==0x01 ){ printf('A'); } if( ABC==0x02 ){ printf('B'); } if( ABC==0x04 ){ printf('C'); } } で良いのでは?
384 :774ワット発電中さん :2022/08/31(水) 11:21:49.33 ID:JGBZXdB7.net >>374 int が 16bit 以上って、C99 で決まっんだっけか? 元々処理系依存だったような。 stdint 使おうぜ。
385 :774ワット発電中さん :2022/08/31(水) 11:30:06.91 ID:OGgqxh0o.net >>384 結局ややこしいからint32_tみたいに定義しなきゃならないのな
386 :774ワット発電中さん :2022/08/31(水) 12:05:32.26 ID:UBx0QEJD.net >>371 ぐるぐる監視するのはポーリング処理といいます。 割り込み機能を使った割り込み処理の方が見分けやすくなります。 より早く更なる厳密化を図るには、マイコンへの入力段で論理回路で組み識別しませう
387 :774ワット発電中さん :2022/08/31(水) 13:24:03.55 ID:8t6X8mr2.net >>379 決まってる 仕様書参照 int=long かどうかで微妙に違う
388 :774ワット発電中さん :2022/08/31(水) 13:24:52.75 ID:8t6X8mr2.net >>383 ダメだろ
389 :774ワット発電中さん :2022/08/31(水) 14:21:18.14 ID:cU2Cz5Qz.net >>383 これだとサンプリング期間内に同時押しが発生したときに'A'が優先で不公平になってしまうんじゃないかな サンプリングごとに if( ABC==0x01 ){ printf('A'); } if( ABC==0x02 ){ printf('B'); } if( ABC==0x04 ){ printf('C'); } を順次切り替えてどれか一つだけの判定をすれば「正確ではないかもしれないけれど平等」にはなると思う
390 :774ワット発電中さん :2022/08/31(水) 14:36:14.64 ID:JGBZXdB7.net 同時押しなんてほとんど発生しないんだから難しく考えるだけ無駄。 AチェックBチェックCチェック順番にやってグルグル回しとけ。
391 :774ワット発電中さん :2022/08/31(水) 15:57:00.88 ID:Avg/yhkX.net >>371 それぞれのスイッチ入力毎に割り込みをかければ良いだけ。 その後は、その割り込みの中で、全ての割り込みを禁止して、 たとえばピンポンと鳴らして、スイッチ別のLEDを点灯し、 ある時間経過後に、もう一度スイッチが押されたらLEDを消灯して、 全ての割り込み許可し、次のスイッチ・オンを待つとか・・・色々。 WDTを適当に仕掛けた方が良いかも。
392 :774ワット発電中さん :2022/08/31(水) 19:36:03.43 ID:zwOJ9pwO.net >>381 でよい 2つ同時入力されたときに、3つのループのうちのどの処理中であるかがランダムだからだ 当然1つ入力だったらどのループでも同じ
393 :774ワット発電中さん :2022/08/31(水) 19:38:06.41 ID:xQbmLGWO.net >>379 処理系依存 16bit以下のCPUだと、16bitを超えたら0になるんだよ。 処理系に依存しない純粋なC言語として書くなら longにしておくべき。 >>384 C89でもintは16ビット以上だよ
394 :774ワット発電中さん :2022/08/31(水) 19:39:10.42 ID:PVPlLuQi.net >>391 割り込み使ったことないのか? 普通に優先順位あるだろ
395 :774ワット発電中さん :2022/08/31(水) 19:42:52.43 ID:xQbmLGWO.net >>379 あなた宛、もう1行あるよ。 >>370 32bitでunion切れば1回でコピーされるよ多分。
396 :774ワット発電中さん :2022/09/01(木) 07:46:13.69 ID:f5GQJvlc.net >>394 この場合(3個のスイッチ操作による割り込み待ち)の割込み処理では、 最初に発生した割り込み要因の割り込みルーチンが実行される。 既に発生済みの複数の割り込み要因を順に(ラウンドロビンなど)処理するものでは無い。
397 :774ワット発電中さん :2022/09/01(木) 08:07:34.39 ID:ipYQJLJr.net >>396 > 最初に発生した割り込み要因の割り込みルーチンが実行される。 だから同時に発生したらどれかの割り込みルーチンが「優先されて」実行されるだろ
398 :774ワット発電中さん :2022/09/01(木) 08:36:31.88 ID:JdIRQyOY.net >>397 PIN毎に別々の割り込みベクターがある前提かな?
399 :774ワット発電中さん :2022/09/01(木) 09:04:31.33 ID:ipYQJLJr.net >>398 > PIN毎に別々の割り込みベクターがある前提かな? そういうのは珍しくないけどだからと言って割り込みルーチンは同時に走らないだろ 見たことないけどマルチコアで同時に走る奴があったとしてもどこかで早押し判定するんだからそこで優先順位をつけるしかないし
400 :774ワット発電中さん :2022/09/01(木) 09:08:21.14 ID:1TO9jGwS.net 無理なんだってば・・ クロックが100GHzになったって1マシンサイクル以内に 2つ押されれば同時押し判定するしかないんだから。。 TVとかだったら「おおっと、これは珍しい、同時押しですよ引き分けとしましょう。」 みたいな進行にしてもらうか、右から順番に適当に優先度を付けて不公平にしておくしかない。
401 :774ワット発電中さん :2022/09/01(木) 09:10:02.34 ID:AruLcFX1.net >>393 普通は0にならないでしょ
402 :774ワット発電中さん :2022/09/01(木) 09:14:12.28 ID:1TO9jGwS.net >>401 あ、やっぱりつこっまれたw >>393 の0になるは間違い。
403 :774ワット発電中さん :2022/09/01(木) 09:17:44.44 ID:WqDtDeZF.net 相当へぼなプログラムでもない限り 全く同時なんてことは 現実的にはほぼ起こらないだろうけど 別に人類の命運がかかっているわけでもなく タダの遊びに使うのなら 同時検知時は 内部的には 処理的にはどっちが速かったかを乱数で決めて 対外的には 機械がわずかな差をとらえたんですねー ってことにしとけばいいだろう(^p^)
404 :774ワット発電中さん :2022/09/01(木) 09:46:40.38 ID:9zEMRpPg.net 配線長とか寄生容量も揃えないとね。
405 :774ワット発電中さん :2022/09/01(木) 10:43:45.57 ID:hvleZJxq.net >>397 説明するまでも無いと思って省略したけど、当然スィッチ別に割り込みが可能な話です。 割り込みトリガ処理はCPUのハードウェアが担当するので(FFなどで)、 ハードウェアレベルで同時に(多分数nS〜数十nS以内に?)事象が発生したら、 CPUの処理順序はクロックのタイミングなど運次第という事になる。 >>403 「わ〜ん、僕の方があの子より5nS早く押したのに、機械のバカ、バカ」とかクレームがつくぞw
406 :774ワット発電中さん :2022/09/01(木) 11:11:52.11 ID:gMbapYNJ.net ケーブルの静電容量や抵抗、ボタンのONストロークやON加重、スイッチのチャタリング等を無視して 判定機のnsオーダーの衝突を議論してもほとんど意味がない 比較的シビアな判定が要求される格ゲーとかでもせいぜいフレーム(16.67...ms)オーダーだし msオーダーを判別できれば実用上問題ないのでは
407 :774ワット発電中さん :2022/09/01(木) 11:45:36.22 ID:ipYQJLJr.net >>405 > CPUの処理順序はクロックのタイミングなど運次第という事になる。 ハードに詳しくないんだろうけど今時の論理回路はクロックで同期されてるからクロック内で両方の信号が立ち上がったら同時と見なされて予め設定されてる「優先順位」に従って処理される 運次第とかないからw
408 :774ワット発電中さん :2022/09/01(木) 11:46:37.00 ID:ipYQJLJr.net >>406 さすがに実用性云々なんて言ってる奴はいないでしょ
409 :774ワット発電中さん :2022/09/01(木) 12:12:07.51 ID:V1wwAQKo.net >>398 >>391 はそういう前提に読めるし 同一なら結局ソフトで判定する事になる いずれにしろ>400の通り それより 座席の位置差による問題音声到達による不公平は どう解消してるんだろうか
410 :774ワット発電中さん :2022/09/01(木) 12:13:09.64 ID:WqDtDeZF.net 早押しにハンデの時間設定機能に挑戦しよう B選手は強いので早押しに三秒のハンデです 押してから三秒間は他の人の早押しが優先です!! C選手は2秒のハンデです ・・・みたいな。
411 :774ワット発電中さん :2022/09/01(木) 12:44:04.12 ID:1TO9jGwS.net それよりも、距離差による電圧降下で、たとえ同時に押しても、 ポートラッチするしきい値まで到達する時間に差が出てしまう。 この不公平をどう解消してるんだろうか
412 :774ワット発電中さん :2022/09/01(木) 12:50:15.85 ID:p7X030ky.net 一方ロシアはリレーで先押し回路を組んでCPUに配線した
413 :774ワット発電中さん :2022/09/01(木) 15:05:56.52 ID:izGKDh1Y.net 仮にハードウェアで実装したとしても素子の動作には時間が必要なんだし一定間隔以下判別は不可能でしょ
414 :774ワット発電中さん :2022/09/01(木) 16:07:41.16 ID:WqDtDeZF.net 同時は同時で表示して 同順の子同士で じゃんけんとかで決めて貰えば良いんでね?
415 :774ワット発電中さん :2022/09/01(木) 16:07:50.38 ID:GL6YrNvN.net どちらが早いかなんて観測者によって変わるんだから全くの公平なんか存在しない 相対論を勉強しなさい
416 :774ワット発電中さん :2022/09/01(木) 16:19:37.66 ID:WqDtDeZF.net ぷぷー まだ相対論なんて信じてるの?
417 :774ワット発電中さん :2022/09/01(木) 16:39:46.59 ID:FcqBcwXf.net ダークマターやダークエネルギーは 相対論と量子論の綻びだと思うが 将来それらが補強されることはあっても 否定されることは無いだろう
418 :774ワット発電中さん :2022/09/01(木) 16:42:01.48 ID:WqDtDeZF.net 特殊〜は 既に信憑性高くて 一般〜は まだ仮説に過ぎないという話を聞いた。しらんけど
419 :774ワット発電中さん :2022/09/02(金) 08:48:38.13 ID:gMv5gVhp.net マニアックになりすぎて質問者がいなくなるという、ありがちなパターン
420 :774ワット発電中さん :2022/09/02(金) 09:26:14.41 ID:usqH4RB9.net ふひひ!これでこそ電電板!!(^p^)
421 :774ワット発電中さん :2022/09/03(土) 13:48:19.14 ID:WAHpJzEV.net 切って切って切りまくった神回 桃太郎侍にも大江戸捜査網にも子連れ狼にも負けてない
422 :774ワット発電中さん :2022/09/03(土) 13:50:07.45 ID:WAHpJzEV.net >>415 大学の講義で相対論の講義受けたか?www
423 :774ワット発電中さん :2022/09/04(日) 03:39:23.67 ID:nsenM16E.net >>420 顔文字 ウザ
424 :774ワット発電中さん :2022/09/05(月) 11:31:32.95 ID:VzKR3EDw.net >>411 何で席位置に特化して電線短くするんだよ・・・ 各スイッチへの電線長さ同じにしとけばいいだろw それでも見込まれる電線加工誤差起因の距離バラツキのフェムト秒オーダーの差が不公平だって? そこまでいけば運も実力の内だ!あきらメロン
425 :774ワット発電中さん :2022/09/05(月) 11:32:00.02 ID:VzKR3EDw.net あ! うっかり顔文字忘れてた(^p^)
426 :774ワット発電中さん :2022/09/05(月) 12:13:55.78 ID:xKet2eGj.net 席の差(音速) > メカの差 > クロック > 回路
427 :774ワット発電中さん :2022/09/05(月) 14:34:06.40 ID:s8EJWoJX.net つまり地球7周り半で1秒のハンデか。。。
428 :774ワット発電中さん :2022/09/05(月) 14:49:50.88 ID:VzKR3EDw.net 七廻り半って抵抗値もリアクタンスもシャレにならなさそうやな・・・中継用のリピート局設ければいいのか?
429 :774ワット発電中さん :2022/09/06(火) 14:22:40.79 ID:TRs53LPB.net 光は直進するはずだが 7.5回も廻れるほど地球の重力はでかいのか
430 :774ワット発電中さん :2022/09/06(火) 15:03:15.08 ID:5x52KjlE.net 比喩表現
431 :774ワット発電中さん :2022/09/06(火) 15:07:08.05 ID:pon7wDCh.net 光が直進するだなんて迷信です。 そのメカニズムは、ホイヘンス波(素源波)を持ち出さなくても説明できる。 結論から言うと、東海道新幹線のレールに沿って進んでいるのだ!!(^p^)
432 :774ワット発電中さん :2022/09/06(火) 20:18:08.17 ID:9tVCLg80.net >>431 顔文字 うざい
433 :774ワット発電中さん :2022/09/06(火) 20:21:33.20 ID:69Uo9jaG.net なんで光?? 電気の話なんだけど
434 :774ワット発電中さん :2022/09/07(水) 16:07:02.51 ID:mj1B1d4m.net 光にまとめると基本通話料が今なら三か月無料キャンペーンなんじゃね?しらんけど
435 :774ワット発電中さん :2022/09/16(金) 08:57:42.05 ID:RZbdKLa3.net ファイルコンペアがしにくい時代になって世知辛いでう; フリーソフトも怖くてなぁ・・・
436 :774ワット発電中さん :2022/09/16(金) 10:24:38.04 ID:U/+eNuV1.net >>435 なにどういう意味?
437 :774ワット発電中さん :[ここ壊れてます] .net DOSの頃はfcとか、 VisualCの頃はWinDiffとかでファイルの差分比較がし易かったけど 最近は皆さんどうされているのでしょう? みたいなノリです
438 :774ワット発電中さん :[ここ壊れてます] .net fcは一致不一致をerrorlevelで返してくれないので使いにくかった
439 :774ワット発電中さん :2022/09/16(金) 12:47:14.38 ID:rofojeSk.net >>437 WinMargeというのがお勧めです。
440 :774ワット発電中さん :2022/09/16(金) 13:03:09.25 ID:RZbdKLa3.net ありがとー めもめも
441 :774ワット発電中さん :2022/09/16(金) 14:54:36.98 ID:wM46XRmc.net 似た名前のソフトなら良く使ってる
442 :774ワット発電中さん :2022/09/22(木) 21:46:21.32 ID:Khb3y+JS.net >>437 仮想マシン下でLinuxインストールして 共有フォルダにしてるわ。 Linuxはコマンドラインツールが豊富だしね。 WSLも良いんだろうけど
443 :774ワット発電中さん :2022/09/22(木) 23:18:36.58 ID:Vsvyb+jE.net >>440 フリーソフトだよ。怖くないの?
444 :774ワット発電中さん :2022/09/23(金) 09:07:37.90 ID:KO9m1q0O.net 怖いフリーはスーパーフリーだけ
445 :774ワット発電中さん :2022/09/23(金) 09:20:41.42 ID:G4vCvJNC.net >>443 フリーソフト怖いとか言ってたら、 少なくとも半分のwebサービス使えない。もちろん5chも。
446 :774ワット発電中さん :2022/09/23(金) 17:09:25.38 ID:JY3iyxqL.net Linuxなんてオープンソースだらけだけど
447 :774ワット発電中さん :2022/09/23(金) 18:09:53.31 ID:itppqrTy.net OSSは怖くないが、OSSでないフリーソフトが怖いってのはわからなくはない。
448 :774ワット発電中さん :2022/09/24(土) 00:03:39.67 ID:4Iihwbt4.net 確かに怪しいフリーソフトあったな。 昔は入れてパソコンめっちゃ調子悪くなったことある。 今あるのか知らないけど、 晒されるやつとか怖すぎるよね。
449 :774ワット発電中さん :2022/09/24(土) 05:00:04.54 ID:wLZVeb8U.net じゃ全部じまえで作ろうか。
450 :774ワット発電中さん :2022/09/24(土) 08:32:34.10 ID:QznOtN6n.net フグと同じで、最初は一部の人が手を付け、あとから大衆がついてくる。 無難であることを優先する人は、評判を探してから導入するかどうか判断するよな。 セキュリティソフトもある程度は役立つ。 動作が重くなったり誤作動のトラブルとかでデメリットもあるけれど、メリットは見えにくいしね。
451 :774ワット発電中さん :2022/09/25(日) 19:59:41.69 ID:CM9pjEQY.net MPLABXIDEの中に比較機能あったわ紹介してもらったのにサーセン
452 :774ワット発電中さん :2022/10/24(月) 23:10:03.96 ID:dYp1TtYY.net 今マイコンで日本語入力を実装するにはどんなアプローチがあるんだろ? とりあえずPCベースで使えそうな日本語入力エンジンを探してみると ・Qt Virtual Keyboard(OpenWnn for C++) ・Canna ・SJ3 ・Mozc あたり?メーカー提供のコードと衝突しやすいGPLやLGPLは除外した フットプリント的にDOSのFEP程度が上限だろうからMozc以外のどれか?調べてないけどMozcはでかそう 全てに言えることだが実装の解説やポーティングガイドみたいな資料は見つからない
453 :774ワット発電中さん :2022/10/25(火) 04:06:19.22 ID:GGQp5QpW.net マイコンでしょ? うんぬでしょ
454 :774ワット発電中さん :2022/10/31(月) 16:54:04.49 ID:uAlCFgwG.net 御菓子をくれなきゃイタズラするぞ(英訳するとトリックオアトリートってやつ)って 刑法で禁止されている強要・脅迫行為じゃないかと思うのですが なんで蔓延っているのでしょうか。少年法かなんかですか? しらんけど(^p^;
455 :774ワット発電中さん :2022/10/31(月) 17:07:10.82 ID:mqkahj6D.net 日本にはアホニーチャンやアホネーチャンがいっぱいいるから
456 :774ワット発電中さん :2022/10/31(月) 17:22:00.76 ID:De20hBvG.net なまはげは反社だよね
457 :774ワット発電中さん :2022/10/31(月) 18:35:15.83 ID:TFzq/GCt.net 彡 ⌒ ミ (´・ω・) まったくハゲはしょうがねえな… ____(____)__ / \ 旦 __\ <\.※ \____|\____ヽ ヽ.\ ※ ※ ※| |====B=|
458 :774ワット発電中さん :2022/10/31(月) 20:03:29.51 ID:Xrn5ygLT.net >>454 お菓子をくれないと(性的な)悪戯するぞ? こどおじならしてもいいんだよな?w
459 :774ワット発電中さん :2022/11/01(火) 09:19:10.45 ID:PYkv7ISU.net 私の禿は生ではありません 殺菌処理済みです
460 :774ワット発電中さん :2022/11/02(水) 09:37:20.90 ID:v9LTAEGy.net おいこら誰が許可した! 全く、勝手に禿げ散らかしやがって・・・ 好き嫌いせず、がまんして納豆食え納豆! エストロゲンを補給するんや!!(^p^)
461 :774ワット発電中さん :2022/12/11(日) 14:59:13.75 ID:D/Y+6WhY.net スレ違いですが、適切な場所がわからなかったのでここで質問しちゃう 汎用のマイコンFPGA基板を作るんですが、 出来るだけ汎用的に実験や学習出来る基板をコンセプトに、 モーター制御、カメラ制御、ネットワーク、高速計算、アナログ 質問は この機能やこのIC載が乗ってると周辺回路の制作手間が簡単に出来て 便利そうなのをあらかじめ搭載しておきたい。 例えば 汎用オペアンプ(計測) ゲートドライバ(FET付ければすぐ動かせる) レベルシフター(3V-5V相互とか) リアルタイムクロック パワーFET FPC(フラットケーブル)コネクタ スリープ時のバックアップボタン電池ソケット 12V電源から受電回路(24Vか?)
462 :774ワット発電中さん :2022/12/11(日) 15:04:32.08 ID:D/Y+6WhY.net など、載せとくとはかどるICや機能ってありますか? 基板作ってから、あーあれ乗せとけば良かったって後悔すると思うので アドバイスをお伺いしたいです。
463 :774ワット発電中さん :2022/12/11(日) 15:06:02.67 ID:D/Y+6WhY.net あーなんか日本語変ですね。 すみません。
464 :774ワット発電中さん :2022/12/11(日) 17:36:18.09 ID:HM3uWGMx.net 汎用って言ってもなぁ 普通の評価ボートと同じような感じじゃないの? マイコンの規模にもよるしなぁ んでも、usbシリアルとパラシリ・シリパラはのっけとくかな
465 :774ワット発電中さん :2022/12/11(日) 18:27:42.93 ID:D/Y+6WhY.net >>464 レスありがとうございます。 そうです、普通の評価ボードなみのもの、汎用って言ってもその程度です。 raspberry pico と FPGAロジックゲート2万 で考えてます。 シリパラ、パラシリですね、これは必要ですね。
466 :774ワット発電中さん :2022/12/12(月) 21:18:59.62 ID:b3Gvk+OL.net FPGA買えるのか?
467 :774ワット発電中さん :2022/12/12(月) 21:28:58.01 ID:jLS5tdke.net GoWin とか買えるよ。
468 :774ワット発電中さん :2022/12/13(火) 18:27:07.85 ID:Codryg8v.net >>466 MAX10なら基板に実装済のが買えると思う。 USBブラスターも互換品なら安いし、もどきなら自作も可能。
469 :774ワット発電中さん :2023/02/21(火) 01:28:41.33 ID:/JjDnBtb.net ドシロートです。 マイコンからTeraTermとかのターミナルソフトに文字を書くとき、 0x41 (右1つ) 0x42 (右1つ) 0x43 と、桁が右に1つ移動する信号を送信しなくても 0x41 0x42 0x43 と 文字の分だけ 3byte送信 すれば、ABC と、1桁ずつ右にずれて 表示されます。これはなぜですか? ターミナルが桁移動をやってくれるのでしょうか。 そうだとすると、 バックスペースキーで直前の文字表示を消したいときは、 0x08(BS)を送って1文字左にずらしても、ターミナルがすぐに右に1つずらすので、 一生左には行けないということでしょうか?
470 :774ワット発電中さん :2023/02/21(火) 02:00:40.24 ID:AmA8EbUp.net >>469 エスケープシーケンスでググる TeraTermがデフォルトでどういう端末をエミュレートしてるか調べる
471 :774ワット発電中さん :2023/02/21(火) 04:12:07.49 ID:yYdstOUk.net >>470 VT100ではないか?
472 :774ワット発電中さん :2023/02/21(火) 09:28:34.11 ID:Hvf5FDmo.net >>469 通信端末ソフトは通信データを ログとして表示してんよ 液晶表示器のドライバが念頭にあるのなら もちろんそういう管理もしてくれている。 左にカーソルを動かしたいならキャリッジリターンとよばれる制御文字を送ればいいんじゃね?質問の趣旨に適うのかしらんけど(^p^;
473 :774ワット発電中さん :2023/02/21(火) 09:50:41.83 ID:yYdstOUk.net >>472 何言ってんだ?オマエ。 知らんなら黙ってろ。
474 :774ワット発電中さん :2023/02/21(火) 09:52:08.55 ID:nH5jlCUd.net BSバックスペースは大抵は 0x08 0x20 0x08 の3bytesを送信する
475 :774ワット発電中さん :2023/02/21(火) 13:13:17.45 ID:/JjDnBtb.net >>474 ありがとうございます。 ということは、BSの場合は特別に、次の桁に移動しないということでしょうか。 ・BS 1つ戻る が、その場に留まる ・' ' スペース1つ書いて、自動で右に行く ・BS 1つ戻る が、その場に留まる これで、都合1つ前を消したように見える。 関連で教えてください。 RS232は、その昔、電動タイプライターによる通信だと聞いたことがあります。 CR, LF, TAB などは、ヘッドが先頭に戻る、紙が1行分上に移動する、決まった桁数送られるなど、 非常にイメージが湧くのですが、BSはどのように使われたのでしょうか? ヘッドが1つ左に戻るのはわかるのですが、 スペースを打っても、すでに打刻した文字が消えて無くなるわけではないですし。 '-'でも書いて「訂正だよ」とするのか。
476 :774ワット発電中さん :2023/02/21(火) 15:06:42.34 ID:d01kFuqe.net マイコン以前のタイプライターは $を打つときは S+0x08+| と打鍵していた しらんけど
477 :774ワット発電中さん :2023/02/24(金) 10:18:01.38 ID:gSyGlnEW.net >>475 >BSの場合は特別に、次の桁に移動しないということでしょうか。 違う 0x00-0x1F の制御コードがそれらの機能を果たした後の位置にカーソルが留まる 0x08 はその一部
478 :774ワット発電中さん :2023/02/24(金) 10:37:38.35 ID:d1cCbwaT.net £を打つときは L+0x08+= と打鍵していた しらんけど
479 :774ワット発電中さん :2023/02/25(土) 12:38:21.12 ID:HXzwxbtz.net >>477 >0x00-0x1F の制御コードがそれらの機能を果たした後の位置にカーソルが留まる ありがとうございます。 そういうことですか。0x1Fまでは留まり、0x20以上は次桁移動、ですね。 納得できました。 どうもありがとうございました。
480 :774ワット発電中さん :2023/02/26(日) 18:16:33.84 ID:4/c6qAtz.net お願いします。 C言語で、長い数値に L を付けるようです。 #define FREQ 8000000L このLについて検索したいのですが、検索キーワードがわかりません。 何の意味でしょうか、付けないといけないのでしょうか。
481 :774ワット発電中さん :2023/02/26(日) 20:18:11.38 ID:S+ttzyRS.net >>480 そのLはlong型のL 付けた方が文法的に正しいが、付けなくても今どきのコンパイラなら空気読んでよろしくやってくれる
482 :774ワット発電中さん :2023/02/26(日) 22:31:27.72 ID:4/c6qAtz.net >>481 ありがとうございます。 LongのLですか。なるほど。intはIとでもするのでしょうか。 なぜに こうしなければならないのでしょう。 コンパイラか「Lを付けてくれ」ていうことですよね?
483 :774ワット発電中さん :2023/02/26(日) 23:26:47.55 ID:ydYfG4oc.net C言語の仕様書読めばいいんじゃないの? JIS X 3010とか。
484 :774ワット発電中さん :2023/02/27(月) 15:53:58.37 ID:3VB/5sXD.net 釣り臭い質問者だが デフォがintなのでIは付けない L付けないとintに代入したとき オーバーフローしてて困ったりする L無しからlongに代入は符号拡張も気にしないといけない 最近は善きに計らえでも良いけど知らないのは問題ある
485 :774ワット発電中さん :2023/02/27(月) 16:38:40.38 ID:5RWzXlIJ.net ♪L? L! LはLIPのL! このくちびるに 燃える愛をのせて Lはあなたをみつめてる〜(^p^)
486 :774ワット発電中さん :2023/02/27(月) 23:01:28.18 ID:1b3JMfPn.net >>482 多くの場合はコンパイラが空気読んでくれるが、意図しない処理になる場合があるから、型はしてしておいた方が良い。
487 :774ワット発電中さん :2023/02/27(月) 23:58:43.60 ID:xt4hWSnl.net >>483 , 477, 479 ありがとうございました。今後は注意するようにします。 ありがとうございました。
488 :774ワット発電中さん :2023/03/03(金) 20:00:21.87 ID:eo+RrQBr.net C言語 サフィックス で検索したらいいよ 型に関連するコーディングルールはMISRA-C が参考になるよ 趣味レベルなら意識しなくてもほとんど困らないと思うけど
489 :774ワット発電中さん :2023/03/05(日) 21:33:30.10 ID:cEYjPgXT.net シリアル通信での質問です。 PCとマイコン間で通信する手段としてシリアルポートを使います。 大き目のデータをマイコンに送る際、WindowsではTera Termからファイルを送信すれば実現できますが 開発プラットホームがLinuxの場合以下のコマンドは存在しますが、ファイルの送信ができません。 cu:ファイル送信のオプションがない zmodem:モデムのハンドシェイク手続きが必要?ファイルと関係ない文字が送られる。 screen:ファイル送信のオプションがない 単にhexファイルやelfファイルなどのASCIIコードがまとめて送れればいいのですが 何も言わずにファイルの先頭からシリアルポートへ送るコマンドありますか?
490 :774ワット発電中さん :2023/03/05(日) 22:07:04.54 ID:qiR4Hy/8.net 自作
491 :774ワット発電中さん :2023/03/05(日) 22:07:41.80 ID:qiR4Hy/8.net あるかないかだけを知りたいなら ある
492 :774ワット発電中さん :2023/03/05(日) 22:19:29.56 ID:A0DlrjTD.net type hoge.txt >/dev/tty0 で出来るんじゃね?
493 :774ワット発電中さん :2023/03/05(日) 22:30:24.37 ID:ytl+fznw.net データ転送は cat <file_name> > /dev/ttyS0 cat <file_name> > /dev/ttyUSB0 ttyS0,ttyUSB0等はデバイス名 通信速度は stty -F /dev/ttyS0 9600 らしい、やった事無いけど
494 :774ワット発電中さん :2023/03/05(日) 22:59:59.54 ID:cEYjPgXT.net >>490 ,491,492,493 おーcatの標準出力先でいいのですねー 単純なシリアル通信エコーバックを実装したマイコンから全部返ってきて成功が確認できました。 ありがとうございます。 Windowsばっかり触って、そういう発想が出ないです。 失礼ながら、みなさんさすがですね。 ありがとうございました~^_^
495 :774ワット発電中さん :2023/03/06(月) 00:58:35.70 ID:Olfx8QBS.net >>494 このスレの人は、結構頭いいと思う。 現場経験に裏打ちされてる感じがする。
496 :774ワット発電中さん :2023/03/06(月) 13:17:34.17 ID:aZP91fof.net >>489 uucp とか uuencode/uudecode Motorola S record format
497 :774ワット発電中さん :2023/03/06(月) 15:09:02.41 ID:MXqsyCV5.net デバイスをファイルとして扱うのはUnixが先輩。 Windowsが倣っただけ
498 :774ワット発電中さん :2023/03/07(火) 09:46:12.94 ID:sc2gQref.net WindowsというかDOSというか。 DOSの事を UNIXもどき と書こうとして UNIXもがきとタイポしたライターさんが 面白がってそのままその表現を使った、みたいな話もあったらしいですな・・・ そういえばビルゲイツ猊下の功績はBASIC言語に関するもので、 MS-DOS自体は他人の開発品を買い取ったものだとかいう話を聞きかじりました、いわく、 開発者自体はくいっくあんどだーてぃーおーえすでキュードスとか呼んでいたとかなんとか;ホントかどうか知らんけど
499 :774ワット発電中さん :2023/03/07(火) 11:27:51.62 ID:h1KNJgMf.net digital research ?
500 :774ワット発電中さん :2023/03/07(火) 11:30:52.64 ID:h1KNJgMf.net いまも疑惑の目が向けられている http://izumilib.web. えふしー2.com/drdos/docs/histry.html https://retrocomputing.stackexchange.com/questions/26541/did-digital-research-clean-room-ms-dos https://mspoweruser.com/report-microsoft-did-not-copy-cpm-code-from-digital-research-to-create-ms-dos/ https://ascii.jp/elem/000/001/465/1465735/
501 :774ワット発電中さん :2023/03/08(水) 07:56:47.07 ID:E7qnVlpg.net >>498 当時標準だったCP−Mの互換OSをどっかの会社がつくったのをマイクロソフトが買い取った。 汚い造りとか言うが、当時のコンピューターの性能考えたら、みてくれにかまってる余裕無いと思う。
502 :774ワット発電中さん :2023/03/08(水) 08:11:04.89 ID:NzMC9sJ3.net CP/M
503 :774ワット発電中さん :2023/03/08(水) 08:25:00.05 ID:45B+NZus.net 買い取った製品を熟成させるのも立派な仕事やで。
504 :774ワット発電中さん :2023/03/08(水) 08:47:35.11 ID:TUEI8WnO.net というか多くの産業が他人が生み出したものを単独または複数の団体や個人がブラッシュアップすることを積み重ねてきたわけだし。 悪く言う人の視点って、たいていの場合悪く言うための視点だしね。
505 :774ワット発電中さん :2023/03/08(水) 08:59:54.10 ID:/25HUXPj.net >>504 「マイクロソフト帝国 裁かれる闇」という本にMSの汚いヤリクチが詳しく書いてある 読んだら考えが変るかもしれない
506 :774ワット発電中さん :2023/03/08(水) 10:37:52.67 ID:4VHH4JZV.net 任天堂といい マイクロソフトといい いやはや この世には、神も仏もいないのかと思うよね(^p^;しらんけど 諸宗教の神は ヒトに智慧のみは与えるな、 子供には鞭で訓育しろという価値観だし 逆に人に知性や火を与えるのは悪魔や悪い神という構図構成、 仏教も本来は生老病死という苦痛に満ちたこの世の輪廻からどうすれば脱却(解脱)できるか?を 解いてた宗教なわけでこの世に留まり暮らす事を是とする様な現状の大衆宗教の教えとは真逆な物だし、で。 まぁありていに言って地獄だよね、ここは。しらんけど(^p^)
507 :774ワット発電中さん :2023/03/08(水) 12:59:13.09 ID:nYm+NkEg.net Microsoft傘下のChatGPT 学習内容に政治的な偏りが出ることは必至 価値が下がったように思える。
508 :774ワット発電中さん :2023/03/09(木) 10:04:52.24 ID:VeOBPgEK.net >「マイクロソフト帝国 裁かれる闇」という本にMSの汚いヤリクチが詳しく書いてある マーガリンはプラスチックと書かれた本を見たらバター派になる、みたいな単純な話。 書かれてなくても、ほかの企業も同様の汚いヤリクチをやってきているだろう、ぐらいの ことは考えたいもの。(ほかの巨大IT企業に闇がないとでも?) 今の俺たちの快適な生活環境も、たくさんの戦争や幸せな発展や汚いヤリクチや人の不幸の上に 成立してるんやで。それもまた原罪といえば原罪。
509 :774ワット発電中さん :2023/03/09(木) 10:07:17.39 ID:iyMHjcGd.net そのMSといまのMSは違う会社
510 :774ワット発電中さん :2023/03/09(木) 12:46:15.54 ID:mluhr5Ts.net 「汚い」にもピンからキリまであるし 白鳳のエルボースマッシュみたいなものもある
511 :774ワット発電中さん :2023/03/09(木) 12:46:15.73 ID:mluhr5Ts.net 「汚い」にもピンからキリまであるし 白鳳のエルボースマッシュみたいなものもある
512 :774ワット発電中さん :2023/03/10(金) 08:52:30.79 ID:7ou7roIk.net そういや印度でその名前つかうなといちゃもんつけられて商標訴訟起こされて 裁判に勝って名乗り続けている方のマイクロソフト社はベビー服屋さんだったっけか。 産着出す予定でもあったのだろうか? 印度人もびっくり ララア専用モビルアーマーの名前変えさせた有名某社も、そんなら とっととモバイルアーマーの販売をはじめんかい、とも思うが;
513 :774ワット発電中さん :2023/03/10(金) 09:14:52.75 ID:oIw2f0Vj.net かつてマイクロソフトを分割しろと集団で訴えていた会社たちは、 本質的には、マイクロソフト的なものをダメだと言っていたわけではなく、 自分がマイクロソフト的なものになりたいがために、 トップにいたマイクロソフトを引きずり落としたかったんだんだよな。
514 :774ワット発電中さん :2023/03/10(金) 16:22:15.68 ID:TgbPlhkE.net 車に轢かれて道路上に転がっているスカンクとMSの弁護士の違い スカンクの前の路上にはブレーキ痕があるが、MSの弁護士の前には アクセルを目一杯踏み込んだ痕がある。
515 :774ワット発電中さん :2023/03/10(金) 16:34:59.39 ID:7ou7roIk.net 戦果が予想外に低かった時に、過大な戦果を見込んで結んだ法外な契約金の 支払いを渋った某社が暗殺を依頼という可能性はどれくらいあるのだろうか?しらんけど(^p^;
516 :774ワット発電中さん :2023/03/10(金) 16:51:09.88 ID:xjJQmGdW.net Winny観てきた おまいらも観てこい
517 :774ワット発電中さん :2023/03/10(金) 16:52:27.99 ID:ZWMPC9XU.net >>516 どこでダウンロード出来る?
518 :774ワット発電中さん :2023/03/10(金) 18:46:14.42 ID:eyMdvlbq.net そりゃあWinny使って...
519 :774ワット発電中さん :2023/03/13(月) 10:13:20.05 ID:lQhSnpQj.net https://github.com/loadletter/Winny-p2p
520 :774ワット発電中さん :2023/04/11(火) 23:16:06.25 ID:kMvdeFMu.net RTOSの比較って使ってみるしかないの? 無償で試せるのだけでも軽く二桁あるんだが
521 :774ワット発電中さん :2023/04/12(水) 18:31:15.18 ID:EifXX9k9.net >>520 自力で比較したいなら自分で使ってみるしかないけど、数が多くて大変だよね。有名どころに絞るとか、誰かの記事を参考にするとかしたら? https://monoist.itmedia.co.jp/mn/series/18826/spv/
522 :774ワット発電中さん :2023/04/12(水) 23:20:37.64 ID:Xc6cfLms.net >>521 サンクス。読んでみます 最近はRTOSと言いつつリアルタイム処理よりアプリケーション開発基盤として語られていることが多いように感じます みんな大好きFreeRTOSもアプリケーションの開発関係の記事ばかりで、本来のRTOSや組み込みOSとしての 解説や評価などはほとんど見ないような・・・ 時間管理はもちろん、内部構造の把握のしやすさとか、移植性とか、抽象化レベルとか 自作すると面倒くさい問題の解決を支援してくれる機能とか
523 :774ワット発電中さん :2023/04/13(木) 12:18:48.76 ID:zHo7sZlI.net リアルタイム性最優先ならOSなんか使わないのが一番
524 :774ワット発電中さん :2023/04/13(木) 14:47:33.37 ID:NDSWE/BV.net 実用性あるもの作ろうとしたらマルチタスク無いとほんと苦労するから。 msecオーダーのユーザーインターフェイス程度のリアルタイム性はRTOSで設計。 計測やナノ秒リアルタイム性求めるアプリなら、FPGAかASICで設計しないと。
525 :774ワット発電中さん :2023/04/13(木) 20:08:03.54 ID:i+vdzxyn.net 「リアルタイム性」を理解してない奴がなんでこんなところに居てんの?
526 :774ワット発電中さん :2023/04/13(木) 21:37:52.76 ID:00gXTBgm.net >マルチタスク無いとほんと苦労するから。 複雑な仕様を「割り込み+ポーリング」のシングルタスクで作るのは プログラムが大きくなって時間が掛かるし、バグも生まれやすくなる。
527 :774ワット発電中さん :2023/04/14(金) 01:01:24.81 ID:7C3rzM9J.net そのマルチタスクのルールやクセも理解せずにプログラムして、 デバッグもできない深刻なバグを作るところまでがセットだな。
528 :774ワット発電中さん :2023/04/14(金) 07:28:15.21 ID:kB3N6WFd.net >>524 タスクの数だけマイコン付ければ解決。
529 :774ワット発電中さん :2023/04/14(金) 07:56:11.06 ID:xXL+AT8i.net 全体を制御するマイコンはいらんのか?
530 :774ワット発電中さん :2023/04/14(金) 08:38:52.33 ID:Gw7/C3AR.net 自分で作れば理解なんかする必要は無いw 大昔、AVRのTiny2313用のタスクディスパッチャ作ったけど、役に立っている。 アセンブラで言えばアブソリュートでifもmacroも無いようなもんだけど、 こんな原始的ものでも有ると無いとじゃ大違い。
531 :774ワット発電中さん :2023/04/14(金) 10:03:25.24 ID:lSfmkjYo.net 出た、タスクディスパッチャさん
532 :774ワット発電中さん :2023/04/14(金) 12:13:01.82 ID:xXL+AT8i.net >>530 自分で作っても理解してないんか。
533 :774ワット発電中さん :2023/04/14(金) 14:11:49.47 ID:50JZFw0s.net 新プラトン派の連中も、「プラトンが言っている事は正しい、が プラトンは自分が言っている内容を理解はしていなかった」ってことで プラトン派と たもとを分かったらしいで; しらんけど
534 :774ワット発電中さん :2023/04/14(金) 19:00:55.75 ID:6KPiKJ0W.net 「msecオーダーのユーザーインターフェイス程度のリアルタイム性はRTOSで設計。」 www
535 :774ワット発電中さん :2023/04/14(金) 19:04:55.33 ID:thMiMmbe.net >>526 OSを使う方がはるかに複雑でコードサイズも大きくバグも生まれやすい そもそも、同期の仕組みもなくmsオーダーでしかスイッチできないようなものはRTOSとは呼べない
536 :774ワット発電中さん :2023/04/14(金) 19:12:57.43 ID:7C3rzM9J.net ディスパッチャさんのマルチタスクはすごいんだぞ! アセンブラしか使えないし、俺ルールだらけで他人には全く使いこなせないんだぞ!
537 :774ワット発電中さん :2023/04/14(金) 19:33:54.22 ID:GfTc/8WP.net ここ急にレベル落ちたな。 言葉使いもなんだか・・・
538 :774ワット発電中さん :2023/04/14(金) 19:53:01.47 ID:7C3rzM9J.net 長年ココ見てるけどレベルが高かったためしなんかないぞ
539 :774ワット発電中さん :2023/04/14(金) 20:28:39.67 ID:JSIOuvbU.net 今のご時世にマルチタスキングが難しいとか言っている人は プログラミングのパラダイムがシングルタスクのままなんだろ 「動けばおk」みたいな設計をしていたらそりゃ大変で当然だわ
540 :774ワット発電中さん :2023/04/14(金) 21:29:21.34 ID:7C3rzM9J.net アマチュアにマルチタスクが当たり前なんて風潮があるか? 当たり前に使ってるのって職業プログラマだけだろう。 数十年マルチタスク使ってるけど、話が通じる素人さんなんて見たことない。
541 :774ワット発電中さん :2023/04/14(金) 22:02:41.76 ID:thMiMmbe.net OSレスでもRTOSでも巨大OSでも組めるのがプロ ディスパッチャ君のはOSでも何でもない ただのゴミ
542 :774ワット発電中さん :2023/04/14(金) 22:07:06.71 ID:thMiMmbe.net ただのキー処理やLED点滅処理や低速通信の為にマルチタスクOSが必要 なんて言ってるアホ ソフトウェアの基礎から勉強し直せ
543 :774ワット発電中さん :2023/04/14(金) 22:31:00.05 ID:GfTc/8WP.net それはどうかな? 8x8のLEDマトリックス各ポイントを違うタイミングで点滅させるような場合 OSを使う方がはるかに簡単で正確な点滅ができると思うよ。 遅い通信でも同期通信のような場合、常にtimer使って監視するより OSのタスクで監視したほうが簡単。 いづれもOS必須ではないけどね。 使えるなら使ったほうがアホでは無いと思うよ。
544 :774ワット発電中さん :2023/04/14(金) 23:27:30.11 ID:0SQ7gaig.net 「必要である」と「そっちの方が楽」では噛み合わんよな。 「OS」を「コンパイラ」に置き換えたらわかると思う。
545 :774ワット発電中さん :2023/04/15(土) 03:47:55.71 ID:Q6zbZW5T.net 「そっちの方が楽」ねぇ・・・ >>543 程度でOS持ち出すかねぇ・・・ 100個や1000個の時間監視ごときに・・・
546 :774ワット発電中さん :2023/04/15(土) 06:55:23.92 ID:Q6zbZW5T.net ごく一例なんだけどさ、 ウチの場合、仕事でOS使うのは個人差を無くすためなんだよ。 スキルなんてそうそう身につかないよ。 OSには良くも悪くもルールがある。 それを覚えれば確かにある種のバグは減る。 でもそのルールを全部覚えるのも大変だよ。 OS使ったが故の、理解不足が故のバグだってあるよ。 そして仕事してて「こんなのにOS要るか?」ってのも非常に多い。 もちろん必須な場合だってあるんだけどさ、趣味でそこまでするの? したっていいんだけど、しなくてもバカ呼ばわりされることじゃないなあ。 決して「楽」だけじゃない。その前に相応の「苦労」と言う代価がある。 価値は人それぞれ。
547 :774ワット発電中さん :2023/04/15(土) 08:08:23.30 ID:LdxsDLtJ.net 他人が「自分がやるときはこっちの方がいい」って言ってることに深く干渉することはないよな。 当人しかわからないメリット、デメリットの判断に至る条件っていろいろあるんだし。
548 :774ワット発電中さん :2023/04/15(土) 12:35:54.84 ID:yLJ6fuHY.net そもそもマトリックス状に並んでるLEDの一個一個を個別に制御する必要があるのかから考えてくれよ。 それでも「ある」とか言い出して引かないんだろうな。プロジェクトにいて欲しく無いタイプ。
549 :774ワット発電中さん :2023/04/15(土) 13:44:02.32 ID:LdxsDLtJ.net 課題はそういうものだし。 技術を理由に要求を合理化しても、まず問題がないのは自分たちで閉じているプロジェクトだけだと思う。 できない、あるいは、めんどうな場合は、しないという選択もありなわけだし。
550 :774ワット発電中さん :2023/04/15(土) 13:54:28.94 ID:bygmGLxo.net >>548 個別に制御しないなら何のためにマトリックスにしてんの?
551 :774ワット発電中さん :2023/04/15(土) 14:01:18.65 ID:des5NW7K.net マトリックスLEDの制御だけなら難しいことはなくね
552 :774ワット発電中さん :2023/04/15(土) 16:53:00.35 ID:gKyD+Bo9.net >>550 言葉尻だけ捉えて突っ込むなよ。 >543 はマトリックス状の 個々にタイマーリソースを振り当てて制御しようとか頓珍漢な 条件後付けをしてんだわ。 普通そんなのしないよね?個々に制御したいなら送るデータを 加工したり、タイマーの時間を調整するよね?
553 :774ワット発電中さん :2023/04/15(土) 18:01:29.68 ID:LdxsDLtJ.net > >543 はマトリックス状の > 個々にタイマーリソースを振り当てて制御しようとか頓珍漢な > 条件後付けをしてんだわ。 >>543 がそんなこと言ってるかな? マイコンのテクニカルな話をする前の問題。 技術者って(ときには専門外の)相手の意図をくみとって、形にする仕事だと思う。 より前向きに書かれていない行間から合理性を拾って合意や落としどころを形成することも仕事の重要な要素だよ。 なのに、書いてあることを誤って解釈してちゃだめだ。せめて書いてあることはよく理解しようぜ。
554 :774ワット発電中さん :2023/04/15(土) 18:47:55.47 ID:pJ4eYr9+.net もっと簡単な例 LED3個をそれぞれ3,5,7msec間隔で点滅させる場合、書けないことはないけどちょっと大変。 OSのタスクを使うと、以下で済む Create_task(A) { while() { ledA_ON; delay(3); ledA_OFF; delay(3); } } delay時間と対象のLED変えてタスクB、タスクCを同じく作るだけ。
555 :774ワット発電中さん :2023/04/15(土) 21:34:41.19 ID:pJ4eYr9+.net 4月だから会社に新入社員が入ってきてるやん。 もし新入りくんが「その処理ならRTOS使えば楽勝っすよ」って先輩さしおいて提案する場面があるかもしれないやん? 技術屋なんて年齢と関係なく知識で逆転されてることなんてザラにあるでしょ。 その時、先輩としてどう反応するの? 「ばーかOSなんか使わないでシングルタスクで作ってろ」 とか言うわけ? その新入くんは、それ聞いて転職を考え始めるんじゃないか?
556 :774ワット発電中さん :2023/04/15(土) 22:00:51.86 ID:bygmGLxo.net >>554 別々のタスク書くなら別々の関数作ればいいだけじゃね? それを「ちょっと大変」って思うかな?
557 :774ワット発電中さん :2023/04/15(土) 22:24:05.76 ID:pJ4eYr9+.net >>556 関数だとwhileから抜けられないし、delayで3msec処理止まるやん? タイマー使って、ONタイミングOFFタイミング作ってってやってるとできるけどさ。 めんどくさくない? 時間とタイミングの処理おまかせで考えなくてもいいから楽だよ。
558 :774ワット発電中さん :2023/04/15(土) 22:25:31.46 ID:kdwwIGYa.net 1msでループ回してインクリメンタルカウンタをifで数えるだけじゃね 処理内容的には一番安い数セントマイコンで十分だがそれに搭載できるRTOSは限定されるだろう
559 :774ワット発電中さん :2023/04/15(土) 22:33:13.91 ID:bygmGLxo.net OS使ったほうがやりやすい場合があるのはみんな分かってんだし くだらない例を出しても仕方ないだろ。
560 :774ワット発電中さん :2023/04/15(土) 22:35:30.45 ID:bygmGLxo.net >>557 本気でそう思ってんの? ちょっとは考えて書いたほうがいいよ。
561 :774ワット発電中さん :2023/04/15(土) 22:45:11.07 ID:pJ4eYr9+.net >>560 では、ご説明をお願いします。
562 :774ワット発電中さん :2023/04/15(土) 22:45:30.02 ID:eYK5awAh.net RTOS使えばいいって言っている人はArduinoクラスでも想定しているのかね あれだけメモリがあればRTOSも載るだろうが派手なLチカ用にATmega328は結構贅沢だろ
563 :774ワット発電中さん :2023/04/15(土) 22:55:22.77 ID:pJ4eYr9+.net LED3個点滅させるのにOS必須って言ってるわけじゃないよ。 タスク説明するときによく使われる例だから。
564 :774ワット発電中さん :2023/04/15(土) 23:32:58.61 ID:pJ4eYr9+.net >>560 君には550の内容の間違いを指摘できるんだよね? もちろんその内容が正しかったら間違いを認めるよ そうやって自分の間違いを修正してきたから、むしろ感謝すべきだと思ってる。
565 :774ワット発電中さん :2023/04/15(土) 23:37:46.06 ID:kdwwIGYa.net >>554 RTOSの本質ではないし組み込みマルチタスクのよくある用法でもない マイコン入門者に loop { PORT1.b1 = 0; delay(1000); PORT1.b1 = 1; delay(1000); } みたいな例を教えるとイベントドリブンではない非効率なコードを量産するけど大差ないレベルで有害じゃね
566 :774ワット発電中さん :2023/04/15(土) 23:48:27.00 ID:eYK5awAh.net ついでにそんな覚え方をしてたらマルチスレッドが難しくて当然だな 排他制御とかガン無視だし遠くない未来に破綻して発狂するのは明らか
567 :774ワット発電中さん :2023/04/15(土) 23:50:24.71 ID:pJ4eYr9+.net 558 言われてることはおおよそ理解できます。 閉じたループやらdelayを多用するようなコードは良くないです。 タスクの役割がわかりやすいかなという意図から例としただけで。
568 :774ワット発電中さん :2023/04/15(土) 23:58:14.40 ID:pJ4eYr9+.net >>560 日が変わるからIDも変わるし、時間切れな 容赦なしで言わせてもらうと君はハッタリだな。一番はずかしいタイプだな、 そういうやつは技術も身につかねーから。 クリスマスツリーでも作ってろや、な
569 :774ワット発電中さん :2023/04/16(日) 00:36:31.24 ID:kZ+M/SaK.net Rust界隈はむやみに共有リソースを持たない方向に行っているよね 排他制御をしなくていいならそれに越したことはなく事故率は下がり性能は向上する 組み込みも遠からずそうなっていくのでは
570 :774ワット発電中さん :2023/04/16(日) 08:37:16.03 ID:b7/VIm1w.net いろいろとやってみたらいい。 なじんでないものは、たいてい使いにくく、やりはじめはバグ、トラブルの原因にもなる。 なじんでないものを、なじんでいる人が良いというぐらいになじんで使えるようになるには時間も能力も限られている。 世の中のすべて人が、世の中のすべてのことになじむ必要はないし、そんなのありえない。 なじんでない人が、なじんでない技術を、世の中で価値が薄いものだというのは、傍から見ればきつねと葡萄。 なじんでいる人が、なじんでない人をさげすむのは、思い上がり。 ひとつのことを実装するのに、いろいろな方法がある。人によって違う解決があっていい。 価値があるのは、実装方法はどうであれ、求めている人のニーズを理解して形にして世の中に出せることだよ。
571 :774ワット発電中さん :2023/04/16(日) 17:17:52.16 ID:V7tN8xew.net 前に作ったiny2313用ディスパッチャのサンプル(タスク2個切り替え) タイマ0を周期1mSのCompAで駆動、20MHzクロックでオーバーヘッドタイム約1μS AVRはマルチタスクに何の配慮も無いし、2313はSRAMが128バイトしかないので マルチタスクは使いづらいが、それでもマルチタスクが有用な仕様もある C:000015 93ef push ZL ;save ZL,ZH & SREG to currrent stack C:000016 93ff push ZH C:000017 b7ef in ZL,SREG C:000018 93ef push ZL C:000019 2de1 mov ZL,sv_SPL ;exchange SP task1 <--> task2 C:00001a b61d in sv_SPL,SPL C:00001b bfed out SPL,ZL C:00001c 91ef pop ZL ;restore ZL,ZH & SREG from next stack C:00001d bfef out SREG,ZL C:00001e 91ff pop ZH C:00001f 91ef pop ZL C:000020 9518 reti ;exec. next task
572 :774ワット発電中さん :2023/04/16(日) 17:21:05.30 ID:9JTomruF.net 誰も出せとかいってないww
573 :774ワット発電中さん :2023/04/16(日) 17:45:32.52 ID:39Yt3A0S.net 引っ込んでろ
574 :774ワット発電中さん :2023/04/16(日) 17:56:51.89 ID:V7tN8xew.net 再登場ッ!w 今まで使ってきた全てのCPUでディスパlッチャ作ってきたけど ただ一つの例外がPIC16F84 これがPICと別れる理由の一つにもなった
575 :774ワット発電中さん :2023/04/16(日) 18:20:34.84 ID:V7tN8xew.net たまに登場しないと忘れちゃうでしょ?w 私はソフトでもハードでも「自作できるものは自作したいな」でやってます AVR始めた時もターゲット回路に影響しないシリアルライタを作り 続けてPC側とAVR側のデッバグ用プログラムを作り・・・ できるだけ自分の手の内に納めておきたい ブラックッボックスがイヤなんですよね
576 :774ワット発電中さん :2023/04/16(日) 20:59:52.63 ID:1/EDkoOV.net >>575 は顔文字の人じゃないか? iny というマイコンは初めて聞いた。 どこのマイコンだろう。
577 :774ワット発電中さん :2023/04/17(月) 07:01:14.41 ID:nCS+JLE+.net tiny2313のタイポでしょう。
578 :774ワット発電中さん :2023/04/17(月) 07:45:37.07 ID:Ya2jxXGZ.net >>574 NG回避キモっ
579 :774ワット発電中さん :2023/04/17(月) 09:09:42.70 ID:ye1wxrx8.net 顔文字さんの名誉のために言っておきますけど、 私(V7tN8xew)は別人で、天上天下唯我独尊、孤高の道を行く、 下天のうちに比べれば夢幻の如くなりw のディスパッチャ爺です 私の技術力は彼の足下にも及びませんが、 彼の他人の悪口を書かないところだけでも真似したいと思っています。
580 :774ワット発電中さん :2023/04/17(月) 15:07:04.94 ID:bkdmlzbC.net ぼくのぎじつりょくはそんなにたかくないので 誰の事か判らんくなって気だぞ(^p^;
581 :774ワット発電中さん :2023/04/17(月) 18:25:34.43 ID:FAME4LSI.net C/C++で ・規格(C99とかC11とか)に準拠しないコード ・処理系に依存するコード ・未定義の動作を引き起こしうるコード を見つけてくれるコードチェッカとかあります?
582 :774ワット発電中さん :2023/04/17(月) 19:59:25.59 ID:CB8HLTFS.net Chat GPT
583 :774ワット発電中さん :2023/04/17(月) 23:49:33.18 ID:L+FCoTWm.net >>580 顔文字やめてください
584 :774ワット発電中さん :2023/04/18(火) 14:08:44.48 ID:aPGgi/bm.net >>583 https://o.5ch.net/20wv6.png
585 :774ワット発電中さん :2023/04/19(水) 15:09:27.58 ID:rNrS3ekx.net 偏執狂の辞書には「諦める」という単語は無い
586 :774ワット発電中さん :2023/04/20(木) 23:14:12.78 ID:nmGoEaKP.net し…諦める
587 :774ワット発電中さん :2023/04/22(土) 11:14:39.33 ID:8G2tAE0w.net 諦めるな、偏執狂を締めよ
588 :774ワット発電中さん :2023/04/27(木) 11:42:56.31 ID:/EmB7DJI.net Chat GPT は私やあなたのような3流プログラマを駆逐するか?
589 :774ワット発電中さん :2023/05/03(水) 23:26:41.14 ID:KW8zWTye.net これも運命だ・・3Dプリンタで製造業は全滅したしな・・・
590 :774ワット発電中さん :2023/05/04(木) 21:55:10.86 ID:Ms/4UIVb.net え? プリンタで作った部品使ってる車とか無いぞよ
591 :774ワット発電中さん :2023/05/10(水) 05:21:21.88 ID:UpjcfkXG.net >>590 車は無いけれどもGEがガスタービンを3Dプリンタで作成しているよ。複雑な形状を削り出し出来ないからプリンタを使った
592 :774ワット発電中さん :2023/05/10(水) 09:15:42.23 ID:89G1H6tl.net >>590 VWは使ってるけど? 無知は黙ってろ。
593 :774ワット発電中さん :2023/05/10(水) 17:07:17.58 ID:c17EP1xL.net イギリス軍がテスト中のフライングスーツのジェットエンジンって 3Dプリンタで作ってるんだよなあ。
594 :774ワット発電中さん :2023/05/10(水) 18:27:35.57 ID:9O0xiLYo.net >>590 は10年寝てたんだよ許してやって
595 :774ワット発電中さん :2023/05/10(水) 18:45:40.98 ID:gIaqauVG.net ロケット開発ベンチャーにとって3Dプリンタは必須装備
596 :774ワット発電中さん :2023/05/10(水) 19:26:12.41 ID:ubvaxuJh.net この流れ見てると理系の悪い性格が出てるよ。 582の発言に対して583の発言は流れとして車を例に出しただけ。 限定的な知識を出して、他人を無知などとこき下ろしてる。 その厳格さは仕様書を読むときやプログラミングだけにしとけば?って感じ。 chatGPTのほうが人格が上だね。
597 :774ワット発電中さん :2023/05/10(水) 21:31:18.68 ID:89G1H6tl.net まあ、理系板だしな。 でも、ちょっと調べれば分かることを 「プリンタで作った部品使ってる車とか無い」と言い切るのは愚か者としか言いようがない。 ネット上に間違った情報を増やすのはやめてほしい。 それこそChatGPTにも悪影響がある。
598 :774ワット発電中さん :2023/05/11(木) 09:09:41.07 ID:F/nNXZ20.net 理系、文系は関係無いよ ここはゲスが集まって自分のゲスレベルを競い合ううところだからな 「ゲスに交わればゲスになる」 良い子は近づいてはいけませんw
599 :774ワット発電中さん :2023/05/11(木) 09:40:05.04 ID:FtehVnAt.net puipuiモルカーは自動車の範疇に含まれますか?
600 :774ワット発電中さん :2023/05/11(木) 13:50:11.47 ID:Kx6p8BMm.net 児童舎でつ
601 :774ワット発電中さん :2023/07/10(月) 12:49:00.77 ID:jUsC+vJr.net 秋月スレから移動してきました。 370 名前:774ワット発電中さん[] 投稿日:2023/07/10(月) 08:47:34.03 ID:HXshJPvz >>375 そもそも、何でinpとoutpがメモリと別にあるんでしょうか? 同一直線上にあっても良いと思うのですが、 当時は何か事情でもあったのでしょうか? 371 名前:774ワット発電中さん[sage] 投稿日:2023/07/10(月) 09:01:27.08 ID:hJ/c4TqK >>377 メモリとIOデバイスの速度がかなり違ったり メモリアクセス時とIOアクセス時の処理を分けるのが簡単 372 名前:774ワット発電中さん[sage] 投稿日:2023/07/10(月) 09:03:38.16 ID:2Xm28lZL >>372 メモリがある程度余裕ある時は使っちゃうなぁ シリアル経由で機器制御とかの文字列処理 や数値抜き取りしたい時にsprintf()/sscanf() だって簡単なんだものw 374 名前:774ワット発電中さん[sage] 投稿日:2023/07/10(月) 09:17:07.23 ID:/DJb27v2 >>377 64KB全部メモリのほうが綺麗だと思うけど。 I/Oのためにアドレスデコーダ作るのも面倒だし。 もちろん、メモリマップドI/Oにすることも出来る。 ってか、今でもマイコンだと専用のインストラクションが割り当てられてたりすると思うけど、使ったことないのかな? 375 名前:774ワット発電中さん[sage] 投稿日:2023/07/10(月) 09:41:02.86 ID:zbpt3cNp [1/2] >>377 周辺回路が作りやすい他にメモリマップ上に速度が全然違う余計なものが入らない方が使いやすいと言う考えもあった 同一線状といってもアドレスラインは16本であまり余裕はないしね インテルは8080発売後しばらく経ってからマップドIOを勧めだした記憶があるがハード屋の俺は面倒だなと思ったよ 当時はそんなにスピードが違ったんですね。 でも、遅いI/O→速いメモリ→遅いI/O→速いメモリ→ だったら どうせ直列にこなすんだから、 メモリマップトでも良いのでは無いでしょうか。 確かにアドレスデコーダを作るのは面倒くさいですね。
602 :774ワット発電中さん :2023/07/10(月) 14:24:46.06 ID:Ox3EUrkc.net メモリマップトはあたかもメモリ上に見えてるけど、CPUハードの中で処理完結されてる。 なのでINP、OUTPの命令もメモリマップトも実はやってることがほぼ同じ。 質問の的外れ回答ならならすまんちょっと自信ないけど、 FPGA使ってるから自分ならそう設計する。
603 :774ワット発電中さん :2023/07/10(月) 14:54:49.25 ID:Ox3EUrkc.net キーワード:メモリマップドIO 対 ポートマップドIO INP、OUTPの専用命令があるタイプは メモリアドレス空間が小さくて制限がある場合みたい。 なるほどね。 今はアドレス空間広いからメモリマップにしたほうがロジック共有できてるのかもしれない wiki https://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%9E%E3%83%83%E3%83%97%E3%83%89I/O
604 :774ワット発電中さん :2023/07/12(水) 00:37:23.83 ID:l5OVchmT.net >>590 ボロクソワーゲンってどの部分に樹脂使ってんの。内装ならわかるけど。
605 :774ワット発電中さん :2023/07/12(水) 00:42:26.56 ID:l5OVchmT.net >>591 >車は無いけれどもGEがガスタービンを3Dプリンタで作成しているよ。複雑な形状を削り出し出来ないからプリンタを使った サプライチェーンの問題では。日本は米国よりもサプライチェーンの数が多いからな。技術者でも時給1500円で働いているから、 人件費の高い米国と違って、そうそうつぶれない。
606 :774ワット発電中さん :2023/07/12(水) 00:49:46.53 ID:l5OVchmT.net LGBTと一緒で、スクラップビルドの一環だろう。すべて真に受けて振り回されると糖質になるわ。
607 :774ワット発電中さん :2023/07/12(水) 18:58:21.19 ID:JVJMunbq.net #include < >について調べたいのですが、 < や > は、なんと読むのでしょうか?
608 :774ワット発電中さん :2023/07/12(水) 19:01:36.45 ID:d6RDxvUf.net 人によって違うかもしれないけど 山括弧 angle brackets
609 :774ワット発電中さん :2023/07/12(水) 19:02:08.17 ID:L6R5oEJF.net ASCII 記号 読み方 で検索。
610 :774ワット発電中さん :2023/07/12(水) 19:03:32.22 ID:nto4bs2b.net >>607 しょうなり、だいなり
611 :774ワット発電中さん :2023/07/12(水) 23:22:20.25 ID:JVJMunbq.net みなさんありがとうございました。 しょうなりだいなりと呼ぶことも多いみたいですね。 小なり だと思いますが、右か左かどちらを説明しているのか迷いますね どうもありがとうございました。
612 :774ワット発電中さん :2023/07/13(木) 16:55:36.11 ID:YmfvJVTI.net どう考えても x > 5 は、小なりじゃないだろ。
613 :774ワット発電中さん :2023/07/13(木) 21:46:46.95 ID:qEdvlyVX.net 検索すると フォルクスワーゲンが樹脂3Dプリンタ部品を量産適応する研究をしてるという 2018年の記事がある まずテールゲートレタリング、ギアノブ、キーに適応とある 車の開発サイクル20か月前後と考えると、相当昔のことなので まだ製品化してないならプロジェクト自体がつぶれてるかもね 補修部品を生産するプロジェクトもあるようだが1点物でコスト見合うのかね
614 :774ワット発電中さん :2023/07/13(木) 21:47:47.27 ID:G5NTb2d9.net >小なり だと思いますが、右か左かどちらを説明しているのか迷いますね 小なり は less than から来ている。と考えれば迷いが小さくできるのでは。 もとの表現では、 x < 5 は x (is) less than 5 だよ。 そこから x < 5 は x (は) 小なり 5 (よりも) と翻訳されていると考えれば。
615 :774ワット発電中さん :2023/07/14(金) 03:55:29.28 ID:5C+EwxvM.net 説明上手いな。 自分の言葉で説明しているところを見ると、本人も苦労したのかな。
616 :774ワット発電中さん :2023/07/14(金) 11:26:26.61 ID:NuRUoYrv.net 量子コンピューターで掛け算が出来た、みたいなニュースがあったけど、 掛け算は足し算だから、足し算がやっと出来たと言うことかな。
617 :774ワット発電中さん :2023/07/14(金) 12:12:22.20 ID:7sQ4i6PT.net 掛け算は足し算じゃねぇだろ。
618 :774ワット発電中さん :2023/07/14(金) 12:58:17.45 ID:T600nvlJ.net >>614 小学校でならうだろ
619 :774ワット発電中さん :2023/07/14(金) 19:28:26.91 ID:V3jzy0w/.net >>618 だからどうだと?
620 :774ワット発電中さん :2023/07/14(金) 19:52:38.01 ID:NuRUoYrv.net 掛け算は足し算を何回かやるのだと思っていた。
621 :774ワット発電中さん :2023/07/14(金) 21:18:00.65 ID:FAxcEVSm.net >>620 テーブル引きじゃない限りは足し算を何回かやってるんじゃね?
622 :774ワット発電中さん :2023/07/14(金) 22:19:33.32 ID:V3jzy0w/.net 8ビット×8ビットだったら、最大8回の足し算になるのでは。
623 :774ワット発電中さん :2023/07/14(金) 22:53:38.33 ID:7sQ4i6PT.net CPUがわざわざ8クロックかけて計算してるかい?
624 :774ワット発電中さん :2023/07/14(金) 23:11:45.88 ID:C0EVV+5A.net >>623 回路的にも筆算式でビット数分の加算器を段状に並べてるんじゃね? いや実際知らんけど、それ以外に方法ある?
625 :774ワット発電中さん :2023/07/14(金) 23:13:18.95 ID:V3jzy0w/.net 7個の足し算だった。
626 :774ワット発電中さん :2023/07/14(金) 23:18:29.53 ID:V3jzy0w/.net 7回といえば順次やっているような印象を与えるし、それを7クロックと考える人がいても仕方がないか。 でも、乗算命令があっても乗算器を持たないマイコンだとたくさんのクロックを必要とするしね。
627 :774ワット発電中さん :2023/07/15(土) 08:14:18.48 ID:yssG4TLj.net >>624 九九からやり直せ
628 :774ワット発電中さん :2023/07/15(土) 08:20:28.16 ID:Dg1ot/bA.net 九九は10進数の世界だから。 2進数の世界だから一一。いちいちがいち。終わった。
629 :774ワット発電中さん :2023/07/15(土) 11:03:17.60 ID:zzBDrkfs.net 乗算命令のないマイコンだと掛け算は自分で記述するのですよね? 乗算命令のあるマイコンだと乗算命令を書けば人間の作業は終わりだけど、 CPUは、同じことをやっているのでなないですか?
630 :774ワット発電中さん :2023/07/15(土) 12:12:13.30 ID:Dg1ot/bA.net >>629 乗算器がついていたら「命令を繰り返して」掛け算を実現するのとは違う。 乗算器がついてなくて、乗算命令があるなら、まったく同じとは必ずしも言えないとしても 「命令を繰り返して」掛け算を実現するのと近いことをやっている(と思う)
631 :774ワット発電中さん :2023/07/15(土) 14:30:50.39 ID:uTt9HRtr.net 乗算器の中ではどのようにしてかけ算しているのでしょうか。 加算する位置を変えながら、繰り返して足していくのではないのかな。
632 :774ワット発電中さん :2023/07/15(土) 14:58:44.90 ID:Dg1ot/bA.net 「位置を変えながら」は時間の進行ととも変えるのではなくて、いっきに1ビットずつ変えたものを用意します。 そのあたりは短い文章だと違う解釈で誤解も入りやすいし、 乗算器 しくみ で検索するといいと思います。
633 :774ワット発電中さん :2023/07/15(土) 15:14:56.96 ID:OqJY412T.net >>631 ソフトウェア的な手法として、シフトして足してをビット数分繰り返す方法は知ってるのかな。 でハードウェアなら、ビット数分繰り返す代わりに1ビットシフトしたもの、2ビットシフトしたもの ... nビットシフトしたものを一度に用意して、全部一気に足すと言うこともできる。
634 :774ワット発電中さん :2023/07/15(土) 16:34:23.20 ID:yssG4TLj.net もう何十年も研究されてるんだから、そんな素人の考えるような方法は時代遅れだよ。 ちょっと調べればブースの乗算法とかSchönhage-Strassenアルゴリズムとか出てくるだろ。
635 :774ワット発電中さん :2023/07/15(土) 19:18:46.01 ID:uTt9HRtr.net >>632 ありがとう。初めからずらした記憶を一気に足し算。 頭いいなあ。なるほど。 桁ずらしは配線で固定化できるし、 足すのはフルアダーのお化けみたいな回路ですかね。
636 :774ワット発電中さん :2023/07/15(土) 23:00:21.81 ID:oeqoJSll.net >>634 ハードウェア的な掛け算器がそのアルゴリズムで実装される方がメリットがあるってこと? ほんとかなぁ というか元の話は、掛け算は足し算で実現されてるか否かということだから、少なくとも足し算で実現されてることは間違い無くね?
637 :774ワット発電中さん :2023/07/16(日) 07:01:10.76 ID:Hjfm4AOc.net >というか元の話は、 元の話は>>616 の↓だよな。 >量子コンピューターで掛け算が出来た、みたいなニュースがあったけど、 >掛け算は足し算だから、足し算がやっと出来たと言うことかな。 (1)掛け算は足し算 (2)(1)から考えると、量子コンピューターは足し算がやっと出来たと言うことかな (1)はそうでもあるし、そうでもない場合があるので正確ではない。 (2)は、ニュースソースを探してみると、足し算はもっと前にできていたという。 結果的には(2)の類推は誤りだったようだ。 「掛け算は足し算を使うものもある」という認識であれば、ひとつだけの類推は導かなかったかもしれない。
638 :774ワット発電中さん :2023/07/16(日) 09:06:48.34 ID:NEfw51sr.net リレー計算機は*/になるとガチャガチャ言うんだっけ
639 :774ワット発電中さん :2023/07/16(日) 14:05:53.48 ID:Hjfm4AOc.net タイガー計算機は使ってみたかったな。
640 :774ワット発電中さん :2023/07/16(日) 19:44:13.87 ID:oPoDdEA8.net 象印計算機
641 :774ワット発電中さん :2023/07/17(月) 07:28:22.46 ID:M7k4D+6S.net 計算尺、捨てないで本棚に置いてある。 この前、本を整理したときに手にとってみたけど、 使い方思い出せなかった。
642 :774ワット発電中さん :2023/07/17(月) 10:12:26.01 ID:H+3cgY7A.net ヘンミですか?
643 :774ワット発電中さん :2023/07/17(月) 14:13:47.95 ID:+TWJe0/X.net 計算尺、7本持っている。 たまに使っているけど、数値が読み取りにくくなったので 眼科を受診したら「老眼です」と言われた。 帰りに老眼鏡買ったが、細かい作業するときに便利だと知った。
644 :774ワット発電中さん :2023/07/17(月) 14:24:23.79 ID:kSYd2tNj.net >>643 自分は元々近眼なので、老眼になった今ではメガネを外すと近くのものがよく見える。 ただ程度が微妙で、半だ付けする時にメガネを外し、工具を探すときにはメガネをかけてで、すげー面倒 年は取るもんじゃないねぇ
645 :774ワット発電中さん :2023/07/17(月) 17:28:59.90 ID:+TWJe0/X.net >>644 近視の人は老眼に気づくのが遅くなるとか聞きましたが・・・ 私はその逆で遠視気味だったので、手元が見づらくなって眼科で老眼と診断されました。 近頃の部品はチップ部品が多くなってしまい、馬齢を重ねた人間には辛いです。
646 :774ワット発電中さん :2023/07/17(月) 17:45:34.32 ID:G/co1Fid.net 老眼は要するに調整範囲が小さくなるので、 近眼の老眼はたとえば裸眼で20cm以外にピントが合わなくなる。 なので 面実装部品をはんだ付けするときは裸眼。 面実装部品のピンのはんだの詳細を見るときは裸眼にルーペ。 資料や画面を見るときは眼鏡。 みたいなことになる。 すこぶるめんどうくさい。 眼鏡をかけたまま近くを見ようとしたら眼鏡の上からパスするみたいなことになる。 オロナミンCの大村崑さんみたいに眼鏡をずらすか、すごくアゴを引かないといけない。 ちなみに、近眼の度が強いと、境目なしの遠近両用でも、あまり極端なものは作れないと言われた。まあそうだろうな。
647 :774ワット発電中さん :2023/07/17(月) 19:12:04.76 ID:1FeTcyZv.net 量子演算は不連続のアナログ ある意味計算尺にちかいか 量子的に意味のある値は特定の条件を満たすマトリクスだが
648 :774ワット発電中さん :2023/07/17(月) 19:32:28.37 ID:M7k4D+6S.net 老眼ごときでガタガタ言うな 俺なんか網膜剥離だぞ もうハンダ付けはでけんっ!
649 :774ワット発電中さん :2023/07/17(月) 20:12:37.53 ID:8UU9Q0ty.net ViXion01てどう? オートフォーカスメガネ
650 :774ワット発電中さん :2023/07/17(月) 22:24:46.06 ID:G/co1Fid.net >>648 特に強い近眼の人は知らん間に緑内症になってる人が多いそうな。 普段は両目で見るから片目の視野が欠けてきていることに気づかないって。
651 :774ワット発電中さん :2023/07/18(火) 04:04:17.82 ID:xsJicogW.net >>648 俺もなった。入院してレーザーで焼いてもらった。 3週間顔を下にして過ごしたんだぞ。
652 :774ワット発電中さん :2023/07/18(火) 06:58:05.68 ID:BNux2a9l.net 下を向いて歩こう
653 :774ワット発電中さん :2023/07/20(木) 16:28:11.22 ID:d3zum7IV.net チャットGTPに依頼するとプログラムも作れますか? PIC16F84 Lチカ 500ms C言語とかで
654 :774ワット発電中さん :2023/07/21(金) 00:53:23.15 ID:hCtjUfMW.net C/C++とかpythonは学習してるようだが 該当チップの情報とコードが全ネットに どの程度存在するかだろうな 先ずは3.5試せばいいのでは? そもそも正しいくない確率も一定あるから 試すしかないというか
655 :774ワット発電中さん :2023/09/14(木) 16:10:01.86 ID:wc12w5t+.net switch文章について質問です。 switch (a){ case 1: b=3; 関数1(); 関数2(); 関数5(); break; case 2: b=6; 関数1(); 関数2(); 関数5(); break; case 3: b=8; 関数1(); 関数2(); 関数5(); break; default: break; という文章がありますが、 関数1,2,5がいつも同じなので、 switch文の後に実行すればソースが見やすくなると思ったのですが defaultの時には実行して欲しくありません。 switch (a){ case 1: b=3; c=1; break; case 2: b=6; c=1; break; case 3: b=8; c=1; break; default: c=0; break; if(c==1){ 関数1(); 関数2(); 関数5(); } と、書くしか無いでしょうか? 変数も要るし。 何か格好のいい書き方は無いでしょうか。
656 :774ワット発電中さん :2023/09/14(木) 18:55:17.10 ID:4s1u1NbD.net >>655 cを使いたくないならc==1の代わりにa==1||a==2||a==3
657 :774ワット発電中さん :2023/09/14(木) 21:44:15.19 ID:wc12w5t+.net なるほど、それはいいですね。ありがとうございます。 やはりswtchの結果を記憶する変数が必要になりますよね。 default:の中に書いてもしょうがないですものね。 ありがとう。
658 :774ワット発電中さん :2023/09/14(木) 21:56:36.52 ID:e9mWVGId.net default に goto を書いて、関数1(); 関数2(); 関数5();をジャンプするとか。イヤイヤ。
659 :774ワット発電中さん :2023/09/14(木) 22:13:53.51 ID:tfxOyL6l.net 元の書き方でいいと思うけどね。
660 :774ワット発電中さん :2023/09/15(金) 13:00:54.48 ID:QEKW46c3.net 関数x() {関数1(); 関数2(); 関数5();} switch (a){ case 1: b=3; 関数x(); break; case 2: b=6; 関数x(); break; case 3: b=8; 関数x(); break; default: break; } とか
661 :774ワット発電中さん :2023/09/15(金) 16:57:05.50 ID:a3HYXoe4.net 何書こうが最適化で一緒にされてしまう可能性。 (明確な間違いでも無い限り)
662 :774ワット発電中さん :2023/09/15(金) 18:55:37.31 ID:8C61aBQt.net 最適化のためにやってるわけじゃないよ。
663 :774ワット発電中さん :2023/09/15(金) 22:57:13.10 ID:5ZHfS0Y0.net >>660 見やすい、わかりやすいですね。いい感じです。
664 :774ワット発電中さん :2023/09/19(火) 22:27:08.34 ID:o5Ew8Xsq.net 質問です。 構造体というのがありますが、 あれが出来た経緯はメモリが少なく機長たった頃に、 メモリを無駄なく使いたいから、だと思うのですが、 そうでは無いでしょうか? 誰も aaa.bbb.cc と記述したいわけではないと思うのです。
665 :774ワット発電中さん :2023/09/19(火) 23:20:16.21 ID:IS9Ii9S8.net >>664 >誰も aaa.bbb.cc と記述したいわけではないと思うのです。 むしろ、aaa.bbb.cc と記述できるように、じゃないですかね。
666 :774ワット発電中さん :2023/09/19(火) 23:21:15.71 ID:gwHCcWze.net 関連したデータを固めて扱う事で記述性の向上はあるんじゃないかな。 タルいってのはあるかもしれんがツールの進歩て克服しつつあるし。
667 :774ワット発電中さん :2023/09/19(火) 23:23:45.99 ID:gwHCcWze.net むしろメモリはアライメント調整が入るから無駄に見えるかもしれない。
668 :774ワット発電中さん :2023/09/19(火) 23:28:46.30 ID:IS9Ii9S8.net 構造体は、自分で必要性を感じて便利に使えるまでは、難解で面倒なものだと思ってた。
669 :774ワット発電中さん :2023/09/19(火) 23:40:58.43 ID:IS9Ii9S8.net プログラミング言語の、いろいろな機能も、なんでこんな分かり難い機能が必要なんだろうと思う前に、 これが便利で分かりやすいシーンがあるのだろう、と、努めて自分に強いて思うようにしている。 「こんなの要らない」「仕方ないから覚える」と考えると、学習効率を下げるよ。
670 :774ワット発電中さん :2023/09/19(火) 23:54:46.80 ID:IS9Ii9S8.net ぼくが学習を始めたときに使っていた言語では、構造体ではなくてレコードだったけど。
671 :774ワット発電中さん :2023/09/20(水) 19:30:21.88 ID:+2fFq/vC.net >「こんなの要らない」「仕方ないから覚える」と考えると、学習効率を下げるよ。 ではなくて、なぜこのような記述方法が出てきたのか知りたい。 歴史を知ることで今が見えるという感じ。
672 :774ワット発電中さん :2023/09/20(水) 20:53:03.44 ID:3TqQyOqf.net >>671 歴史はどうだか知らないけれど、オブジェクト指向の導入でも使われるような話が、 そこそこ構造体にもあてはまると思う。 なぜこのような記述が出てきたかは、その方が楽でわかりやすいからと考えていいと思う。 100人の生徒をコンピュータで管理するとき、含めたいデータが ・名前 ・性別 ・身長 ・体重 とすると、構造体のない世界なら、それぞれを100個の配列にして管理することになると思う。 これを「生徒」という構造体を作って入れて、その構造体の配列を作ると、 配列のインデックス35番目の生徒の情報は、 生徒配列[35].名前 とか 生徒配列[35].身長 とかでアクセスできる。 ・別のアプローチ。構造体のない世界をかんがえてみるといいかも。 C言語でファイルを扱うときに、FILE を使うことがあると思う。構造体になっているから、ファイルを扱う関数に ファイルに関わる情報を渡すのに、FILE を示す *fp みたいなのを渡すだけでいいけれど、もし構造体がなかったら ファイルを関わる情報をどうやって渡すことになるか。
673 :774ワット発電中さん :2023/09/20(水) 21:52:45.16 ID:HKE60sE1.net Python みたいにファイルオブジェクトにすればいいんでない?
674 :774ワット発電中さん :2023/09/20(水) 22:52:50.49 ID:3TqQyOqf.net >>673 構造体と構造体のない場合の話だし。 オブジェクト以前。
675 :774ワット発電中さん :2023/09/22(金) 14:07:54.85 ID:tUHm6dVZ.net >>670 pascalとかfortranだっけ
676 :774ワット発電中さん :2023/09/22(金) 14:08:29.66 ID:tUHm6dVZ.net >>668 それ入門書の本が悪かったとかの可能性もある
677 :774ワット発電中さん :2023/09/22(金) 15:28:20.25 ID:VWLT0c86.net >>672 BASICだと input #1, a$ とかで使えてたよ。
678 :774ワット発電中さん :2023/09/22(金) 18:31:18.35 ID:OaN/xYuF.net カード型データベースみたいな感じ。構造体
679 :774ワット発電中さん :2023/09/23(土) 11:43:49.56 ID:CBAAPjIw.net >>677 FILE構造体の話はC言語の話だよ。ファイルの考え方が異なるものを並べてはいけない。
680 :774ワット発電中さん :2023/09/23(土) 11:48:02.63 ID:CBAAPjIw.net >>677 FILE構造体の話はC言語の話だよ。
681 :774ワット発電中さん :2023/09/23(土) 18:58:42.64 ID:87dPlImm.net ポインタ型の変数宣言がわかりません。 bit幅は何bitなのでしょうか? その変数に代入すると、常にアドレス番地として認識されて、数字ではないのでしょうか? そもそもポインタの嬉しさがわからないです。 配列a[100]で良いと思うし。
682 :774ワット発電中さん :2023/09/23(土) 20:32:53.79 ID:r8N6uaAT.net そうです。だからJAVAではポインタがなくなりました。
683 :774ワット発電中さん :2023/09/23(土) 21:11:13.60 ID:CBAAPjIw.net C言語そのままのポインタではないけれど、JavaでもC#でもクラスのインスタンスは「ポインタみたいなもの」だしね。 >>681 ポインタ変数そのものはC言語ではアドレスを格納していて、ビット幅はアドレスぶん。 ポインタはいくつかのメリットがあるけれど、そのうちのひとつ。「配列a[100]で良い」という話があったので、 C言語だと構造体(C++ならクラスも)の配列は、次の2種類の管理ができる。 (1)構造体の実体の配列を作る。 (2)構造体の実体はどこかに確保して、その実体の場所を示すポインタの配列を作る。 この2種類のうち、JavaやC#は基本的には ・クラスの配列だと(2)の方法を採る。 ・intやfloatだと(1)の方法を採る。 変数のタイプによって変わってくるので、わかっていないとかえって難しくなる。 C/C++なら、書き方で変わるので、そのあたりはかえってシンプルだと思う。 (2)はメモリを余計につかうから無駄なような気がするけど、 任意の条件で、配列内を並べ替えするようなとき、 (1)だと構造体まるごと移動が必要になる。構造体のサイズが大きいほど、入れ替えに時間がかかる。 (2)だと配列で管理しているのはアドレスだけなので、入れ替えがすばやくできる。 嬉しさがわからないのは、ポインタの方が有利になる課題にぶちあたっていないせいだと思う。 JavaかC#でクラスを自分で作るようなプログラムを組んでいたら、C/C++のポインタの雰囲気がわかる ようになるかもしれない。
684 :774ワット発電中さん :2023/09/23(土) 22:02:13.93 ID:n/7/fapL.net ポインタがない言語はたくさんあります。 むしろほとんどの言語にはありません、 C言語にポインタがあるのは高級アセンブラだからです。
685 :774ワット発電中さん :2023/09/23(土) 22:20:18.71 ID:87dPlImm.net >>683 ありがとうございます。 >ポインタ変数そのものはC言語ではアドレスを格納していて、ビット幅はアドレスぶん。 ということは、16bitマイコンの場合 unsigned char a; aの記憶場所のbit幅は8bit、アドレスのことは知らない。 char *b; (アドレス専門の)bのbit幅は16bit、bで示される記憶場所のbit幅は8bit ということで良いでしょうか? C++とかC#はわからないですが PICマイコンのXC16(16bit用コンパイラ)の場合でも同じでしょうか。
686 :774ワット発電中さん :2023/09/23(土) 22:46:26.72 ID:CBAAPjIw.net >ということは、16bitマイコンの場合 >unsigned char a; aの記憶場所のbit幅は8bit、アドレスのことは知らない。 >char *b; (アドレス専門の)bのbit幅は16bit、bで示される記憶場所のbit幅は8bit 「16bitマイコンの場合は」とパターン化して覚えるのは間違っています。 傾向はつかめても傾向で語るのは多数の例外の前にむしろ害になるでしょう。 もしそのコンパイラのunsigned char が8bitなら、そのコンパイラのunsigned charは8bitと認識すればいいし、 アドレスのbit幅が16bitなら16bitであることが多い。 パターンにもとづく記憶に依存せずに、都度都度、調べればいいです。 一つのマイコンの一つのプログラムの中でも、アドレスのビット幅が一定とは限らんし。 ということで↓は自分で調べるようにしてほしいです。 >PICマイコンのXC16(16bit用コンパイラ)の場合でも同じでしょうか。
687 :774ワット発電中さん :2023/09/23(土) 22:48:44.27 ID:87dPlImm.net ネットから拾ってきた例ソースに、自分で説明を付けてみた。 途中がわからないです。 #include <stdio.h> typedef struct { // 以下の構造を持つ変数型を宣言する int num; // 構成員1 numという数値変数 char *str; // 構成員2 その次にstrという名前のポインタ用変数 } strct; // 上記の構造を持つ「型」を strct という名前で呼ぶことにする。 // numは数値用で16bit幅、置かれるアドレスはコンパイラに任せる。 // strは、ポインタ(アドレス用の入れ物)で、そのbit幅は // 我々が気にする必要はない。コンパイラが決めてくれる。 int main(void) { strct entity; // strct型の変数を1組用意する。名前はentity strct *p; // strct型の変数を1組用意する。名前はpでアドレスしか入らない(?) p = &entity; // pにentityの先頭アドレスを代入する。 p->num = 0; // アドレスしか入れられない*pのnum(?)に0を入れる p->str = "Hello"; // アドレスしか入れられない*pのstr(?)に"Hello"を入れる(?) printf("num:%d\n", entity.num); // 「strct型のentity」の構成員のnumの中身を10進数で表示 printf("str:%s\n", entity.str); // 「strct型のentity」の構成員のstrの中身を文字列で表示 return 0; // 戻る }
688 :774ワット発電中さん :2023/09/23(土) 23:09:31.79 ID:CBAAPjIw.net > アドレスしか入れられない*pのnum(?)に0を入れる 「ポインタ変数そのものにアドレスしか入れられない」ということと 「ポインタ変数が指す領域に値を入れる」行為をごっちゃにしてませんか? 「ポインタにはアドレスしか入れられない」とどこかで読んだり習ったのかもしれないです。 「ポインタにはアドレスしか入れられない」こと自体に間違いはありませんが、 あなたはそれをもって、「ポインタ変数に値を入れているのはなぜだ」ってぐちゃぐちゃにしています。 ポインタにはアドレスしか入れませんが、ポインタが指す領域にはその変数の値が入ります。 教えてもらったり読んだ文言を、自分で解釈する表面的な意味に拘ってはいけません。 同様に「16ビットマイコンでは、ポインタのサイズは…」みたいなおぼえ方は、とりわけあなたのように、 「ルールや決まりでものごとを整理してそれに適合しないものに混乱するタイプ」の人は避けるべきだと思います。 自分で決めたルールに反したものを見つけたときにルールのアップデートをしたり、例外を躊躇なく受け入れられる人なら ルール化して覚えるのはいいかもしれないですが。 int *p; があるとして、p はポインタ変数そのものなのでアドレスが入りますが、 *p は、ポインタ変数pが指し示す領域なので、その領域が確保されているなら intの値を入れることができます。
689 :774ワット発電中さん :2023/09/24(日) 04:28:20.13 ID:Ku0AL+tT.net ポインターは難しい。 誰でもつまづくんだな。 言葉の意味が分かりにくいから。
690 :774ワット発電中さん :2023/09/24(日) 08:50:27.75 ID:hR3GOZtE.net >>686 そもそも16bitマイコンって、何が16bit? って話もあるしね。
691 :774ワット発電中さん :2023/09/24(日) 08:52:31.81 ID:hR3GOZtE.net ヌルポ インタに意味持たせちゃったのもマズイよね。
692 :774ワット発電中さん :2023/09/24(日) 10:18:05.83 ID:3fdSyMx4.net >言葉の意味が分かりにくいから。 そうなんかなあ。point(指し示す)+er で、「(場所を)指し示すもの」ってそこそこそのまんまだと思うんだが。 >そもそも16bitマイコンって、何が16bit? そうそう。 主たるアキュムレータのビット数が、という言い方もあるけれど、明確な定義を試みることの意味は薄いと思う。 マイコン分類学みたいな人はやってくれたらいいけどな。 ポインタのサイズでいえば、ハードウェアのアドレスのビット幅が20ビットでも、ポインタ変数のサイズが16ビット だったり、32ビットだったりいろいろになることがあるし、必要な場合はちゃんと調べて使わないとまずい。 とくに今までポインタについて調べたことがないマイコンで、ポインタのサイズを知る必要が発生したなら、 自分によるルール化、類型化での判断ではなく、マニュアルを見ないと。 >ヌルポ インタに意味持たせちゃったのもマズイよね。 そうなんかなあ。 C++はともかく、C言語なら「ポインター値 0 は未初期化の印」としておくのは悪くはないと思う。 そのせいで、アドレスゼロが、ポインタで指し示せないという問題はあるとしても
693 :774ワット発電中さん :2023/09/24(日) 10:20:29.07 ID:R9qz7oH6.net >>683 全然違う そんなことより「ポインタが無い」Javaなのに NullPointerExceptionが多発することが問題
694 :774ワット発電中さん :2023/09/24(日) 10:40:00.91 ID:3fdSyMx4.net >>693 何が全然違うのか書かないと、コミュニケーションも成立しない。 >そんなことより「ポインタが無い」Javaなのに >NullPointerExceptionが多発することが問題 たしかにこの2行は、矛盾の指摘に見えるけれど、矛盾になるためには1行目も2行目も正しいことが必要です。 Javaにポインタがない、という認識を疑うのはいかがでしょうか。もしその認識を修正すれば、 「Javaにはポインタのようなものがあり、誤った使い方をすればNullPointerExceptionが発生する」 となり、きれいに矛盾も消えると思います。 javaにはポインターがないのですか ↑そのままをキーワードにしてぐぐって。 多様な解釈がでてきますので、どれかを自分のものにするのではなくて対立するものもふくめてなんとなく 受け入れたらいいと思います。
695 :774ワット発電中さん :2023/09/24(日) 14:06:36.17 ID:R9qz7oH6.net Javaにはポインタが無いとは描いていない 「ポインタが無い」Javaと描いている
696 :774ワット発電中さん :2023/09/24(日) 14:19:32.44 ID:3fdSyMx4.net 「Javaにはポインタが無い」と「ポインタが無い」Java に、 この件において どんな意味の違いがあるの?
697 :774ワット発電中さん :2023/09/24(日) 14:31:30.15 ID:OMO90ysE.net ・ポインタとはアドレスベースでデータを参照する機能である ・ポインタは今どきの処理系には大抵存在する ・C/C++などの一部の処理系を除き境界チェックされる
698 :774ワット発電中さん :2023/09/24(日) 14:36:16.29 ID:R9qz7oH6.net >>696 君國語の成績悪かっただろ?
699 :774ワット発電中さん :2023/09/24(日) 14:39:08.04 ID:3fdSyMx4.net >>698 >>693 において「全然違う」とだけ非難して、何が違うのかの説明はまだだね。 >>695 において「Javaにはポインタが無い」ではなく「ポインタが無い」Java だと言いつつ、この件においてのその違いの説明のしないつもりかな。 ふたつとも待ってるよ。
700 :774ワット発電中さん :2023/09/24(日) 14:57:04.17 ID:3fdSyMx4.net >>688 の > p->num = 0; // アドレスしか入れられない*pのnum(?)に0を入れる の方は説明したけど、 ↓の方はこれはこれで別のひっかかりっぽい? > p->str = "Hello"; // アドレスしか入れられない*pのstr(?)に"Hello"を入れる(?) この人は「p->str」がポインタであることは認識している。 この文は "Hello"を入れているんじゃないです。 "Hello"という文字列を格納しているアドレスを、p->str に入れています。 p->str = "Hello"; がコンパイルされたら、多くの場合メモリのどこかの領域に Hello\0 の6バイトが確保されます。 p->str に その領域の先頭アドレスが入ります。
701 :774ワット発電中さん :2023/09/24(日) 17:12:52.29 ID:OKLAsxQv.net >>700 p->str はポインタじゃねぇだろ。
702 :774ワット発電中さん :2023/09/24(日) 21:42:20.54 ID:3fdSyMx4.net >>701 >>688 で返答している質問の>>687 は見たのかな? > typedef struct { // 以下の構造を持つ変数型を宣言する > int num; // 構成員1 numという数値変数 > char *str; // 構成員2 その次にstrという名前のポインタ用変数 > } strct; // 上記の構造を持つ「型」を strct という名前で呼ぶこと 見ての通り、strメンバーは、charのポインタだよ。 なぜ違うと思ったのか説明して。
703 :774ワット発電中さん :2023/09/24(日) 22:03:10.56 ID:OKLAsxQv.net p.str はポインタだけどな。
704 :774ワット発電中さん :2023/09/24(日) 22:10:23.22 ID:OKLAsxQv.net ごめん、理解した。
705 :774ワット発電中さん :2023/11/27(月) 23:20:18.84 ID:LpF7eOHE.net “組み込み用”のファイルシステムやライブラリってないのかな? ・コントローラ付きフラッシュメディア用(データのアラインが出来る) ・読み出し専用 ・非同期アクセス可能(FIFO、バックグラウンド読み出し) ・高速エントリ探索 自分で作ってもいいけどすでにあるのならそっち使った方がよさそうだし・・・
706 :774ワット発電中さん :2024/01/18(木) 21:05:24.13 ID:N2qj1hNp.net 自分で作れるなら作ったほうが、後々楽よ
707 :774ワット発電中さん :2024/02/07(水) 00:13:03.23 ID:yr7RT8SS.net RTOSの実践的な解説って絶望的にない
708 :774ワット発電中さん :2024/02/21(水) 02:38:40.05 ID:PoiUZRbV.net ちっとも動かずに、半日悩んでしまいました。 同じ変数名をグローバルと関数内で宣言してしまった場合、 関数内の変数の方が優先なんだね。
709 :774ワット発電中さん :2024/02/21(水) 12:20:18.74 ID:tJ+ZT3Bx.net >>1 本当に楽勝でやる人には、本当はそんなやり方じゃダメだとか、俺はもっと良い方法を知っているとか言うのでは? 気にするだけ無駄だと思います。
710 :774ワット発電中さん :2024/02/21(水) 13:57:16.12 ID:IVX0JOfo.net >>708 python使えば良い
711 :774ワット発電中さん :2024/02/21(水) 15:11:30.65 ID:t3hedltn.net Pythonだとグローバル変数が優先されるのか、勉強になるなぁ。
712 :774ワット発電中さん :2024/02/21(水) 15:47:42.28 ID:vIEoWdKE.net それはない
713 :774ワット発電中さん :2024/02/21(水) 19:41:33.97 ID:ueIcNcGI.net グローバル変数は意識して使わないといけないから、なのかな。 でも、関数内でうっかり同名の変数に代入して、同じ関数内の別のところで、 同名のグローバル変数だと信じて参照するケースもあると思う。 >>708 さんのだって、 関数内でうっかり同名変数を宣言して、同じ関数内の別のところで、 同名のグローバル変数だと信じて参照してたのかもしれないし。 それ以前にPythonが使えるマイコン環境はむしろ少なそう。
714 :774ワット発電中さん :2024/02/21(水) 20:25:44.10 ID:ZxC9UuKG.net 変態命名則 exDwHoge 名前空間に押し込む myglb::hoge グローバルオブジェクトに持たせる glb.hoge グローバル変数絶対つかわないマン #define HOGE
715 :774ワット発電中さん :2024/02/21(水) 22:27:14.65 ID:sMnq/5eu.net でも、使いたいグローバル変数が分かってるのにそれと同じ名前の変数を作っちゃうというのも随分なうっかりさんだよね。 あるいはグローバル変数の方を後で追加したんかな?
716 :774ワット発電中さん :2024/02/22(木) 01:12:31.52 ID:gKe8zB+g.net >>715 最初は関数内だけでstaticで使っていたんだけど、 その変数値を関数外でも参照したなり、グローバルに出したのです。 が、関数内の変数宣言を // するのを忘れました。 関数内では正しく処理されているのに、mainで if( hoge==1 ){とやっても 全然1にならない。
717 :774ワット発電中さん :2024/02/22(木) 09:16:14.85 ID:+tUqHkAa.net Rustなら防げた事故
718 :774ワット発電中さん :2024/02/23(金) 00:51:42.49 ID:SqM8iMFD.net Rustが使えるマイコンって 何がありますか?
719 :774ワット発電中さん :2024/02/23(金) 06:12:17.17 ID:NnHejPPD.net Rustってインタプリタもあったっけ?
720 :774ワット発電中さん :2024/02/23(金) 08:10:28.78 ID:eYYWpm3E.net mut mut すればいいと思うよ
721 :774ワット発電中さん :2024/02/23(金) 12:12:19.81 ID:XxMmkSd6.net Rustマジ面倒臭いわ
722 :774ワット発電中さん :2024/03/03(日) 12:23:41.10 ID:+3niRoTA.net 自前のメモリアロケーション管理はイヤ、 ガベコも嫌い、例外もイヤみたいな 欲張りセットがターゲットだしな クミコではガベコ=害悪、絶対にスコープ縛りみたいな メモリをドバドバ使った動的管理がクリティカルなケースが限られる メモリ管理のちょっとしたミスで数百万円のサーバを食い散らかす サーバサイドアプリの記述なんかは強力なんだろうけど
723 :774ワット発電中さん :2024/04/05(金) 15:37:21.57 ID:PfW1z4Qb.net そもそもマイコン用のコンパイラが対応してないと…
724 :774ワット発電中さん :2024/05/12(日) 10:03:17.39 ID:RNJVf2b5.net 読んだ事ないけど読んでみたくなった はじめて見たわ
725 :774ワット発電中さん :2024/05/12(日) 10:09:45.30 ID:nA24haYJ.net 糖が尿から出てきて何なんだ大木のじじいの話か
726 :774ワット発電中さん :2024/05/12(日) 10:24:51.90 ID:NJ1tdi90.net 騙されて見てて嫌がる人が作った奴が隠蔽したからシギーは直に逮捕されるだろうってさ
727 :774ワット発電中さん :2024/05/12(日) 12:08:01.04 ID:WLMdcnxg.net 結局メダル取ったらなれるわけないんだな
728 :774ワット発電中さん :2024/05/12(日) 13:16:25.67 ID:2iYTBJ6P.net ねけひけひはひむめもせをさちほたたゆけといちをぬあおききのりまなみとくま
215 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200
本文 スレッドタイトル 投稿者