[転載禁止] ARM mbed【IoT】©2ch.net
>>33
わかっててやってません。
とりあえず
in_buffer[n] = '\0';
を削除してみてもやっぱり268466888なんですが。
マイコン等を触りだしたのが最近で、プログラム自体も最近はじめたので
アホみたいに素人くさい間違いなんだとは思いますが。
int n = sock.receiveFrom(echo_server, in_buffer, sizeof(in_buffer));
in_buffer[n] = '\0';
というのは何個目の配列にヌル文字を代入するのか、という部分だと解釈してあってますよね? >>34
Amazonとかで評判のよさげなCの入門書1冊買って読むとかすることをお勧めするよ >>34
エラーの場合は-1を返すって書いてなかった? >>32
printf で %d 使ってる行がなにしてるのかわかってる? ID変わってますが、32および34です。
>>35
実はもう一冊読んでたりします
>>36
エラーなんですか
>>37
一応は。
えーとつまり
変換指定子が間違ってますよ
という事でおkなんですかね?
int型じゃないんだから
%dでやりたいなら
一度キャストしろよ、という事なんでしょうか?
書いてて思ったんですが、これビッグエンディアンとリトルエンディアンとかで
もう一度派手に躓きそうな気がしてきたw
あとサークルバッファでも。
手元にmbedが無いので明日また悩んでみます。
あざーす >>38
エラーの時配列の外に書きにいかないかな?
サークルバッファは +1 してand とればよろし >>38
>実はもう一冊読んでたりします
書かれてることを理解してないかハズレの本を買ってしまったかのどちらかだわ。
ちょっと今のあなたは何が分かってないかも分かってないレベルだからまずは人に訊く前に評価のある本でじっくり勉強するべき。 >>38
in_bufferはアドレスだから、%dで出てるのは、そのアドレスの値
それを意図してるわけじゃないでしょ?
んで、あくまでもアドレスなので、キャストしてもアドレスが変化するわけでもなく、出てくる値はかわらない >>41
あー
あーそうだよ。
やったわ、本での練習問題でやったわ
ポインタと似てるけど違うでしょ?っていう練習問題でやったよ
どこを勉強しなおすべきか分かったよ
ありがとー 質問するだけしておいて
結果を書かないのもアレなので
in_buffer[n] = '\0';
for (cnt = 0; in_buffer[cnt] != '\0' ; cnt++)
{
printf("%d ",in_buffer[cnt]);
}
printf("%s\n", in_buffer);
}
と書いて、意図した通りに出来ました。
mbedじゃなくてCの初歩な質問だったのにレスしてくれた人はありがとう。
まぁ問題は、俺がやりたいのはADC通した音声データを別のmbedに送って
そこで音声を流すという物であって
今回やった事がなんの役にたつのかという疑問で頭がいたいですが。
道が遠いわ >>43
>in_buffer[n] = '\0';
これ大丈夫だと思ってる? >>44
mbedのサンプルプログラムに書いてあるそのままなんですが
問題があるような使い方なんですか?
俺の認識だと
受け取ったデータの最後にヌル文字を入れている
で、%sでヌル文字のポインタを受け取る為に使っているという認識なんですが
ちな参考にした、というか触っていたのは
http://developer.mbed.org/handbook/Socket
のサンプルです。 >>45
>mbedのサンプルプログラムに書いてあるそのままなんですが
>問題があるような使い方なんですか?
あるよ んー
考えたけどわからん。
文字列を送る予定が無いので問題なさそうな気がするんだけども
気になるのでどういう事か教えてもらえますか? >>47
>んー
>考えたけどわからん。
考えが足らないんじゃないの >>39
それ、バッファサイズが2のn乗という大前提がないと成立しませんから。 >>39
配列の外に書くのはエラーの時だけじゃないだろ。 n が 256 やエラーの -1 だった時、in_buffer で定義してある外に \0 を書き込んでしまうこと。
たぶん、そのサンプルプログラムはバッファぎりぎりのデータが来ないことを想定している、
もしくはサンプルだから気にしてないだけだと思う。
配列は 0 から指定分の数予約される。
char in_buffer[256];
なので、
アクセスできるのは 0 〜 255 まで。
int n = sock.receiveFrom〜
の戻り値は読み込んだバイト数なので、最大の 256 バイト読み込めば、 n は 256 。
つまり、アクセス可能な 255 から 1 後ろに \0 を書き込んでしまう。
まぁ、初心者だしとりあえずは>>39 の方法で
char in_buffer[256+1];
で、宣言し
int n = sock.receiveFrom(〜, 256);
にしておけばいい。 よく考えると
自分が書いたわけでもないコードに
しかもサンプルコードにいちゃもん付けられて
しかも馬鹿にされ教えてくれないというw
酷えことしてるよなw
性格悪すぎるだろw
初心者のころなんて本で読んだ知識が
なぜか作る段階でスッポ抜けるなんて多々あるから
こんなもんだとは思うけどね
本家の掲示板の方は上から目線で説教されたあげくに何処其処の理解が足りてない
すら教えてくれないから、まだマシなんだろうけどもw おかしい箇所を指摘してくれるのは十分すぎるほどの親切だと思うがなあ。
初心者です分からないところがありますって相談なら、じゃあ勉強する助けをしてやるかってのは
相談者も望んでるとこなんじゃないかね。
物を作るプロセスを学ぶところはどうでも良くて完成品が欲しいって話なら、mbedなんて自分で
いじってないでどっかに外注でも出せばいい筈だし。 >>55
この場合、問題は
自分が書いたわけでもない部分でって所じゃなかろうか
自分が書いた所だったら
まさしくその通りで、どこそこの理解足りてないぜ
そこ勉強しなおせよ
っていう方が嬉しい、じゃなきゃmbedなんて触らないしなw
今回の場合だと、俺なんかはいやソコじゃないっすとか思っちゃうな。
いやしかし、自分が想定もしていない問題点を教えてくれてるという点ではアリか?
でもまぁせっかく過疎ってるスレなんだし、もうちょっと優しくしようぜw mbed V3 のmbed OSってどこまで進んでいるの?
ライブラリがNode.jsのNPMスタイルになるらしいけれど、デベロッパー側の仕様は決まったのかな? そういや、去年発売される予定だったGR-PEACHはどうなったんだ? >>60
for the mbed online compiler
って書いてあるだろ V-USB の mbed実装ないかねですかね?
LPC1114でもMIDIデバイス作りたい(T_T) >>63
オフラインでstd=c+11ならつけてビルドしたことある。オンラインも設定位どっかでできるのでは? 今日mbed使い始めました。
オンラインIDEでビルドしたバイナリをmbedドライブにドラッグ&ドロップするだけでアップロードが完了するのは感動しましたが
何回もやってるうちにドラッグ&ドロップの操作が面倒くさくなってきました。
ビルドからアップロードまで自動化する方法はありますか? >>67
ありがとうございます!
って試そうと思ったらオンラインビルドシステムが応答なしエラーとか出て試せません。
オフラインビルドシステムも用意しておかないと実用時に困りますね。 >>67 がどうもうまく動かないので、webブラウザのダウロードフォルダをmbedドライブに直接指定することでとりあえず期待通りの動作になりました。
重複ファイルがあるとwindowsが勝手に空白つきで(1)などを付加するのがダメな原因っぽい。 オンラインIDEが停止したのは計画済みのメンテナンスだったわけですね。
http://developer.mbed.org/blog/entry/Scheduled-Maintenance-25th-April/
mbed初心者なので、頻繁にIDEが停止するような印象を持ってしまいましたが間違いでした。
というかこのスレ過疎りすぎ。 >>70
計画的な停止の後で、トラブっていましたね
twitterの方が情報入ってくる もう撤去されたみたいだけど日本語フォーラムに荒らしが… mbed NXP LPC11U24 って60〜80℃の気温環境(密封状態、空冷不可)でハングアップとかcpu暴走などは発生しにくいですか? で、おまえらmbedをなんて呼んでるのよ
ググらずに正直にありのままを答えよ 13:00
〜17:00
チャンネル mbed祭り2015@初夏の東銀座
http://live.nicov ideo.jp/watch/lv224486510?ref=qtimetable&zroute=index >>84
で、正解は何なの?
書いてよ、カタカナで。 >>88
動画みてよ…
せっかくカタカナ表記+ネイティブの発音付きの動画なんだから >>89
エムベッドにしか聞こえないなぁ。
大丈夫なの?この外人さん。
カタカナわかりますか〜? bの前のんは、口を閉じたんになるからむと聞こえるかもね
口を閉じてんを発音すればいい 新橋は、ローマ字表記で Shimbashi
だけど、
カタカナだと"シンバシ"であって
"シムバシ"じゃないぜ。 >>92
いやいや、それわかってるなら>>90はおかしくね?
mbedの「エンベッド」と新橋の「シンバシ」表記は同じ
ン→b(ベやバ)への移行時に口を閉じるのでm成分は必ず発生する embedがエンベッドなんだからそりゃもじったmbedもエンベッドだって思うのがふつうじゃないのかな?
関係ないけどファイヤーエムブレムは「エムベッド」式だね。
そもそも日本語だって歴史的仮名遣いだと「いざ行かむ」とか書いて「いざいかん」と読むわけだからここの区別って結構微妙だよな。 エンベッデッドじゃなくてエンベデッドだからエンベドって読みたくなるのは俺だけ? embed、だったらエンベッド、って感じじゃない?embeddedだったらカタカナ英語的にはエンベッデッドにしたくなるが(そう表記してるのもある)発音はエンベデッドだよな。 >>84
やべ、俺の中では
mbed -> エンベッド○
Kail -> ケイル×
CMCIS -> シムシス×
って読んでたw Compilerページにアクセスすると「502 Bad Gateway」って表示されて使えない
コンパイルできなくてイライラして死にそう クラウドコンパイラはAWSに移してほしいよね。
ランダムに使えなくなる開発環境なんてのは危なすぎて真剣に採用できない。
AWSでホストすればダウンタイムは無視できるくらい短くできるのに
自前システムにこだわってダウンを繰り返してると開発者は呆れて他に逃げるよ。 awsってことは、有料にしろってこと?
scheduled mentenaceだからランダムでもないし。
どうぞ、ご遠慮せずにEdisonにでも逃げてくださいませ。 mbed (ST401RE)でPWMを使ってLチカさせようとしているのだけど
statusLED.period(1.0f);
statusLED.write(0.5f);
とかやっても0.5秒周期で点滅しないのね
PWMは周期が長すぎるとダメなのかな 今ってmbedのコンパイルできてる?
chromeでもIEでもコンパイルできないんだが それよりライブラリの検索がちゃんとできないことの方が気になる
あとoffline IDEコードへのexportも 初めて買うなら LPC-1768?
安いのだとST製 F401RE かなー
どれがおすすめ? イチオシはトラ技付録のやつ
組み込み系の人達が絶賛してるよ とりあえず LPC-1768を買ってみた。
これC言語ベースらしいけど 関数の書籍とかないですか
ブラウザでコンパイルってなかなか斬新だね
ありがとうです。 >>118
情報駄々漏れ情弱御用達コンパイラへようこそ。 オープンソースにしないやつが情弱
ソースなんてのは隠してもリバースエンジニアリングで簡単にバレルってのにw >>121
簡単にバレるならオープンにする必要など無いだろうにw
馬鹿な奴って、アルゴリズム考える能力無いけど、
筋の通った文章書く能力も無いよなw
同じ系統の思考能力が必要なんだろうな。 オープンにできないほど市場競争力のある崇高なソースコードを
お書きになられている方はmbed web compilerを無理にお使い
いただく必要はございません
ご存知の通りmbed web compilerの使用は強制ではなく、
offlineのIDE等をお使いいただいて構いません
どうぞお引き取りくださいませ >>123
ばーか
オープンソースは「信用」なんだよ。
君は社会経験が全くないニートちゃんか?w >>127
その道楽が今やスマホとか、サーバーとか、ビジネスになっている訳だが >>129
ビジネスになっていようがどうしようが、道楽の産物に変わりない罠。 >>130
どうしようもなく世間知らずのニート臭い考えだw 人に信用してもらう事、知名度を高める事がビジネス上どんなに面倒くさいか知らないんだろうな >>129
お陰で物凄く品質の低、デバッグされてないスマホや
ボイスレコーダが出回ってるな。 >>133
そうだね。所詮趣味と道楽の産物で、誰も保障なんかしない以上
使う側がきちんと全部把握し、理解した上で使うしかない。