LoginSignup
0
0

More than 5 years have passed since last update.

serialplotter その3

Posted at

概要

serialplotter作ってみた。
c#で作ってみた。
Arduino-Schedulerに、書き換えてみた。
115200ボーで送る。
時間軸は、2ms

写真

ana.JPG

サンプルコード

#include "Scheduler.h"

volatile bool bState = false;
volatile bool sState = false;
volatile bool flg = false;
volatile int count = 0;
volatile byte b0[20];
volatile byte b1[20];

void setup1()
{
}
void loop1()
{
    int i;
    int j;
    count++;
    if (count > 159)
    {
        count = 0;
        sState = !sState;
        flg = true;
    }
    i = count / 8;
    j = count % 8;
    if (digitalRead(2) == LOW)
    {
        if (sState)
        {
            b0[i] |= _BV(j);
        }
        else
        {
            b1[i] |= _BV(j);
        }
    }
    else
    {
        if (sState)
        {
            b0[i] &= ~_BV(j);
        }
        else
        {
            b1[i] &= ~_BV(j);
        }
    }
    bState = !bState;
    digitalWrite(13, bState);
    delay(1);
}
void setup()
{
    Serial.begin(115200);
    pinMode(13, OUTPUT);
    pinMode(2, INPUT);
    digitalWrite(13, LOW);
    while (!Serial);
    Scheduler.start(setup1, loop1);
    Serial.println("start");
}
void loop()
{
    if (flg)
    {
        if (sState)
        {
            Serial.write(b1[0]);
            Serial.write(b1[1]);
            Serial.write(b1[2]);
            Serial.write(b1[3]);
            Serial.write(b1[4]);
            Serial.write(b1[5]);
            Serial.write(b1[6]);
            Serial.write(b1[7]);
            Serial.write(b1[8]);
            Serial.write(b1[9]);
            Serial.write(b1[10]);
            Serial.write(b1[11]);
            Serial.write(b1[12]);
            Serial.write(b1[13]);
            Serial.write(b1[14]);
            Serial.write(b1[15]);
            Serial.write(b1[16]);
            Serial.write(b1[17]);
            Serial.write(b1[18]);
            Serial.write(b1[19]);
        }
        else
        {
            Serial.write(b0[0]);
            Serial.write(b0[1]);
            Serial.write(b0[2]);
            Serial.write(b0[3]);
            Serial.write(b0[4]);
            Serial.write(b0[5]);
            Serial.write(b0[6]);
            Serial.write(b0[7]);
            Serial.write(b0[8]);
            Serial.write(b0[9]);
            Serial.write(b0[10]);
            Serial.write(b0[11]);
            Serial.write(b0[12]);
            Serial.write(b0[13]);
            Serial.write(b0[14]);
            Serial.write(b0[15]);
            Serial.write(b0[16]);
            Serial.write(b0[17]);
            Serial.write(b0[18]);
            Serial.write(b0[19]);
        }
        flg = false;
    }
    delay(10);
}



以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0