Neuroware
@Neuroware
Программист в свободное от работы время

Как передать массив byte[] в Arduino из C#?

Прошу помочь решить вопрос, уже дважды писал решение этого вопроса, оба раза убивал несколько часов чтобы написать рабочий код, который мог бы достаточно быстро отрабатывать, но к сожалению каждый раз случайно убивал исходники и вот опять хочу вернуться к этому вопросу, но убивать несколько часов очень не хочется, может кто сталкивался с этим вопросом, гугление дает лишь примерные решения, каждое из которых либо не работает, либо глючит жутко при больших объемах либо очень медленно работает. Задача следующая, нужно передать с контролем целостности данных массив 32x4 элементов типа byte, при чем это нужно делать минимум 10 раз в секунду или чаще, при этому нужно учитывать что микроконтроллер будет занят обработкой полученных данных пересылая весь этот массив по SPI. Выглядит это не очень реалистично, т.к. объем работы жалкой ардуинке большой, но как я говорил раньше я уже 2 раза умудрялся заставить ее выполнять то что описал и она на ура справлялась с задачей, но вспомнить как я это сделал не получается:( А повторные попытки написать заканчиваются часами работы и глюков:(
  • Вопрос задан
  • 4260 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Eddy_Em
И в чем беда? Если по UART передача идет, просто со стороны компьютера делаем write, на дурине принимаем, вычисляем CRC и отправляем обратно, на компьютере сравниваем CRC и выполняем определенные действия.
Это - от силы десяток строк кода. Ну, на "сидиезе", возможно, побольше.
Кстати, лучше на нормальном С делать подобные низкоуровневые вещи: чем выше абстракция, тем меньше шансов, что все будет работать как надо. Особенно в случае "сидиеза", который как был мелкомягкой поделкой, непонятно зачем придуманной, так ею и остается!
Ответ написан
love_energy
@love_energy
Используйте leOS2. Это конечно не ОСРВ, но содержит простой планировщик, которым можно распараллерить прием и обработку данных.

Забыл добавить. Вам еще потребуется двойная буферезация.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы