STM32スレ part2
レス数が950を超えています。1000を超えると書き込みができなくなります。
ほんのわずかに足すだけでより性能高いのが買えるからな
というのはあるが、だいたいにおいてbluepillで十分間に合うし、情報も多いしPC13=LEDにされてるサンプルも多いからbluepillでいいわw bluepillみたいなニックネームって無性にワクワクする そんなことより、お前ら
bluepill のoscやusbに繋がれているピンの有効利用方法を考えろや
いや、教えて下さい USB端子は色々と便利じゃないか?
PCから制御したりデバッグ情報をはきだしたり
OSCはいらんな
なんで2個もつけたかねえ >>852
より性能が高い格安基板があるなら教えてください >>851
だよね
チップ単体より安いってどういうこと?
って思う
躊躇なくガシガシはんだ付けしたり加工したり出来る 2.54mmビッチに縛られるの嫌なんでこれからも基板起こすよ
原理試作ぐらいならnucleo使うけど。 2.54ピッチで使うために
Blue Pillっぽい基板起こしてる俺と正反対やんけ マイブームは32pin最強のG431
8pinも気になるけどまだ使ってない
H743はNucleoで遊んだ
745はこれから >>858
単純に値段ならF401が300円からあるし、何が欲しいかによるだろ
そういう質問するレベルならbluepillで十分だよ 趣味でも制御できるかどうかわからんデバイスならいきなり基板起こさずブレッドボードかユニバーサル基板で動かしたりするだろ。
原理試作って言葉尻だけ捉えたいのかね? 「原理試作って... まさか仕事の話?」
これが何を意図してるのかが不明だな。
>>865が反応するほどの意味はないと思うけどね。取り組み方はひとそれぞれなんだし。 普通に「テスト」とか「試作」でいいのにやってることすごそうな単語使ってるから反応しただけでしょ >>867
単純に仕事なのかどうか聞いただけで
深い意味はないよ >>869
こんなところにPOCって使うのか。普段の常識はそれぞれだな…
>>870
「まさか」って疑いのニュアンス含んでしまうからなあ。この場合、仕事でも趣味でも関係ない部分でもあるし。
ちょっとした行き違いだね。 32ピンでUARTがひたすら欲しくなることがたまにある
出来のいいソフトウェアUARTのライブラリないっすか 一度自分で作っておけば使い回しがきく
ちょっとの変更で他CPUにも
UARTなんて普通はソフトでやるもんじゃないけど
CPUの無駄使い 多チャンネルソフトウェアUARTは、同じビットレートで使う限りは
割り込みは、タイマー割り込み1個で済ますものだと思ってた。 速度によるんじゃね
遅ければポーリングでなんとかなるが。 >>880
複数のデバイスが任意のタイミングで送ってくるのを受ける場合それだと難しくね?
全てのデバイスが同じタイミングで送ってくるのであれば可能だと思うけど >>883
普通のハードUARTがどうやって受信してるか知ってる? >>883
たとえば、
ビットレートの4倍でサンプリングする(このタイミングを作るのにタイマー割り込みを使う)
(複数のチャンネルならそれぞれ別に)2回連続してLならスタートビットとみなし、そこから4回のタイマー割り込みごとにD0からD7をシフトインする。
みたいな感じで。 複数の受信を同じポートグループにしておいて
タイマーをトリガーにDMAでメモリにポート状態を書くようにするのが良いかな
こうすればCPUは暇な時にまとめて処理出来る サンプリング周波数は一番速いヤツの4倍とか
115200bpsの1/n限定で(115200x4)Hz固定とか
最速の1/nじゃないのがあるとちょっと面倒 115200bpsを4倍でサンプリングとすると周期は2.17us
マイコンのクロックを72MHzと仮定すると全て込みで156クロック
実装は出来そうだけど結構忙しそう 毎回割り込みじゃきびしいけど
まとめて処理なら楽勝だろ ソフトウェアによるUARTと一口に言っても
1. 一定周期のタイマー割込みでRxを監視、H/Lを取り込みながら8bit溜まったら
一文字入力完了、
出力も同様
2. Rx入力で外部トリガ割込みを発生させてその時の時刻を記録してゆく、
スタートからの時間で割り込み禁止して終了
出力は1bit幅で割り込み掛けてポートを上げ下げ
2はめんどくさいから1でやるのかな >>895
2だとRAMを節約できるのと通信速度が上がっても対応できる 受信についてはスタートビットを外部割り込みで検出して残りのビットを
タイマー割り込みで拾うという方法もある ハードの基本は一定間隔のサンプリングだから
それを忠実に再現するなら>>1
複数chも>>1の方がやりやすい
まあ普通はハードを使う ソフトの実装はどれが正解ってこともない
使える資源や通信速度などで臨機応変に決めればいい 先月作る羽目になったソフトウエアシリアルは
外部割込みがでタイマーを動かしてビット取りこみ終わったらタイマー止めたな 後処理でCPUの仕事が増えるけどタイマのインプットキャプチャを使う手もあるな
かなりの高速通信でも受けられるかと >>900
その方法が基本だよね
一番シンプルで効率的だと思う チャンネルが少なければそうかもね
チャンネルが少ないなら普通ハードを使うけどね 足らなくてもI2C接続のシリアルポートとかあるし、それ載せるよな。 I2C UART変換を使うくらいなら
安マイコン追加の方が安いんじゃ? ま、有るとしたら、基板作った後、
どうしても追加のシリアルが必要です、
でも基板の作り直しはなしですって場合かな。 基板の作り直しがないのにUARTをどうやって追加するんだかわからん TX RX それぞれ12chずつ使いたい
みたいなのだと思った 基板開いてるとこに適当なio引っ張りだしてコネクターおいとくのは基本だろ
基板変更なく機能追加できる ターミナルサーバーを思い出した。
シリアルポートが沢山出ていてTCPポートと相互変換する奴。
今でも売ってるのかな。 いわゆる無人くんの中身に使われてる(現時点でもそうかは不明)
タッチパネル、身分証用スキャナ、プリンタ、生体認証、カード発行機、
USB接続もあえて 232C 接続して制御を統一してる >>913
ネットワーク機器の管理に使うから、バリバリ使われてるよ
普段はTCP/IPで入れるけど、障害時やメンテするときはシリアルも使ってる >>912
そうなのか
うちだとあり得ないなあ
つなぐ相手を入れるスペースなんか無いし
後から外にコネクタ出すなんてのも無理
製品のサイズや種類によるんだろう ある程度のカスタム性を残さないといけない用途と、がちがちの量産用とでは設計が変わるしね。
5chは違う世界が疑似体験できるいい場所。 うちはあまりよろしくない業界だから特に要求されなくても後に数回の改造拡張に対応できるように設計しとくのが普通
上場企業の大工場でも稼働計画が適t・・・フレキシブルなんだよね
数年稼働だと聞いてたのに、他設備に転用するから調整しろとか、同スペックを追加で100台作って10年単位の量産やるわとか 806です。
皆様からのアドバイス感謝いたします。ありがとうございました。
少々進捗(←と言う言葉を最近知りました)の報告を。
私の予定では3種類のSTM32を使う予定でした。
F303K8T6/F303VET6/F446VET6の3つです。
検証用にNucleo-64 F446REを買っていて、「よっしゃ上手くいくぞう」と
思っている矢先に、PlatformIOではNucleo等のボード以外は
Arduinoライブラリが使えないことが解りました。
と、言うことでしょうが無いのでSTM32CubeIDEを使うことにしました。
この土日にF303K8T6の最小限のボードを作って、Lチカ出来るようになりました。
調査中WebでSTM32の最小回路と称する回路図がいくつか見つけたのですが、STMicoの推奨どおりの
コンデンサを設置していなかったり、CPUへの書き込み方法では、Serialでの書き込みとSWDでの
書き込みの説明が混在していたりと解りずらく、随分苦戦しました。
これからはHALライブラリを使ったコーディングの勉強です。
正直、今のところ何のことやら全く解りません。ははは。
とはいえ、妄想はまだ止まらないので、これからFreeRTOS/DMA/CANについて勉強予定です。
また、STM32固有の機能の、超高速AD変換、ADCのキャリブレーション、CORDICの利用も
したいと思っています。
学校の方は八月七日まで閉鎖の予定だったのですが、七月一三日からの
開校が決まりました。(課題が済んでいない...)
ということで、また行き詰まったら質問させて頂きたいと思います。
今後ともよろしくお願いします。 小生とか言い出しそうなおっさんみたいな文体だけど好感の持てる若者だな
実際のおっさんの体と交換してやりたいわ >>859
チョイスが F3xx とか、なかなか渋いよなw
指導教員の趣味かな 一択に絞りたがるのは今も昔も初心者だけ
何に使いたいか考えて選べ 安物のボードにのってる32.768kHzの水晶が発振しなかったり
変な周波数で発振したりで不安定なんだが叩くと安定発振する。
海外では負荷容量の問題と言われてるようだけど先生方の意見はどうですか? 水晶なんてコンデンサの容量しかいじれるとこないんじゃないの ボードについてるのは15pfっぽい。stm32の推奨水晶の負荷(3〜12.5pf位)よりは大きいけどこの程度で不安定になる??
外してみるしかないか ひとくちに「水晶」って言っても個体差(製品差)があって、発振が安定不安定、容量がいくつぐらいがいいって変わる
推奨値はその範囲で探せって目安であって、それに近ければいいってもんじゃないし、基板パターンなんかによっても変わる うーん。水晶と負荷の組み合わせの問題ではなくてstmの発振回路側の
都合で負荷容量が大きいと発振できないと言われてるぽい。
本当かね? >>926
F3xxが渋いって書いてる人がいたから
渋くないのはどれだと思ってるのか聞きたかっただけなんだけど
上から目線の中身の無い会話が好きな人かな?
>>930といい >>932
俺のはstm32 smartというボードなんだけど
bluepillでも同じ問題が報告されてるね
そのうちコンデンサ換えてみますわ >>927
エラッタに記載されてるLSEが発振しない件の事だったら
発振子とパラに16-22Mの帰還抵抗に入れるのがおすすめと書いてある。 ありがとうPDF見つけた。流石STM32スレですな。 >>921
がんばれ!
Arduinoライブラリを離れたのは正解
Cube HALで書き直せた時、スーパーマンと化すぞ 中華stlink2ってどうやって使うものなの?
SWDIOをSWCLK、RSTを配線して、新品のstm32に書き込み成功→二回目から書き込めず
書き込むタイミングでリセットボタン連打で、ごくたまに書き込み成功って感じなんだけど >>938
書き込んだプログラムがSWDIOを有効にしていなかったというオチはない?
俺、初めてのときにそれやったし。 >>939
ソースコードでできなくなるってことか。ありがと。調べてみる >>940
CubeIDE(というかMX)を使ってるなら System coreの SYSのDebugで Serial Wireを選んだら、ピンアウト表示にも反映されます。
純粋にソースコードでやったことは無いな… >>938
私もそんな経験があったなあ
NucleoをST-LINK2にして
リセットつないで復活させた覚えが
復活させてからは再発してない >>941
そんな方法があったのか。ありがと
stm32cubeideの方では解決したけどarduinoの方はまだ解決できず
ここまでのメモ
stlinkでstm32に書き込みできなくなったらstm32 st-link utilityでリセットボタン連打しつつ接続してデバイス消去すれば復活
stm32cubeideでプロジェクト作ったら>>941の方法で設定もしくはソースコード中の__HAL_AFIO_REMAP_SWJ_DISABLE();をコメントアウトしないと書き込みできなくなる
って感じかな
中華stlink2の安物だから起きたのかと思ったけど純正品でも同じトラブル起きそうだね げっ
これってバグじゃねーの
次スレ立てた人
>>943の書いてくれた↓忘れずコピペしてね
>stlinkでstm32に書き込みできなくなったらstm32 st-link utilityでリセットボタン連打しつつ接続してデバイス消去すれば復活
>stm32cubeideでプロジェクト作ったら>>941の方法で設定もしくはソースコード中の__HAL_AFIO_REMAP_SWJ_DISABLE();をコメントアウトしないと書き込みできなくなる あ、>>941入れないとあかんな
下の941と942全文コピペよろしく>>次スレ立て人様
941 名前:774ワット発電中さん[] 投稿日:2020/07/24(金) 13:32:31.25 ID:24j1+SRr [2/2]
>>940
CubeIDE(というかMX)を使ってるなら System coreの SYSのDebugで Serial Wireを選んだら、ピンアウト表示にも反映されます。
純粋にソースコードでやったことは無いな…
943 名前:774ワット発電中さん[sage] 投稿日:2020/07/24(金) 20:48:47.30 ID:w7UW16OZ
>>941
そんな方法があったのか。ありがと
stm32cubeideの方では解決したけどarduinoの方はまだ解決できず
ここまでのメモ
stlinkでstm32に書き込みできなくなったらstm32 st-link utilityでリセットボタン連打しつつ接続してデバイス消去すれば復活
stm32cubeideでプロジェクト作ったら>>941の方法で設定もしくはソースコード中の__HAL_AFIO_REMAP_SWJ_DISABLE();をコメントアウトしないと書き込みできなくなる
って感じかな
中華stlink2の安物だから起きたのかと思ったけど純正品でも同じトラブル起きそうだね シリアルワイヤーピンがGPIOと兼用になっているわけだし、
そこに何か(デバッガ含む)を繋ぐなら、その何か用の設定が必要だという前提でいいのかもね。 人様が困ったこと、それに、はまって時間を費やしたことを他人事と思わず、
情報を有効利用して、自分はそれにはまらないように気をつける、人の経験を自分のこととして学習できる人と
人ごとと軽ーく受け流し、再度自分がどつぼにはまってしまい
車輪の再開発やらかす >>946
の差
>>946の糞人生が目に見えるようだ
何をやってもダメなやつだろなww 自分は他人が作ったものでも自分のプロジェクトに有用と吟味出来れば分け隔てなく受け入れ活用する。
今回の件だってCubeMXでてSWDデバッグ使う設定でコード生成してたらそれに応じたコードが生成され問題は発生しない。
MX使わない選択したなら使いたいIOがSWDのピンとMUXされてる位の事は下調べしてからコードなり回路図書けよ。 「俺様が不必要だと思う情報は書くな(主観)」みたいな輩が表のSNS等も含めていっぱいいるからな レス数が950を超えています。1000を超えると書き込みができなくなります。