Arduino SPI slave, прием 2-х байтов
- Войдите на сайт для отправки комментариев
Сб, 26/08/2017 - 12:43
Хочу соединить две ардуины по SPI, мастер должен передавать слейву значение 1000-4000.
С программой мастера понятно, как организовать SPI слейв?
Ну через прерывание. Вывод CLK мастера на прерывание славе . Вот для скорости надо писать на ассемблере. Но если через shiftOut, то можно и на Си, но скоростя будут медленные.
как организовать SPI слейв?
Вот так.
Нашел похожий пример на гитхабе, но корректно принимается только байт(т.е если передавать от 0-255). Как сохранить в массив число занимающее 2 байта? #include <AccelStepper.h> #include <SPI.h> int buf [2]; volatile byte pos; volatile bool process_it; AccelStepper stepperr(1,8,9); // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5 int spMotor1; void setup() { Serial.begin(9600); // устанавливаем последовательное соединение stepperr.setMaxSpeed(10000); SPCR |= bit (SPE); pinMode (MISO, OUTPUT); // get ready for an interrupt pos = 0; // buffer empty process_it = false; // now turn on interrupts SPI.attachInterrupt(); } ISR (SPI_STC_vect) { byte c = SPDR; // grab byte from SPI Data Register // add to buffer if room if (pos < sizeof buf) { buf [pos++] = c; // example: newline means time to process buffer if (c == '\n') process_it = true; } // end of room available } void loop() { if (process_it) { buf [pos] = 0; // Serial.println (buf); pos = 0; process_it = false; } // end of flag set stepperr.setSpeed(spMotor1); Serial.println(buf[0]); stepperr.runSpeed(); }Вот! Вот это настоящий вопрос. А вам слабо? ;) ;) ;)
Вот! Вот это настоящий вопрос. А вам слабо? ;) ;) ;)
Числа это очень странный предмет. Вот они есть, а потом сразу их нет.
Ждем кролика...
Ну, это смотря какой массив и какие байты. Математика, она ж тоже ... того. Вот, почитайте помолясь, глядишь и поможет.
Еще один петросян..
Ну, это смотря какой массив и какие байты. Математика, она ж тоже ... того. Вот, почитайте помолясь, глядишь и поможет.
Женя! Я полистал это. Ураган! Где Вы это взяли? Это чистейший адов адище! Понятно, что автор шизофреник либо очень талантливый тролль-психиатр, но как круто!
Там же действительно ни в одном предложении невозможно проследить нить логики. Мозг просто "проскальзывает".
Супер! В мемориз однозначно!
Еще один петросян..
Дорогой! Если Вы продолжите настаивать, что Вам объяснили, как из двух байт сделать одно целое, то пойдете отсюда нахер, учить школьную арифметику... лучше по более классическому учебнику.
Я тебе не дорогой.
Если не можешь помочь иди нах..й и своих долбо..в зверей с собой забери.
Я тебе не дорогой.
Если не можешь помочь иди нах..й и своих долбо..в зверей с собой забери.
Ну наконец!
Ты, родное сердце, папке своему советы давай, если тебя мама с ним познакомила, а не незнакомым людям. ОК?
Это не совет, это я тебя нах..й посылаю. Или ты читать не умеешь?
Если ты не можешь помочь не надо всякую чушь писать.
Маладца, почти всех кто помогает, на хер послать сумел. Зачот.
Ну, раз пошла такая пьянка, поделюсь ссылкой на готовое решение. Другого тут и придумать сложно.
Ураган! Где Вы это взяли?
Знакомый показал. Кстати, очень серьёзный математик (логик). Прислал линку с ехидным смайликом.
вв