2016-03-27 119 views
2

CubeMXで生成されたコードを持つHALドライバを使用しています。メインルーチンで私はHAL_UART_Receive_IT()と呼んだ。 UART(ループバック方式で接続されている)を介してデータを送信した後、モジュールがバイトを受信して​​おり、RXNEビットをレジスタに設定していることがわかります。しかし、割り込みは生成されませんか?私は理由を説明することはできません... HAL_UART_Receive_IT()関数では、割り込みを有効にするコードがあるので、何が問題なのですか?STM32 HAL UART RXNE割り込みが生成されない

+0

特定のコードがなければ、デバッガのI/Oレジスタの設定を見て、初期化の奇妙さを突き止めることができます。とにかく、割り込みが発行されていないことをどのように知っているかを詳しく説明できますか?割り込みベクタが正しく配線されていること、割り込みがグローバルにマスクされていないことを確認しましたか? – doynax

答えて

4

質問に十分な情報とコードがありません。 はとにかく、あなたのstm32xx_hal_msp.cファイルにあなたはハードウェアの観点から、周辺あなたの初期化:割り込みを有効にしてくださいあまりにも

HAL_NVIC_SetPriority(USART1_IRQn, 0, 1); 
    HAL_NVIC_EnableIRQ(USART1_IRQn); 

その後、あなたのstm32xx_it.cファイルに

void USART1_IRQHandler(void) 
{ 
    HAL_UART_IRQHandler(&huart1); 
} 

を追加

関連する問題