.
∧ ∧
( ´・ω・) < コンフィグって何? 昆布なら知ってる。 ボラチルって何? ボラは魚だよ。
( ∪ ∪ ,.-、 ,.-、 ,.-、 ,.-、
と__)__) (,,■) (,,■) (,,■) (,,■)
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/
では、質問、ドゾ〜
マイコンソフト 悩み事相談室 4
2020/09/11(金) 09:38:11.57ID:cJDnlvMz
687774ワット発電中さん
2023/09/24(日) 10:40:00.91ID:3fdSyMx4 >>686
何が全然違うのか書かないと、コミュニケーションも成立しない。
>そんなことより「ポインタが無い」Javaなのに
>NullPointerExceptionが多発することが問題
たしかにこの2行は、矛盾の指摘に見えるけれど、矛盾になるためには1行目も2行目も正しいことが必要です。
Javaにポインタがない、という認識を疑うのはいかがでしょうか。もしその認識を修正すれば、
「Javaにはポインタのようなものがあり、誤った使い方をすればNullPointerExceptionが発生する」
となり、きれいに矛盾も消えると思います。
javaにはポインターがないのですか
↑そのままをキーワードにしてぐぐって。
多様な解釈がでてきますので、どれかを自分のものにするのではなくて対立するものもふくめてなんとなく
受け入れたらいいと思います。
何が全然違うのか書かないと、コミュニケーションも成立しない。
>そんなことより「ポインタが無い」Javaなのに
>NullPointerExceptionが多発することが問題
たしかにこの2行は、矛盾の指摘に見えるけれど、矛盾になるためには1行目も2行目も正しいことが必要です。
Javaにポインタがない、という認識を疑うのはいかがでしょうか。もしその認識を修正すれば、
「Javaにはポインタのようなものがあり、誤った使い方をすればNullPointerExceptionが発生する」
となり、きれいに矛盾も消えると思います。
javaにはポインターがないのですか
↑そのままをキーワードにしてぐぐって。
多様な解釈がでてきますので、どれかを自分のものにするのではなくて対立するものもふくめてなんとなく
受け入れたらいいと思います。
688774ワット発電中さん
2023/09/24(日) 14:06:36.17ID:R9qz7oH6 Javaにはポインタが無いとは描いていない
「ポインタが無い」Javaと描いている
「ポインタが無い」Javaと描いている
689774ワット発電中さん
2023/09/24(日) 14:19:32.44ID:3fdSyMx4 「Javaにはポインタが無い」と「ポインタが無い」Java に、
この件において
どんな意味の違いがあるの?
この件において
どんな意味の違いがあるの?
690774ワット発電中さん
2023/09/24(日) 14:31:30.15ID:OMO90ysE ・ポインタとはアドレスベースでデータを参照する機能である
・ポインタは今どきの処理系には大抵存在する
・C/C++などの一部の処理系を除き境界チェックされる
・ポインタは今どきの処理系には大抵存在する
・C/C++などの一部の処理系を除き境界チェックされる
691774ワット発電中さん
2023/09/24(日) 14:36:16.29ID:R9qz7oH6 >>689
君國語の成績悪かっただろ?
君國語の成績悪かっただろ?
692774ワット発電中さん
2023/09/24(日) 14:39:08.04ID:3fdSyMx4693774ワット発電中さん
2023/09/24(日) 14:57:04.17ID:3fdSyMx4 >>681 の
> 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 に その領域の先頭アドレスが入ります。
> 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 に その領域の先頭アドレスが入ります。
694774ワット発電中さん
2023/09/24(日) 17:12:52.29ID:OKLAsxQv >>693
p->str はポインタじゃねぇだろ。
p->str はポインタじゃねぇだろ。
695774ワット発電中さん
2023/09/24(日) 21:42:20.54ID:3fdSyMx4696774ワット発電中さん
2023/09/24(日) 22:03:10.56ID:OKLAsxQv p.str はポインタだけどな。
697774ワット発電中さん
2023/09/24(日) 22:10:23.22ID:OKLAsxQv ごめん、理解した。
698774ワット発電中さん
2023/11/27(月) 23:20:18.84ID:LpF7eOHE “組み込み用”のファイルシステムやライブラリってないのかな?
・コントローラ付きフラッシュメディア用(データのアラインが出来る)
・読み出し専用
・非同期アクセス可能(FIFO、バックグラウンド読み出し)
・高速エントリ探索
自分で作ってもいいけどすでにあるのならそっち使った方がよさそうだし・・・
・コントローラ付きフラッシュメディア用(データのアラインが出来る)
・読み出し専用
・非同期アクセス可能(FIFO、バックグラウンド読み出し)
・高速エントリ探索
自分で作ってもいいけどすでにあるのならそっち使った方がよさそうだし・・・
699774ワット発電中さん
2024/01/18(木) 21:05:24.13ID:N2qj1hNp 自分で作れるなら作ったほうが、後々楽よ
700774ワット発電中さん
2024/02/07(水) 00:13:03.23ID:yr7RT8SS RTOSの実践的な解説って絶望的にない
701774ワット発電中さん
2024/02/21(水) 02:38:40.05ID:PoiUZRbV ちっとも動かずに、半日悩んでしまいました。
同じ変数名をグローバルと関数内で宣言してしまった場合、
関数内の変数の方が優先なんだね。
同じ変数名をグローバルと関数内で宣言してしまった場合、
関数内の変数の方が優先なんだね。
702774ワット発電中さん
2024/02/21(水) 12:20:18.74ID:tJ+ZT3Bx703774ワット発電中さん
2024/02/21(水) 13:57:16.12ID:IVX0JOfo >>701
python使えば良い
python使えば良い
704774ワット発電中さん
2024/02/21(水) 15:11:30.65ID:t3hedltn Pythonだとグローバル変数が優先されるのか、勉強になるなぁ。
705774ワット発電中さん
2024/02/21(水) 15:47:42.28ID:vIEoWdKE それはない
706774ワット発電中さん
2024/02/21(水) 19:41:33.97ID:ueIcNcGI グローバル変数は意識して使わないといけないから、なのかな。
でも、関数内でうっかり同名の変数に代入して、同じ関数内の別のところで、
同名のグローバル変数だと信じて参照するケースもあると思う。
>>701さんのだって、
関数内でうっかり同名変数を宣言して、同じ関数内の別のところで、
同名のグローバル変数だと信じて参照してたのかもしれないし。
それ以前にPythonが使えるマイコン環境はむしろ少なそう。
でも、関数内でうっかり同名の変数に代入して、同じ関数内の別のところで、
同名のグローバル変数だと信じて参照するケースもあると思う。
>>701さんのだって、
関数内でうっかり同名変数を宣言して、同じ関数内の別のところで、
同名のグローバル変数だと信じて参照してたのかもしれないし。
それ以前にPythonが使えるマイコン環境はむしろ少なそう。
707774ワット発電中さん
2024/02/21(水) 20:25:44.10ID:ZxC9UuKG 変態命名則 exDwHoge
名前空間に押し込む myglb::hoge
グローバルオブジェクトに持たせる glb.hoge
グローバル変数絶対つかわないマン #define HOGE
名前空間に押し込む myglb::hoge
グローバルオブジェクトに持たせる glb.hoge
グローバル変数絶対つかわないマン #define HOGE
708774ワット発電中さん
2024/02/21(水) 22:27:14.65ID:sMnq/5eu でも、使いたいグローバル変数が分かってるのにそれと同じ名前の変数を作っちゃうというのも随分なうっかりさんだよね。
あるいはグローバル変数の方を後で追加したんかな?
あるいはグローバル変数の方を後で追加したんかな?
709774ワット発電中さん
2024/02/22(木) 01:12:31.52ID:gKe8zB+g >>708
最初は関数内だけでstaticで使っていたんだけど、
その変数値を関数外でも参照したなり、グローバルに出したのです。
が、関数内の変数宣言を // するのを忘れました。
関数内では正しく処理されているのに、mainで if( hoge==1 ){とやっても
全然1にならない。
最初は関数内だけでstaticで使っていたんだけど、
その変数値を関数外でも参照したなり、グローバルに出したのです。
が、関数内の変数宣言を // するのを忘れました。
関数内では正しく処理されているのに、mainで if( hoge==1 ){とやっても
全然1にならない。
710774ワット発電中さん
2024/02/22(木) 09:16:14.85ID:+tUqHkAa Rustなら防げた事故
711774ワット発電中さん
2024/02/23(金) 00:51:42.49ID:SqM8iMFD Rustが使えるマイコンって 何がありますか?
712774ワット発電中さん
2024/02/23(金) 06:12:17.17ID:NnHejPPD Rustってインタプリタもあったっけ?
713774ワット発電中さん
2024/02/23(金) 08:10:28.78ID:eYYWpm3E mut mut すればいいと思うよ
714774ワット発電中さん
2024/02/23(金) 12:12:19.81ID:XxMmkSd6 Rustマジ面倒臭いわ
715774ワット発電中さん
2024/03/03(日) 12:23:41.10ID:+3niRoTA 自前のメモリアロケーション管理はイヤ、
ガベコも嫌い、例外もイヤみたいな
欲張りセットがターゲットだしな
クミコではガベコ=害悪、絶対にスコープ縛りみたいな
メモリをドバドバ使った動的管理がクリティカルなケースが限られる
メモリ管理のちょっとしたミスで数百万円のサーバを食い散らかす
サーバサイドアプリの記述なんかは強力なんだろうけど
ガベコも嫌い、例外もイヤみたいな
欲張りセットがターゲットだしな
クミコではガベコ=害悪、絶対にスコープ縛りみたいな
メモリをドバドバ使った動的管理がクリティカルなケースが限られる
メモリ管理のちょっとしたミスで数百万円のサーバを食い散らかす
サーバサイドアプリの記述なんかは強力なんだろうけど
716774ワット発電中さん
2024/04/05(金) 15:37:21.57ID:PfW1z4Qb そもそもマイコン用のコンパイラが対応してないと…
717774ワット発電中さん
2024/05/12(日) 10:03:17.39ID:RNJVf2b5 読んだ事ないけど読んでみたくなった
はじめて見たわ
はじめて見たわ
718774ワット発電中さん
2024/05/12(日) 10:09:45.30ID:nA24haYJ 糖が尿から出てきて何なんだ大木のじじいの話か
719774ワット発電中さん
2024/05/12(日) 10:24:51.90ID:NJ1tdi90 騙されて見てて嫌がる人が作った奴が隠蔽したからシギーは直に逮捕されるだろうってさ
720774ワット発電中さん
2024/05/12(日) 12:08:01.04ID:WLMdcnxg 結局メダル取ったらなれるわけないんだな
721774ワット発電中さん
2024/05/12(日) 13:16:25.67ID:2iYTBJ6P ねけひけひはひむめもせをさちほたたゆけといちをぬあおききのりまなみとくま
722774ワット発電中さん
2024/06/17(月) 22:41:12.90ID:FrFkY7Xw bitcash?
723774ワット発電中さん
2024/07/27(土) 05:03:03.09ID:zaC8Wkem 質問があります。
16bit変数に8bitデータを2つ入れたいときです。
unsigned int ANS16; // 16bit変数
unsigned char H8; // 8bit変数
unsigned char L8; // 8bit変数
ANS16 = (unsigned int) H8; // 0x00H8
ANS16 <<= 8; // 0xH800
ANS16 += (unsigned int) L8; // 0xH8L8 完了
Cで書くとこんな感じで終わってしまいますが、
(1)マイコン内部では <<=8 はどうやって行われるのでしょうか?
まさか1bitシフトを8回するわけでは無いでしょうし、
特殊なアセンブラ命令でもあって、
1回で LowByteをHiByteにMOVEできるとかでしょうか。
(2)さらに、Byte単位ならワザがありそうですが、<<=7 とか、半端なときは7回シフトとかなのでしょうか。
(Byteで上げて1bit戻すとか)
(3)<<=8 と書いても *=256 と書いても、
コンパイラーが賢い方法を選択してくれるんでしょうか?
16bit変数に8bitデータを2つ入れたいときです。
unsigned int ANS16; // 16bit変数
unsigned char H8; // 8bit変数
unsigned char L8; // 8bit変数
ANS16 = (unsigned int) H8; // 0x00H8
ANS16 <<= 8; // 0xH800
ANS16 += (unsigned int) L8; // 0xH8L8 完了
Cで書くとこんな感じで終わってしまいますが、
(1)マイコン内部では <<=8 はどうやって行われるのでしょうか?
まさか1bitシフトを8回するわけでは無いでしょうし、
特殊なアセンブラ命令でもあって、
1回で LowByteをHiByteにMOVEできるとかでしょうか。
(2)さらに、Byte単位ならワザがありそうですが、<<=7 とか、半端なときは7回シフトとかなのでしょうか。
(Byteで上げて1bit戻すとか)
(3)<<=8 と書いても *=256 と書いても、
コンパイラーが賢い方法を選択してくれるんでしょうか?
724774ワット発電中さん
2024/07/27(土) 05:55:26.33ID:eW5JvvDo >>723
俺はお前が嫌いだが、質問に答えてやる
まず、質問の内容に、マイコンの種類(型番)や開発環境(コンパイラの種類)等を含めるべきだ
(1)多くのSTM32の様な32bitマイコンでは指定した回数のビットシフトを少ないサイクル(概ね1回)で行う機能を有してる(例)LSL R0, R0, #8
(2)上記 (LSL R0, R0, #7)
(3)よほど酷いコンパイラでなければ最終的に同じアセンブラを吐く
俺はお前が嫌いだが、質問に答えてやる
まず、質問の内容に、マイコンの種類(型番)や開発環境(コンパイラの種類)等を含めるべきだ
(1)多くのSTM32の様な32bitマイコンでは指定した回数のビットシフトを少ないサイクル(概ね1回)で行う機能を有してる(例)LSL R0, R0, #8
(2)上記 (LSL R0, R0, #7)
(3)よほど酷いコンパイラでなければ最終的に同じアセンブラを吐く
725774ワット発電中さん
2024/07/27(土) 06:06:34.95ID:2ERGmb0F ビットシフトはシフトレジスタをクロックシフトする古典的な遅い方法とファンネルシフトとかバレルシフトと言ったクロックシフトでは無いあらかじめずらしたビットパターンからマルチプレクサで選択してストアする0クロックなやり方がある。
40年前から高速化では当たり前であるけどね。
40年前から高速化では当たり前であるけどね。
726774ワット発電中さん
2024/07/27(土) 07:16:05.20ID:Letd0rDv 吐き出したアセンブラを見て
その命令のマシンクロックをマニュアルから探せばいいと思うよ
その命令のマシンクロックをマニュアルから探せばいいと思うよ
727774ワット発電中さん
2024/07/27(土) 13:00:23.99ID:zaC8Wkem728774ワット発電中さん
2024/07/27(土) 13:02:10.47ID:zaC8Wkem729774ワット発電中さん
2024/07/27(土) 13:02:58.31ID:zaC8Wkem730774ワット発電中さん
2024/07/30(火) 01:14:23.88ID:dGhoWEJp 普通はC/C++のシフトだろうけど
L/Bエンディアン変換の需要がbyteswap系
アセンブラマクロが組めれば
最小最速になるかな
ナンチャッテ最小最速
unsigned char * p,L8,H8;
uint16_t ans;
#if __BYTE_ORDER == __LITTLE_ENDIAN
* p = L8;
p++;
*p = H8;
#else
* p = H8;
p++;
*p = L8;
#endif
ans = * (uint16_t *) p;
L/Bエンディアン変換の需要がbyteswap系
アセンブラマクロが組めれば
最小最速になるかな
ナンチャッテ最小最速
unsigned char * p,L8,H8;
uint16_t ans;
#if __BYTE_ORDER == __LITTLE_ENDIAN
* p = L8;
p++;
*p = H8;
#else
* p = H8;
p++;
*p = L8;
#endif
ans = * (uint16_t *) p;
731774ワット発電中さん
2024/07/30(火) 01:20:57.45ID:dGhoWEJp おっと、メモリアサイン追加
unsigned char arry[2],*p,L8,H8;
p = arry;
・・・
ans = * (uint16_t *) arry;
unsigned char arry[2],*p,L8,H8;
p = arry;
・・・
ans = * (uint16_t *) arry;
732774ワット発電中さん
2024/07/30(火) 11:45:59.42ID:NDMUdG/h ユニオン切ってもいいよね
union x a{
unsigned short b;
unsigned char c[2];
};
で、
x.c[0]=hi8;
x.c[1]=lo8;
とか、
union x a{
unsigned short b;
struct c d{
unsigned char hi8;
unsigned char lo8;
}:
}
とか。
union x a{
unsigned short b;
unsigned char c[2];
};
で、
x.c[0]=hi8;
x.c[1]=lo8;
とか、
union x a{
unsigned short b;
struct c d{
unsigned char hi8;
unsigned char lo8;
}:
}
とか。
733774ワット発電中さん
2024/08/06(火) 17:04:03.61ID:e9vB4bZn あれ世界中のクラブもそうなんか
734774ワット発電中さん
2024/08/06(火) 18:04:36.82ID:PmU32GhC 今までとは普通の知性があって2軍にいるってことじゃなくてSASじゃねーの?
735774ワット発電中さん
2024/12/14(土) 13:17:44.50ID:1694ne5g736774ワット発電中さん
2025/01/13(月) 09:32:06.12ID:pAkbTgac >>735
三行しか読めないSNS頭?
三行しか読めないSNS頭?
737774ワット発電中さん
2025/02/07(金) 17:44:19.89ID:LligpIZm ワンライナーとか Perl 使いかよ
レスを投稿する
ニュース
- コメが「5キロで5000円」の異常事態★2 [パンナ・コッタ★]
- コメが「5キロで5000円」の異常事態 [パンナ・コッタ★]
- 「風呂キャンセル」がSNSで話題 スマホで脳が過労状態? 入浴ナシ1カ月の猛者≠ [蚤の市★]
- 10人に1人──「左利き」は身近なマイノリティー 急須や調理器具…どんな不便が?教育現場では変化も [煮卵★]
- 【婚活】男性が結婚したい女性の人気「職業」ランキング 3位「薬剤師」、2位「保育士」…1位は“知識もある憧れの職業” ★2 [お断り★]
- 水原一平被告の妻が裁判長に渾身の訴え「子供を授かるのが夢」「夫は唯一の家族」「円形脱毛症に難聴」★2 [ネギうどん★]
- 【NJPW】新日本プロレスワールド part.2222
- 【NJPW】新日本プロレスワールド part.2220
- 【NJPW】新日本プロレスワールド part.2221
- 【テレ朝ch2】新日本プロレス 実況 Part281
- 【テレ朝ch2】新日本プロレス 実況 Part280
- ハム専
- 「ダイナミックプライシング制度」って値下げもあるって話だったのに値上げにしかなってねえじゃん… [667744927]
- USAIDの日本への支出、岸田総理就任後に急増していたと判明www [357222248]
- 【悲報】大阪万博でたまごっち販売😨 [616817505]
- 一番ラブラブべろちゅーしたいホロメンは❓❓❓💑
- 【動画】ジャップJK、パルクール成功 [856698234]
- 【実況】博衣こよりのえちえちホロ鯖Minecraft🧪 ★8