Raspberry Pi pico part1
レス数が950を超えています。1000を超えると書き込みができなくなります。
Raspberry Pi picoについて語らうスレです。 データーシート見ながらbit-bangで動かす発想に至らんかな 警告出ようが少し挙動がおかしかろうが動けばいいって考えで投稿する奴がいて
狭い業界では他に選択肢が少ないから定番ライブラリとして紹介され定着するのよ 業界じゃなくてアマチュア界隈でしょ
仕事でやってるレベルと一緒にしないで欲しいわ 意味的に界隈と同じような意味で業界って使ったんだと思うよ 仕事のはずだが
不正アクセスによる情報流出に関するご報告とお詫び | 株式会社メタップスペイメント
ttps://www.metaps-payment.com/company/20220228.html
動けばおkのガバガバ実装で大炎上
Arduino(笑)などと素人をバカにしている場合じゃないと思うわ >>853
仕事だと公開しないぶんもっと酷かったりするしな。 >>853
オープンソースの奴を流用しようとすると
多かれ少なかれ、そんな奴にぶち当たるのだ… >>850
アホみたいにアフィ貼りまくりのサイトはソースも見ずにすぐ閉じるわ >>860
カインドゥズ ホームセンター?
コインドゥズ じゃらじゃら >>845
PicoのmbedベースのArduinoはArduino公式のやつなんだけどな
by Arduinoってなってるでしょ?
Arduino公式でもArduino Nano RP2040 Connectというの出してるがあれもmbedベース
Arduino Nano 33 BLEなんかもARMのArduinoだけどmbedベースだよね >>845
今回の件はライブラリが問題なんじゃなくて、スケッチに問題があったというだけじゃないの?
ちなみに>>840はPicoのArduinoで問題なく動くよ
pico-sdkでも問題なく動く
>>840は俺が書き込んだんだが問題なく動く
単にsnprintfつかってるだけだしな
>>852
LinuxやWindowsで有名なオープンソースのソフトでも
自分でビルドすると警告出まくりだよ
自分でビルドしたことないの? PaulStoffregenさんのOneWireのライブラリの中身見ると
直接レジスタにアクセスしてデジタルピンの読み込みや書き込みしてるね
そしてRP2040用のコードがちょっと見ただけでは見当たらない
そりゃ、ハングするのも当然かもしれない つまりあれだ
そんなものを
RP2040対応として登録したやつが悪い ttp://make.bcde.jp/arduino/ds18b201-wire%E3%81%A7%E6%B8%A9%E5%BA%A6%E8%A8%88%E6%B8%AC/
ここのスケッチを参考にしてPlatform IOで追ってみたけど
GPIOのレジスタ操作の定義がしてあるOneWire_direct_gpio.hに
該当しない機種に関しての記述があって普通のdigitalWriteなんかを使うように定義されてた
#else
#define PIN_TO_BASEREG(pin) (0)
#define PIN_TO_BITMASK(pin) (pin)
#define IO_REG_TYPE unsigned int
#define IO_REG_BASE_ATTR
#define IO_REG_MASK_ATTR
#define DIRECT_READ(base, pin) digitalRead(pin)
#define DIRECT_WRITE_LOW(base, pin) digitalWrite(pin, LOW)
#define DIRECT_WRITE_HIGH(base, pin) digitalWrite(pin, HIGH)
#define DIRECT_MODE_INPUT(base, pin) pinMode(pin,INPUT)
#define DIRECT_MODE_OUTPUT(base, pin) pinMode(pin,OUTPUT)
#warning "OneWire. Fallback mode. Using API calls for pinMode,digitalRead and digitalWrite. Operation of this library is not guaranteed on this architecture."
#endif
ハングするとしたらmbedのdigitalWrite、digitalReadなんかのの関数の問題かもね まあ、コメントにもこう書かれてるし、使い方の問題だね
>#warning "OneWire. Fallback mode. Using API calls for pinMode,digitalRead
>and digitalWrite. Operation of this library is not guaranteed on this architecture." RP2040の問題がOneWireのライブラリのところにあがってるね
https://github.com/PaulStoffregen/OneWire/issues/105
そしてその回答
BTW: Since RP 2040 chip is becoming quite popular
I've added support for it in my OneWireNg library.
I don't have any RP 2040 based platform,
so I'm not able to check the implementation correctness.
Fell free to check it out on your board.
The library is compliant with OneWire via OneWire.h C++ header
therefore shall work out of the box after replacing OneWire with OneWireNg.
OneWireNg
https://github.com/pstolarz/OneWireNg
これにrp2040が追加されてるけど、Not tested.になってるね PlatformIOのライブラリの対応リストだろ?
あれ誰でも登録できるからなw 過疎ってて修正もされないし自分でサクッと書いたほうが速いだろ ID:a+TmHLt2こいつID:EZyIT3tdやID:iTMHsFOm同一人物だなきっと。
無知が知識得たばかりのときは興奮してるものだ そうやって偉ぶって何も書かないよりは知らない人の躓いたところが書いてある方が誰かの遥かに役に立つぞ 同一人物でも構わない
無知でも構わん
気になるなら教育してやればいいじゃん?
嫌がらせ発言しかしないのは気持ち悪いぜ printfがどうのこうのとかどこに書いてあっただのは本質じゃない。
ミューテックスや最適化やマルチスレッドを理解してないことが原因だ。そしてラップされたわけのわからんものを使ってるから混乱してる。ラップされたものもソースが公開されてるんだから読めばいいだけ。それすらせずどこに書いてあっただのわけのわからんものを書き付けるのは
変だと気が付かないほうが変だよ 嫌がらせと思うならblogに書けよ。
適切な指摘が都度さてれても理解できないアホが騒いでるんだろう? 自分では適切な指摘が出来てると思ってるだけ
具体性がないから何も伝わってない 結局ライブラリがバグってるのにprintf使ったクソコードが云々言ってたプロな方も居ましたね〜 OneWire に限らないけど通信が終わるまで待つのか
バックグラウンドで通信させとくのか
どっちがいいかは時々で違うだろうし
結局自分で書いたほうが楽なんだよな。
ライブラリとか公開されてるのは参考になるしありがたい。 エロゲにダンスもカラオケもいらないのに一部の声が大きなニワカ信者ばかり相手して今の惨状になった RaspierやArduinorって基本縛りプレイだし >>886
でも工場システム組むの凄く楽になったよ?
シーケンサーの方がと言われるけれどあれら高いねん printfとmutex、デットロックの関係性も知らないで何を話をそらして暴れてるんだか まっ、頑張れ。
こんな落書き場で何か解決すると思う方がおかしいしな。 >>886
らずぱいやあるどぅいのはSMだったのか・・・(・∀・* >>887
それはおかしくなったらリセットすればいいレベルの物でしょ?
原則ノンストップで仕事してくれないと困る物をコピペ実装とはいかんでしょ 実際試してみたけど、Picoで公式のArduinoでprintf使ってもハングしないですよw >>875
自分が気に入らない人をすべて同一人物だと思い込むって統合失調か何かですか? Mutex: 0x20009A98, Not allowed in ISR context
これでググったらトップに
シリアルの割り込みでprintf使ってハングする例が出てきたけど
結局、ググってこれが出たから知ったかぶりしてるだけ? だいたい、Arduinoなのにprintfてなんだよって話
ArduinoならSerial.print()やSerial.println()でしょ?
Picoの公式のArduinoではSerial.printfは使えないしな
「Mutex: 0x20009A98, Not allowed in ISR context」
で検索してトップに出てきたmbedの例を見て脊髄反射で書いちゃったのかな?
そもそもArduinoの場合は割り込み関連は外部ライブラリ使うからな
例えば、Pico用のtimer割り込みの場合、MBED_RPI_PICO_TimerInterruptなんてのがある
Arduinoの場合、割り込み関連は使ってるマイコン自体に依存する場合がほとんどじゃないの? >>897
おまえは要領得ないだらけたレス連投するから皆が嫌がってる
短く的確に余計な感情など書くな 皆がなどと書かなきゃならんほど自分の意見に自信がないんか printfだろうがprintだろうがprintlnだろうがどうでも良いことだろ
そしてライブラリがどうこうもどうでも良いことだよ
本質はmutexを理解せずにデットロックして
吹っ飛んでシリアルが制御できずide接続が切れること
で、デバッカーで追えて幸せだなんて言ってないでちゃんとコード読まないからいつまでも解決しないってことだろう
また他のことでやらかすぞこいつ
ところでライブラリのバグだとケチつけたがどうやってそのライブラリが事象を発生させてるか、そしてライブラリをどう治せば解決するかはこんなに時間使ったんだからそろそろ理解したんだよな? 割り込みハンドラ側でシリアル出力して止まるならキューでメインルーチンに送って
メインルーチンでシリアルに送ればいいだけだろ?
printfとかわけわからないこと言いだしたのは誰だろうな
あまりよくないことだけど、割り込みハンドラ側でsnprintf使ってもハングはしない
https://pastebin.com/mdGjBVSz >>900
結局、ライブラリはPicoのArduinoに対応してなかったけどな
新しいOneWireNgという方で対応し始めたらしいが
まだ、作者が実機をもってないらしくテストしてないようだけどね
mbedベースのArduinoはArduinoの範疇を超えるようなことする場合
mbedの知識が必要らしい 言っておくが、俺はID:iTMHsFOmじゃないからな 結局、ググってこのサンプルコード見て脊髄反射でprintfなんて言っちゃったんだろうね
Arduinoでprintfなんて使えないのにね
ttps://os.mbed.com/questions/86903/Error-Message-Mutex-0x2000168C-Not-allow/ mutexだのシリアルが制御だの言ってるがたぶんID:iTMHsFOmはそこまでしてないと思うぞ
どうも、割り込みハンドラ側でシリアル出力するだけでハングするみたい
mutexはたぶん、mbed自身のライブラリかArduino coreの方で使ってるんだろうね
>>905に書かれてるソースも別にmutex使ってないし 割り込みハンドラ側でシリアル出力したら即ハングするのもUSBシリアルの問題っぽいね
UART出力のSerial1にしたら割り込みハンドラ側からシリアル出力してもハングしない
ただ、メインルーチンと割り込みハンドラ側で同時にSerial1を使うなら
queueでメインルーチンに送信してメインルーチン側で処理した方が確実だね 必ずしも互換性がない物をまとめてArduinoって呼んでいるうえに
マニュアルすら読まない人が使っているんだから混乱を生じない方が不思議 自分で意識しているコード(ライブラリ含む)以外にも
mbed OSなるものの処理が走っていて
おまけにUSBによるパソコンとのやり取りもしてるからな。 picoprobeでのデバック中にUSB側のSerialにアクセスするとハングしたりね。 このスレpicoよりメモリ容量少ない奴多いな
脳内メモリが少ないからって垂れ流すなよ
何度も同じようなことを連レスする前に頭の中を整理整頓して出力しろ 基本的に5ch質問して解決しようとするアホに
付き合っておちょくってヒートすることを楽しみにしてる連中がいて
それを無視して説教を始る
まさに2ch伝統 こんな板にいる子供部屋おじさんが若者ぶって笑笑とか言っても寒々しいだけだぞ
匿名掲示板の陰キャおっさんらしく藁とか(ワラとか使いなさい
出来ないなら世のため人の為に今すぐ死になさい printfで1ビット脳晒したやつが荒らしてんのか ArduinoJsonのつもりがArduino_JSONだったとか ↓ぼくの想像する あるでゅいの・じぇいそん さん(35)のイメージ(^p^)
ArdionoJsonって公式のとesp32に対応させたのがあったような 尼損観たが確かに書評がまだ無い
ISBN
4295600407
目次だけ観る限りは初歩の初歩だけって感じだし
このスレずっと観て来た人には不要じゃないかな 取り敢えず今言える事は、左右で(瞳の)虹彩のサイズを換えるのは
パースを付けているつもりなのかもしれないが
左右の瞳で優位のサイズ差が生じるのは相当カメラが顔面に近い場合であって
この様な上半身まるまる画角に収まる場合においては立体幾何的に不適切ではないか?
とおもうわけだぐゎ、あとはpicoを斜めに見てこのサイズという事は 頭部よりもpico基板の方が大きいわけで
このおにゃの子はおそらくサイズ的に妖精さんではないか?という事が強く推測される(^p^)かわええのぅ しまった、おれさまとしたことが鳥頭で以前の話を失念していた!!
先に指摘されていた驚愕の新事実 >>891 を踏まえるに
こんなかわいい妖精さんが 革の戦闘服に身を包み
鞭や蝋燭でびっしばし我々を詰って下さるに違いない!
ぐふゅふゅ(^p^*)ありがてぇ ありがてぇ \ ∩─ー、 ====
\/ ● 、_ `ヽ ======
/ \( ● ● |つ
| X_入__ノ ミ そんな表紙で俺様が釣られクマ――
、 (_/ ノ /⌒l
/\___ノ゙_/ / =====
〈 __ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザザ それはともかく、InterfaceのPICO特集は初歩的すぎるのと
アセンブラ駆使の両極端で微妙だった。 Cortex-Mのアセンブラはあまりやりたくないなぁ なぜPICの話・・・あれ? もしかしてPICOってPIC乗せてるの?! cortex-Mアセンブラ、32bit定数ロードがLDR疑似命令なんだよな
armは昔からそうだとは言え、馴れない… アセンブラ読み書きするならRXが良い
Cortex-Mは16bit命令と32bit命令の板挟みでウボァー >>942
Cortex-M3、M4、M7になら16bitずつ読み込む他のRISC CPUみたいな命令あるんだけどね
PicoはCortex-M0+なのでそんな命令はありません。
Cortex-M0+はほとんどの命令が命令長16bitの命令なので仕方がない
そもそもすべてのCortex-MシリーズにはARM命令はないです。
そしてCortex-M0、M0+は他のCortex-Mと違ってARMv6-Mです(他のはARMv7-M)。
たしか、Cortex-M0、M0+は後方512バイトまでのリテラルプールにしかアクセスできない
だから長い関数だと関数の途中にリテラルプールが置かれる
>>943
今のARMはユニバーサルアセンブラというアセンブラがあってな
ってかPicoはCortex-M0+だからアセンブラ使いにくいよね
アセンブラで組むならせめてCortex-M3がほしい アセンブラといってもたいていはインラインアセンブラだろうけど、
インラインアセンブラじゃなくて、関数全体をアセンブラで書く場合で
Arduino IDEでアセンブラやる場合に
Arduino IDEはアセンブラの拡張子で小文字の.sは認識してくれません。
大文字の.Sを使いましょう
あと、Arduinoの場合はC++なのでアセンブラで書いた関数にはextern "C" {}で囲いましょう 新スレ前にてんぷれかんがえようず
お勧めの購入先
お勧めの教本
お勧めの電力会社 もとい ぱわーさぷらい☆彡 レス数が950を超えています。1000を超えると書き込みができなくなります。