Arduino DUE USART - настройка...
- Войдите на сайт для отправки комментариев
Пнд, 07/05/2018 - 14:12
Всем добрый день.
Прошу помочь c Arduino DUE… Требуется передавать данные на комп через serial (пока через стандартные «programming» , но в дальнейшем через отдельный UART-USB)
Помогите с настройками прерывания UART…есть пример для MEGA, хотелось бы, что то подобное для Arduino DUE
void USART_Init(int baudrate ) //Функция инициализации USART { /* Set baud rate */ UBRR1H = baudrate>>8; UBRR1L = baudrate; //Разрешение на прием и на передачу через USART, прерывания по поступлению и по опустошению UCSR1B = (1<<RXCIE1)|(1<<RXEN1); UCSR1C = (1<<UCSZ01)|(1<<UCSZ00); //размер слова 8 разрядов sei(); } // USART_Init void setup() { // initialize the digital pin as an output. pinMode(ledpin, OUTPUT); USART_Init(103);// число 103 соответствует baudrate 9600 при 16MHz. смотреть datasheet нa ATMega 2560 } //Обрабатываем прерывание по поступлению байта ISR(USART1_RX_vect) { s[i]=UDR1;//принимаем байт в массив char i++; if (i == 2)//если приняли 2 байта { if (s[0] == 'o' and s[1] == 'n')//проверяем что приняли, если команду "on" { digitalWrite(ledpin, HIGH);//зажигаем светодиод } if (s[0] == 'o' and s[1] == 'f')//проверяем что приняли, если команду "of" { digitalWrite(ledpin, LOW);//гасим светодиод } // сбрасываем все i=0; s[0]='0'; s[1]='0'; }