![見出し画像](https://assets.st-note.com/production/uploads/images/172078161/rectangle_large_type_2_dbd692871cb5c2271fcad390357f2c20.png?width=1200)
Photo by
ayame_yamamoto
ArduinoとSTM32マイコンをつないでマイコンシステム開発をしてみる その35 ~単体テスト⑥~
マイコンシステム開発の要件定義から総合テストまでの工程をたどってみます。
題材としては、空調管理システムにします。
機材はいま手元にあるArduino1台とSTM32マイコン1台を使います。
![](https://assets.st-note.com/img/1737184903-tX1BH8NLdysvIcxOoGVnw2aW.png?width=1200)
![](https://assets.st-note.com/img/1737184883-hGnkpgmUJyYvWEe2fbAVxzIi.jpg?width=1200)
単体テスト仕様書にそってテストを行います
前回のつづきです
前回の記事
6.display_lcd() のテストケース
正常系
![](https://assets.st-note.com/img/1737184980-fzpVu7ETxk3yq4WljYFXCS2R.png?width=1200)
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();
//
}
![](https://assets.st-note.com/img/1737188309-QNSDZj4yvh3PmsuCo5G81cVH.png?width=1200)
② 強風(S)でLED点灯
void loop() {
// TEST
fan_speed = 'S';
send_to_actuator();
//
}
![](https://assets.st-note.com/img/1737188486-WgwYlz5sXraEFUj64v8JMR3h.png?width=1200)