1.準備
ハードウェアの準備
- まず、我々は、開発ボードを必要とし、ここで私は、開発ボードSTM32L4(BearPi)のために調製しました:
MDKプロジェクトを生成2
一つは、選択されています
オープンSTM32CubeMX、オープンMCUセレクター:
検索とチップを選択STM32L431RCT6
:
クロックソース
- あなたは外部の高速クロック(HSE)を使用することを選択した場合は、システムコアでRCCを設定する必要があります。
- あなたはデフォルトの内部クロック(HSI)を使用する場合は、このステップをスキップすることができます。
ここで私は、外部クロックを使用する必要があります。
シリアル設定
ウィニー学校開発ボードオンボードST-リンクおよび仮想シリアルポート、回路図は次のように:
ここで私はに切り替わりますAT-MCU
、モードPCのシリアルポートとUSART1との間の接続を。
次に、設定を開始USART1
:
NVICの設定
NVICにUSART割り込み優先順位を設定します:
クロックツリーの設定
STM32L4 80Mに最高クロック速度、設定PLLので、最後HCLK = 80Mhz
に:
プロジェクト設定の生成
コード生成が提供されています
最後のセットは、別の初期化ファイルを生成します。
コードを生成
クリックGENERATE CODE
MDK-V5プロジェクトを生成します:
MDKの書き込み、コンパイル、ダウンロードユーザーコード3.
送信の定義と受信バッファ
1 / * プライベートユーザーコード-------------------------------------------- ------------- * / 2 / * USERコード0 BEGIN * / 3 uint8_tこんにちは[] = " QUOT; USART1の準備ができ... \ n " 。 4 uint8_t recv_buf。 5 / * ユーザコードEND 0 * /
##再実装コールバック関数NVICは、割り込みコールバック `HAL_UART_RxCpltCallback`を定義し、私たちが置かれているユーザファイル、内の関数を再定義する必要がHALが弱い、我々は割り込み処理機構HALライブラリを探る講義を中断しましたはい、ここで私はmain.c` `に入れます:
1 / * ユーザコードBEGIN 4。* / 2 / * 割り込みコールバック関数* / 3。 ボイド HAL_UART_RxCpltCallback(UART_HandleTypeDef * HUART) 4。 { 5 / * 割込みトリガされるシリアル決定する* / 6。 IF(HUART - > ==インスタンスUSART1) 7 { 8 // 受信したデータ送信 9。 HAL_UART_Transmit(HUART、&recv_buf、1、0 ); 10 // 再度有効シリアルポート割り込み受ける 11。 HAL_UART_Receive_IT(HUART、&recv_buf、1。); 12れます } 13 } 14 / * USERコードEND 4 * /
主な機能を変更します
メイン関数の最初のシリアルポートの割り込みの受信をオンし、その後、メッセージを送信されます。
1 INTメイン(ボイド) 2 { 3。 HAL_Init(); 4 5。 SystemClock_Config(); 6 7。 MX_GPIO_Init(); 8 MX_USART1_UART_Init(); 9 10 / * USERコード2 BEGIN * / 11。 // 割り込みシリアル受信を可能 12である HAL_UART_Receive_IT (&huart1、&recv_buf、1。 ) 13である 。// 送信メッセージ 14 HAL_UART_Transmit_IT(&huart1、(uint8_t *)こんにちは、はsizeof (ハロー)); 15 / * USERコード2 END * / 16 。17 一方、(1 ) 18 { 19 } 20 }
コンパイルされたコード
示すように、プロジェクトをコンパイルするために、ボタンをクリックしてください
コンパイル成功
セットのダウンローダ
図に示すように、設定ページを開くには、ボタンをクリックしてください
ダウンロードの設定は、「ST-Linkのデバッガ」を選択し、「設定」をクリックしてください。
「Flashダウンロード」メニューの「リセットとファイル名を指定して実行」オプションをチェックして、燃焼プロセスが自動的にプログラムの目的をリセットし、実行するMCUに達した後。
ダウンロードの実行
デバイスにコードを書き込むために、「LOAD」ボタンをクリックしてください。
バーニング成功
実験結果
実行をダウンロードした後、実験現象次のように:
これまでのところ、我々はデータの送受信に使用するモード割り込みUSARTを構成する方法を学んできた、次のセクションでは、USARTの送信を設定し、DMAモードを使用してデータを送受信する方法について説明します。