Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.04.2016, 13:28   #25
CAHTEXHIK
Junior Member
 
Регистрация: 27.04.2016
Сообщений: 7
Вес репутации: 0
CAHTEXHIK is an unknown quantity at this point
По умолчанию Re: MR3020 + arduino. как работать с UART ?

Я извиняюсь, что, возможно, оффтоплю, но вопрос по uart:
Связал atmega8 на макетке и GL.Inet6416 (почти TPlink) по имеющимся уартам.
0-0, RX-TX,TX-RX.
В atmege:
PHP код:
#include <avr/io.h>
#include <util/delay.h>
void uart_initvoid )
{
  
//разрешить прием и передачу данных
  
UCSRB = ( << TXEN ) | ( <<RXEN );
  
UCSRA=0x00;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;
}
 
unsigned char uart_getcvoid )
{
   
//ждем приема байта
   
while( ( UCSRA & ( << RXC ) ) == 0  );
   
//считываем принятый байт
   
return UDR;
}
 
void uart_putcchar c )
{
  
//ждем окончания передачи предыдущего байта
  
while( ( UCSRA & ( << UDRE ) ) == );
  
UDR c;
}
 
void uart_putschar *str )
{
  
unsigned char c;
  while( ( 
= *str++ ) != ) {
    
uart_putc);
  }
}
 
int mainvoid )
{
  
uart_init();
  
uart_puts".." );
    
DDRD 0xC0;
    
PORTD ^= 0x40
 while( 
) {
    
char c uart_getc();
    if(
c!='a'PORTD ^= 0x80;
    
uart_putc);
 }
  return 
0;

Подключаюсь к роутеру по ssh:
Код:
stty -F /dev/ttyATH0 cs8 9600 -cstopb ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts -hupcl
cat /dev/ttyATH0
То есть в начале, конечно было
Код:
 if(c='a') PORTD ^= 0x80;
,но в порту кроме крокозяберов ничего не летает. Но крокозяберы летают исправно. То есть диод инвертируется при получении крокозябера. (посылаю echo "a" > /dev/ttyATH0 ) И из ATH0 вылетает крокозябер.
Код:
# cat /dev/ttyATH0
�������������
В /etc/inittab:
Код:
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
#::askconsole:/bin/ash --login
USB<->UART куда-то посеял, поэтому отсечь врага пока никак.
Что можно с этим сделать? Может я что/куда не оттянул?
ЗЫж спасибо за тему
CAHTEXHIK вне форума   Ответить с цитированием
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:03. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика