Проблема с сдвиговым регистром
- Войдите на сайт для отправки комментариев
Пт, 21/08/2015 - 16:04
Здравствуйте. Имеется следующий код:
const int SER= 8;
const int LATH = 9;
const int CLK = 10;
int data;
double result;
void setup ()
{
pinMode(SER, OUTPUT);
pinMode(LATH, OUTPUT);
pinMode(CLK, OUTPUT);
Serial.begin(9600);
}
void loop()
{
if (Serial.available() > 0)
{
data = Serial.read();
Serial.print(data);
digitalWrite(LATH, LOW);
shiftOut(SER, CLK, MSBFIRST, data);
digitalWrite(LATH, HIGH);
delay(1000);
}
}
Вывожу данные из 1Ски и происходит следующая непонятная ситуация: Сдвиговый регистр отрабатывает ровно 3 раза, первый раз ок, а далее какие-то непонятные кракозябры , однако если я в shiftOut пишу просто двоичный код, то регистр отрабатывает лишь единожды. Обратно в 1Ску уходит код символа, т.е в целом все верно. У кого-нибудь есть идеи почему регистр отрабатывает 3 раза?
вероятно за символом данных идут символ конца строки и символ перевода каретки