見出し画像

ArduinoとSTM32マイコンをつないでマイコンシステム開発をしてみる その35 ~単体テスト⑥~

 マイコンシステム開発の要件定義から総合テストまでの工程をたどってみます。
 題材としては、空調管理システムにします。
 機材はいま手元にあるArduino1台とSTM32マイコン1台を使います。

Arduino UNO
STM32

単体テスト仕様書にそってテストを行います

前回のつづきです

前回の記事


6.display_lcd() のテストケース

正常系

テストケース

STM32のLEDの点灯、消灯をテストします

#include <SPI.h>
#include <LiquidCrystal.h>
#include "AirConLib6.h"

void send_to_actuator(){
    switch (fan_speed) {
    case 'S':   // 強風
      led_state = 1;
      break;
    case 'W':   // 弱風
      led_state = 0;
      break;
    }
    // 応答データを送信バッファに設定
    SPDR = led_state; 
}

void setup() {
    
    pinMode(MISO, OUTPUT);
    SPCR |= _BV(SPE);  // SPI Enable
    SPCR &= ~_BV(MSTR); // スレーブモード

    // 割り込みでデータ受信
    SPCR |= _BV(SPIE);
    SPDR = 0x00; // 初期値を設定

 }

void loop() {

    send_to_actuator();

}

① 弱風(W)でLED消灯

void loop() {
    // TEST
    fan_speed = 'W';
    send_to_actuator();
    //    
}
オレンジのLEDは消灯してます テストOK

② 強風(S)でLED点灯

void loop() {
    // TEST
    fan_speed = 'S';
    send_to_actuator();
    //    
}
オレンジのLEDが点灯しました テストOK

以上で、display_lcd()関数の単体テスト完了です

これですべての単体テストが完了しましたので、
次回は結合テストへと進みます


いいなと思ったら応援しよう!