投稿

8月, 2021の投稿を表示しています

MSP432 Interrupt_disableSleepOnIsrExit();

イメージ
 Interrupt_disableSleepOnIsrExit(); systickやタイマー、ADCなどでインターラプトをかけ、ハンドラーへ飛び処理をする。 Interrupt_disableSleepOnIsrExit();を置くのを忘れて、いつもハマるのでメモ。 これを置かないと、ハンドラーに入るとmainに戻ってこない。戻すため、 Interrupt_disableSleepOnIsrExit();ハンドラーの処理が終わったらこの命令を置いておく。 ******************** 動作の確認 Resource Exploerから検索でsystickを入れて、DriverLibのサンプルプログラムをインポートする。リネームするなりして、これを送り込んで動作を確認しておく。オンボードのLEDがチカチカと。 ここからが動作の確認。 Printfを使いたいので、以前の手順でprintfOverride.cをコピーしておく。詳しい手順は ここ 。 #include <stdio.h>//printf を他のインクルードに続けて追加する。その後mainの上の箇所で、変数を一つ定義しておく。 uint8_t count=0; UARTを使えるように、 const eUSCI_UART_ConfigV1 uartConfig = {         EUSCI_A_UART_CLOCKSOURCE_SMCLK,          // SMCLK Clock Source         78,                                     // BRDIV = 78         2,                                       // UCxBRF = 2         0,                                       // UCxBRS = 0         EUSCI_A_UART_NO_PARITY,                  // No Parity         EUSCI_A_UART_LSB_FIRST,                  // LSB First         EUSCI_A_UART_ONE_STOP_BIT