Проблема с сдвиговым регистром
- Войдите на сайт для отправки комментариев
Пт, 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 раза?
вероятно за символом данных идут символ конца строки и символ перевода каретки