タグ付けされた質問 「stm32f10x」

2
外部ST-Linkを使用してSTM32F103 MCUをデバッグ/プログラムする方法
私は自分のプロジェクトにSTM32F103 MCUを使用していますが、STM32F411 NucleoボードのST-Linkを外部デバッグ/プログラミングの目的に使用したいと考えています。 CN2ジャンパーをOFFに設定しましたが、実際の質問はSWO(CN2)のピン配置にあります。これをどのように進めるかは次のとおりです。 (SWOの)PIN 1はVDD_Targetです ピン2はSWCLK ピン3はGND PIN 4はSWDIOです PIN 5はNRSTです PIN 6はSWOです 私の知る限り、上記のすべてのピンを使用しないでください。のように、私は接続しました MCUのPIN 2からPIN 37(またはPA14) ピン3からGND PIN 4からPIN 34(またはPA13) ターゲットMCUのPIN 5からPIN 7または(RESET)。 「予約済み」に設定されているため、SWOピンを接続する必要があるかどうかわかりません(なぜですか?)。また、MCUのVINピンに3.3 Vを与えています。つまり、VDD(stlinkのピン1)を接続する必要はありません。 公式データシートから取ったこの表を参照してください。 MCUの一般的なピン配置構成は次のとおりです。 私はオシロスコープとテスターで「ほぼ」すべてをテストしましたが、すべては大丈夫のようです。ここに他に何が欠けていますか?BOOT0またはBOOT1ピンで何かする必要がありますか?
16 stm32  stm32f10x  swd  st-link 

1
STM32 CPUがウェイクアップする原因となった瞬間的なスイッチを検出する
編集:この質問は間違っています。stm325105には、ウェイクアップピンが1つしかありません。しかし、他のSTパーツには複数のウェイクアップピンがあるため、指定された回答はそれらに対して有効です。 ウェイクアップ入力に接続された2つの一時的なボタンを持つstm32f105があります。プロセッサがスタンバイモードになります。ボタンのいずれかが押されるか、RTCタイマーが起動すると、CPUが起動します。 問題は、どのウェイクアップ入力がトリガーされたかに応じて、cpuにさまざまな処理を実行させたいことです。よると、5.3.5からST stm32f105xxリファレンスマニュアル、何のレジスタは、我々が覚めてきたことを示すステータス・レジスタを除いて保存されていません(ただし、誰による)と42個のバックアップレジスタ。 スタンバイモードでは、消費電力を最小限に抑えることができます。これは、電圧レギュレータが無効になっているCortex®-M3ディープスリープモードに基づいています。その結果、1.8 Vドメインの電源がオフになります。PLL、HSI発振器、HSE発振器もオフになります。SRAMとレジスタの内容は、バックアップドメインのレジスタとスタンバイ回路を除いて失われます。 スタンバイモードからウェイクアップした後、プログラムの実行はリセット後と同じ方法で再開します(ブートピンのサンプリング、ベクトルリセットのフェッチなど)。電力制御/ステータスレジスタ(PWR_CSR)のSBFステータスフラグは、MCUがスタンバイモードであることを示します。 このSTフォーラムの投稿、「スタンバイからのウェイクアップの起源を特定する方法」、ソフトウェアでトリガーされたウェイクアップを検出できないことを示唆しています。私はそれ以上の啓蒙を与える他の投稿をそこで見つけませんでした。 ソフトウェアまたはハードウェアを使用して、ウェイクアップした後、どのウェイクアップ入力がトリガーされたかを判断するにはどうすればよいですか?

1
STM32のSPIはプルアップ抵抗がないと機能せず、パフォーマンスも低下します
しばらくの間、STM32F103C8(Blue Pillボード)のSPI1が正しく機能するように努めています。ARMの学習を始めたばかりなので、データを74HC595シフトレジスタにシフトし、それをラッチして1バイトのLEDを点灯させようとしています。データを読み取っていないので、MOSI、SCK、SSのラインしかありません。 最初は何も出力されませんでしたが、オンラインの例を読んで、これらの最初の問題を修正して通信を開始することができました(GPIOAピンを正しく設定し、ソフトウェアSSを設定する必要がありました)。 現在の主な問題は、すべてのライン(MOSI、SCK、SS)にプルアップ抵抗を含めないと、マイクロコントローラーがラインに何も出力しないことです(スコープで確認)。これに加えて、プルアップ抵抗を追加した後、パルスの立ち上がり時間が非常に遅いため、あまりにも高い周波数を使用できません(10kΩのプルアップ抵抗を使用すると、約250 kHz SCKに制限され、スイッチング約330 MHzに約4 MHz)。私はブレッドボードで作業していますが、それでもAVRとより複雑な配線を使用しても、抵抗を追加せずに4 MHz SPIが問題なく動作し、波形はきれいでした。 これは、250 kHzクロックでバイト0b01110010を送信している2つの画像(スコープ画面のひどい状態の場合は申し訳ありません)です。上のトレースはSCKで、下のトレースはMOSIです。最初の画像は10kΩプルアップ抵抗で、2番目の画像は波形をより良くする330Ωプルアップ抵抗です(ただし、それらは必要ありません)。 何が起こっているのかを理解するための助けをいただければ幸いです。 私のコードの関連部分は: #define SS_LOW GPIOA->BSRR |= 1 << 4 + 16; #define SS_HIGH GPIOA->BSRR |= 1 << 4; // SPI GPIO configuration RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; GPIOA->CRL |= 0b0011 << 4 * 4; // Set pin A4 as PP …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.