マイコンソフト 悩み事相談室 3 [無断転載禁止]©2ch.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
では、質問、ドゾ〜 なぜ多バイト文字の時/* の方が// より良いの? Keilとか、最近のバージョンでも日本語コメントがまともに表示できない
PCで日本語表示するようになって30年以上経つけど、やっぱ全角はつかっちゃ
ダメですよ >>715
SJISだと2バイト目に\が来ることがあるから、その文字が最後になると次の行をつなげる処理が入っておかしいことになる コンパイラがエラー出すから
そうなったら悩めばいいよ
そうなるまで気にする必要はない >>719
sjis使うのが悪いってのは置いといて、
//の前に2バイト文字が来るってどう言う使い方?
>>700 は間違ってる気がするけど? //の前に2バイト文字が来るなんて話はどこにも無いような気がするんだが。
// 可能
とかでしょ S-JISに対応してない環境ではS-JISは使わない
CとかC++とか関係ない >>721
>>722 の言うとおり、//コメントの行の最後が意図せず\になるってこと
行末\は次の行とつなげて処理されるからな >>724
なるほど。俺が勘違いしてた。
//の行が\で継続するのが悪いんだな。
//は何があっても一行にしとけばよかったのに。 それをすると利便性が失われる。
安易な解決ができないからいまだに引きずってるんだ。 コメントの最後にスペース付けるとか習慣にすれば防げるのかな S-JISに対応してない環境でS-JISを使うなって
コメントじゃなくても化けるから >>727
オレその習慣あるわw
もうそんな環境で書いてないからいらないんだがな スペースでひとつで行連結止められたら大問題なんだがな・・・・ ってか、「能」の字でエラー出たって「ああそっか」で済む程度の問題じゃないの? >>728
そういえば
「リテラル文字列の中で、2バイト目が\になる文字は、直後に\を付けておけ」
ってのもありました。 一覧表でも貼っておけって?
そんな環境で組みたくない 衛星、CS放送見るなら!こんな便利な機器(チューナー)があるんだ!
satch.tv/review/satella2review/?mref=445 SJISで、こんな感じのコード書かれたら死ぬ。
for (;;) {
// 脱出不可能
break;
}
SJIS使うのが悪いとはいえ、
// の継続行を作れる仕様がおかしい。 簡単に解決する方法がないから、昔から話題になってるんだなぁ そう、そして運用次第でどうにでもなるので対策しないコンパイラが存在し続けているのかもしれない。
ちなみに>>734の方法もダメなものはダメ。 >>737
特殊な文字コードを優先して規格を作らないからね
// TEST(a);
TESTが複数行からなるマクロだったら 英語圏の連中は全く困らないんだろうね 直そうという気が感じられない #defineの行に//コメントの方がよっぽどだめだよね。 >>740
>ちなみに>>734の方法もダメなものはダメ。
SJIS対応コンパイラに>>734の対策を施したソースを読ませて悩む、という話は割とありました。
今ならUTF-8が無難な選択ですかね。 SJISしか対応してないコンパイラにUTF-8入れたらどうなるんだろ UTF8の2バイト文字、3バイト文字の最終文字を、SJISの2バイト文字の1バイト目だと
認識したらまずいかも。
SJISしか対応してないコンパイラはないと思うけれど、
コンパイルオプションで、文字コードをSJIS指定して、UTF8を食わせたらまずいのでしょうね。 >>741
マクロ展開される前にコメントアウトされるから何も起きないでしょ。 >>741
コメントアウトはマクロ展開より先に行われるので
#define stasla */
/* stasla
上のようなコメントの終わり方は出来ないし、
次のコード書くと
#define slasta /*
int aho;
slasta */
aho定義は残らない。 >>725
C言語には、行末という概念が無い のが問題な気がする。 行末の概念はプリプロセッサにはある。
マクロ定義も一行
//コメントも一行 お前さん、コメントの無いソースコード見なかったかい?
ノーコメント やべぇ、『きぬ』に乗ったつもりが『りょうもう』だった… >>761
[グンマー] やぁ、焼きまんじゅうでも食べて行って呉れ給え ワン!バターン!!
大丈夫、上の文字列には¥マーク入ってないよ。 16F1827を使って水平義を作ってるのですが、センサーとPICのAD変換、LEDで形は出来たものの、音を鳴らすのが良い方法が解らず苦労しています。
角度が大きい時はピッ、ピッとゆっくり鳴らし、水平に近づくとピピピと早く、水平でピーと連続音にしたいのですが、良い方法は無いでしょうか? タイマーの使い方 ブザーをどう実現するか、とか。
書くと長いよ >>768
例えばタイマーで割り込ませてブザーの繋がっているポートを常に反転させる。
音を出すときだけ、TRISAで入出力設定を出力にする。出力にしている時間はもう一つのタイマーで制御して、ピッと言う音を出す。
このような方法で出来る物でしょうか? (水平を零度として)角度のN倍サイクルは音を出さない、みたいなのはどうだい 3の倍数と3のつく角度の時だけファニー音が鳴りまつ データ1個8bit使って常時インクリ
その7〜0bit目を参照すれば、すべてデューティ1:1の波形になる
センサー値を8bitにデコードし
その最上位bitを拾ってそれとand取れば
勝手にデータ量が多ければゆっくり、データ量が少なければ早く鳴る >>772
なるほどシンプルなアルゴリズムで面白い。
+1の速度を変えれば音の高さも変えられる。
8段階に変えるための「その最上位bitを拾って」が少し手間かな。
あと、各音の周波数の増減が1オクターブに限定される点はどうなんだろ。
(私が誤解していなければの話しだけど) オクターブ?
音の高さを変えるほどの周波数でインクリすんのか?
ただのピピピの間隔だろw
全音符から64分音符とかの範囲で考えろw >>776
あっち荒れてるからこっち来たんじゃね? 仕様を変えて低い連続音から高い連続音へPWMだとコードは短いけど、水平か分かりにくいか PWMで音演奏
エンベロープできて一人前
昔、PC88でやってたなぁ switch文の中の casesは、1段インデント付けますか? それともおなじ位置でしょうか? { } の中に入るごとにインデントを1段増やす
ラベルは1段減らす
これが基本 スタイルは人それぞれ
だけど、ソース整形ツールがある
ルールをファイル定義しておいて一気に修正してくれるもの(Cuty)とか
コマンド指定するastyleとか。
astyle --style=1tbs -s4 -S -N -Y -M80 -p -j -k1 -U -H foo.c
人のソースが読みづらい時にも。 静電容量型の接触検出(STM32 のTSC,PICのmTouchなど)を使った方にお尋ねします。
アクリル板越しでも接触検出できますか? >>785
別に正解じゃねーだろ
合わせた方が楽なだけだろw Windowsで使えるARM7TDMI向けのコードを吐けるclang/LLVMのビルド済みパッケージって無いのかな?
自分でビルドしようにもWindows環境向けの情報が少ないしそんな古いCPU向けの奴なんて見あたらない
lldがらみのチュートリアルも欲しいけど組み込み向け乗ってどこにあるのか・・・ >>788
方式によるけどね。
タッチセンサの検出方法って各社がそれぞれの方法を特許で押さえていて、
他社が真似できない。各社の原理を良く見た方がいいと思うよ。
mTouchみたいな弛張発振は特許にならないほどありきたりな方法で
簡単だけど、どうしてもセンサ部分が高インピーダンスになってくるので
耐ノイズ性や安定性の面では不利かな。
今まで見た中ではルネサスの第2世代方式が一番すぐれものだった。
https://www.renesas.com/jp/ja/solutions/key-technology/human-interface/touch-sensor-system2.html
https://www.youtube.com/watch?v=qIgsneAIg5A&feature=youtu.be
動画みたいに、10mmのアクリル板でも木でもOK。
パネル面の上から水が垂らされてるような状態でも検出できてたし。 >>47
最初は、見やすさ優先で良いだろ。
無駄な処理有っても、ある程度は最適化かかるし。 教えてください。
ノイズの多い環境でのシリアル通信は、通信上どんな工夫をして良いか考えています。
まず考えたのは、パリティを付加することですが、ノイズが2回来ると検出できない思います。
次に考えたのが、同じ文字を何回か送って、何度か一致したら、それは合格とすることです。
前者も後者も、確率の問題かなと思いました。
以上です。 >>793
CRC も RS も LDPC も確率の問題 >>793
1文字中2回もノイズでやられてるってんなら物理層の対策の方が先だろう。 >>793
1 速度を落として、ノイズフィルターをガッツリ入れる
2 誤り訂正符号追加する
好きな方を 調歩同期だろ
スタートビットダメだったら文字丸ごとダメ
そんなに伝送路悪いのだったら
拡散符号にでもするかw >>798
いやいやはやぶさとかの通信担当者かも知れんぞ w >>802
宇宙通信の同期機構はもっとしっかりしているしデータの保護もリードソロモン符号で堅牢っすよ >>803
> データの保護もリードソロモン符号で堅牢っすよ
物理層って意味わかる? w マジレスすると宇宙通信の成立性は事前に証明した上で打ち上げるから
機器が故障したり予定外の軌道を飛んだりしない限りしないかぎり
物理層のエラーが多くて運用に支障をきたすなんて事はあり得ない 生まれた子の性別を伝えたいなら
赤・青の狼煙爆破させればいいじゃん というかどのレベルで話せばいいわけ?w
1.一般人
2.高周波通信は判っている
3.人工衛星や探査機のシステムについて理解がある >>809
>はやぶさ2ではX帯での通信機能も備え、天候が良ければKa帯、悪ければX帯を使うなど2種類の電波を使い分け、効率的に運用する。
らしいけど、何が3系統? というか>>804は一般人って感じじゃないんだが>>802,807だと素人丸出しだ >>810
お前のレベルで話せばいいよ
>>811
ああ、はやぶさ2はKaバンドも使うんだったな、忘れてたわ
それ入れれば4系統か
ただ、物理層って周波数だけじゃ無いぞ
アンテナ4系統ある意味を考えなよ
>>812
はいはい、俺のことはどうでもいいからお前のレベルで話せよ >>804
極近距離の有線ならともかく、
通信ではエラーが出る前提で設計しないと駄目だろ。 ■ このスレッドは過去ログ倉庫に格納されています