マイクロコントローラは、ベース - 送信とUSARTを使用してデータを受信(割り込みモード)

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 CODEMDK-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、10 );
 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モードを使用してデータを送受信する方法について説明します。

おすすめ

転載: www.cnblogs.com/YuchuanHuaying/p/12545708.html