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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.04.2016, 13:28   #101
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 вне форума   Ответить с цитированием
Старый 27.04.2016, 15:29   #102
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: MR3020 + arduino. как работать с UART ?

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

Цитата:
Сообщение от Admin Посмотреть сообщение
А UART отключен от консоли?
Если я не ошибся, вот этой строкой в /etc/inittab:
Код:
#::askconsole:/bin/ash --login
CAHTEXHIK вне форума   Ответить с цитированием
Старый 27.04.2016, 16:38   #104
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: MR3020 + arduino. как работать с UART ?

Не только, здесь посмотрите

Нужно в автозагрузку /etc/rc.local добавить следующее:
Цитата:
echo 0 > /proc/sys/kernel/printk
stty -F /dev/ttyATH0 4:0:18b2:0:0:0:0:0:1:0:0:0:0:0:0:0:0:0:0 :0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
stty -F /dev/ttyATH0 raw 9600 cs8
exit 0
Admin вне форума   Ответить с цитированием
Старый 27.04.2016, 20:04   #105
CAHTEXHIK
Junior Member
 
Регистрация: 27.04.2016
Сообщений: 7
Вес репутации: 0
CAHTEXHIK is an unknown quantity at this point
По умолчанию Re: MR3020 + arduino. как работать с UART ?

Цитата:
Сообщение от Admin Посмотреть сообщение
Не только, здесь посмотрите

Нужно в автозагрузку /etc/rc.local добавить следующее:
Убрал пробел
Цитата:
:0:0 :0:0:
Прописал.
Крокозябры начали вылезать по другому.
Для чистоты эксперемента сделал скетч в arduino IDE для atmega8:
PHP код:
#define ledPin 7   
#define ledPin2 6
void setup()   
{    
  
Serial.begin(9600);    
  
pinMode(ledPinOUTPUT);        
}   

void loop()   
{   
  if (
Serial.available() > 0)   
  {   
    
byte inByte Serial.read();   
    switch (
inByte)   
    {   
        case 
'1':   
        
digitalWrite(ledPinHIGH);   
        
Serial.println("ON!");   
        break;            
        case 
'0':   
        
digitalWrite(ledPinLOW);  
        
Serial.println("OFF");   
        break;   
        default:
        
digitalWrite(ledPin2, !digitalRead(ledPin2));  
          
Serial.println("err");  
        break;
    }           
  }   

Чтобы 6й пин мигал при ином байте
Начало вылезать по 8 крокозябров, и шестой пин успешно инвертится при
Цитата:
echo "1" > /dev/ttyATH0
Сейчас у меня мысль: не мешают ли свистелки, висящие на одном порту (PD) работе уарта? сейчас попробую их на PB перевесить.

Последний раз редактировалось CAHTEXHIK; 27.04.2016 в 20:17. Причина: туплю, не мешает
CAHTEXHIK вне форума   Ответить с цитированием
Старый 27.04.2016, 20:20   #106
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: MR3020 + arduino. как работать с UART ?

Можно защитить команду от ложных срабатываний
Например отправлять cm=1 и cm=0
Я так сделал в скетче робота
Admin вне форума   Ответить с цитированием
Старый 29.04.2016, 16:42   #107
CAHTEXHIK
Junior Member
 
Регистрация: 27.04.2016
Сообщений: 7
Вес репутации: 0
CAHTEXHIK is an unknown quantity at this point
По умолчанию Re: MR3020 + arduino. как работать с UART ?

Цитата:
Сообщение от Admin Посмотреть сообщение
Можно защитить команду от ложных срабатываний
Например отправлять cm=1 и cm=0
Я так сделал в скетче робота
Я все таки думаю, что проблема какая-то железная.
Толи уровни ТТЛ, толи скорости.
Буду пытаться заменить стороны соединения.
В любом случае, спасибо за помощь.
CAHTEXHIK вне форума   Ответить с цитированием
Старый 30.04.2016, 02:20   #108
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию Re: MR3020 + arduino. как работать с UART ?

У меня такие ������������� кряказябры вылезают когда скорость неправильно указана. С уровнями ттл никогда проблем небыло, ни с мр3020, ни с raspberry pi.
__________________
istarik.ru
stD вне форума   Ответить с цитированием
Старый 30.04.2016, 02:25   #109
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию Re: MR3020 + arduino. как работать с UART ?

Попробуйте через эту прогу погонять данные.
__________________
istarik.ru
stD вне форума   Ответить с цитированием
Старый 30.04.2016, 17:07   #110
solalex
Senior Member
 
Регистрация: 20.01.2015
Сообщений: 312
Вес репутации: 443
solalex has much to be proud ofsolalex has much to be proud ofsolalex has much to be proud ofsolalex has much to be proud ofsolalex has much to be proud ofsolalex has much to be proud ofsolalex has much to be proud ofsolalex has much to be proud ofsolalex has much to be proud of
По умолчанию Re: MR3020 + arduino. как работать с UART ?

Код:
stty -F /dev/ttyATH0 4:0:18b2:0:0:0:0:0:1:0:0:0:0:0:0:0:0:0:0 :0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
какие функции выполняет эта команда?
solalex вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

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

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

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


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


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