問題タブ [stm32cubemx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
87 参照

stm32 - STM32L452REマイクロコントローラーを使用してMAX144外部ADCからデータを取得しようとしましたが、成功しませんでした:(

私はADCの使用にまったく慣れていません。外部 ADC MAX144 を使用して、STM32L452RE を使用してセンサー データを取得しています。この ADC の両方のチャネルを 2 つのセンサーに使用しています。ADC は継続的にデータを送信しており、それを読み取りたいと考えています。

ADCのデータシートはこちら

私がやっていることは次のとおりです。

  1. 2バイトのバッファを作成
  2. 私はspiとuartの両方にDMAを使用しています
  3. HAL_SPI_Receive_DMA() を使用してバッファ内のデータを受信する
  4. HAL_UART_Transmit_DMA() を使用して usart 経由でデータを送信する

私が作成したコードを以下に示します。

過去 2 週間、この問題で立ち往生しています。この点に関するガイドは高く評価されます。

よろしく。

0 投票する
1 に答える
1785 参照

stm32 - STM32: 文字一致 ISR および DMA バッファで USART を使用する

FreeRTOS と STM32CubeMX を備えたSTM32L432デバイスを使用しています。

ASCII プロトコルに基づいて USART 経由で M2M 通信を実装しようとしています。プロトコル シーケンスの長さは異なる場合がありますが、最大長と定義済みの終了文字 (' \r ' / 0x0D ) があります。

そこで、すべての RX-USART データを DMA ( FIFOなど) で収集し、フラグに基づいてアドレス一致 isr を使用してUSART_ICR_CMCF終了文字を決定することを考えました。

USART1 を初期化し、アドレス一致 isr を有効にする

USART1 isr ハンドラ

現在、アドレス一致 isr は正常に動作していますが、DMA / FIFO サポートを実装する方法がわかりません。

ところで:

デバイスが USART HW FIFO をサポートしていないことに非常に驚きました。一般的に使用される FIFO を再現するために DMA を使用するという私の考えはありますか?