Соединение Arduino Uno и Atmega8 по USART
- Войдите на сайт для отправки комментариев
Ср, 31/07/2013 - 19:21
Здравствуйте! Пытаюсь наладить передачу данных от Atmega8 на Arduino UNO по usart. Передача строго односторонняя: Atmega - передатчик, Arduino - приемник. Попытался сделать с наскока: прошивку передатчика взял отсюда: http://avr-start.ru/?p=764 приемник отсюда: http://flank1er.blogspot.ru/2012/12/c-arduino.html с изменением:
char s[5]; int k; int i=0; // инициализация void setup() { Serial.begin(9600); } // рабочий цикл void loop() { while (Serial.available() > 0) { //Serial.println("Getting"); s[i]=Serial.read(); i++; // ждем пока приедет следующий символ delay (2); // защищаемся от переполнения буфера if (i>=5) break; } if (i > 0) { //for (k=0; k<i;k++) //Serial.println("Begin"); Serial.println(s[]); // Serial.println("End"); i=0; } }
RX, TX соединил напрямую (крест-накрест, разумеется), питание МК - от Arduino. Включил - монитор порта возвращает 128 - символ Бойля.
Может быть есть рабочие примеры?
Не нужно изобретать велик, есть EasyTransfer.
Тут я народ пытал на тему правильного приёма/передачи, много странного флуда, но последние варианты кода приёмника и передатчика вполне исправно работают.
*ньюанс - у меня Ардуино-загрузчик работает не через UART, т.е. выводы RX/TX обоих МК подключены друг к другу и никуда больше.
Спасибо, буду раскуривать. Если еще у кого-нибудь появятся идеи/примеры, буду очень рад.