Страница 1 из 1
Передача данных через UART в AVR микроконтроллерах.
Добавлено: Сб ноя 02, 2013 19:23:37
sirha
Помогите разобраться,попробовал создать проект в протеусе - соединение двух микроконтроллеров atmega8 по двум проводам ( RX И TX).
Хочу чтобы при нажатии кнопки на atmega8 загорался светодиод на второй atmega8 и тух когда отпускаешь кнопку.
и так прикрепить хотябы четыре кнопки с четырьмя светодиодами
Пробовал этот код:
TX:
while (1)
{
while(PINC.0==0)
{
putchar('a');
delay_ms(100);
}
while (PINC.0==1)
{
putchar('b');
delay_ms(100);
}
}
}
RX:
while (1)
{
if (getchar() == 'a')
{
PORTC.1=1;
} ;
if (getchar() == 'b')
{
PORTC.1=0;
} ;
}
}
С одной кнопкой работает но коряво,c двумя кнопками вообще непонятно работает.
Помогите пожааалуста.

Re: Передача данных через UART в AVR микроконтроллерах.
Добавлено: Сб ноя 02, 2013 19:35:11
Flasher
На приемной стороне советую читать символ в переменную, а потом ее проверять на соответствия.
Re: Передача данных через UART в AVR микроконтроллерах.
Добавлено: Сб ноя 02, 2013 19:38:49
sirha
Flasher писал(а):На приемной стороне советую читать символ в переменную, а потом ее проверять на соответствия.
ЭТО для меня загадки,вы можете скинуть мне готовый код чтобы я понил как это работает
Re: Передача данных через UART в AVR микроконтроллерах.
Добавлено: Сб ноя 02, 2013 19:43:05
Flasher
unsigned char symb;
while (1)
{
symb=getchar();
if (symb == 'a')
{
PORTC.1=1;
} ;
if (symb == 'b')
{
PORTC.1=0;
} ;
}
}
Re: Передача данных через UART в AVR микроконтроллерах.
Добавлено: Сб ноя 02, 2013 19:52:10
sirha
Flasher писал(а):unsigned char symb;
while (1)
{
symb=getchar();
if (symb == 'a')
{
PORTC.1=1;
} ;
if (symb == 'b')
{
PORTC.1=0;
} ;
}
}
ВсЕ равно работает даже с одной кнопкой криво,почему то когда кнопка не нажата он горит ,когда кнопка нажата тоже горит ,но когда кнопку отпускаю то тухнет и потом уже нормально работает,как сделать чтобы и с начала все работало правильно?
Re: Передача данных через UART в AVR микроконтроллерах.
Добавлено: Сб ноя 02, 2013 19:57:28
Flasher
Для этого нужно привести полный код и схемы.
Re: Передача данных через UART в AVR микроконтроллерах.
Добавлено: Сб ноя 02, 2013 20:34:41
sirha
Flasher писал(а):Для этого нужно привести полный код и схемы.
davilka1 передатчик
davilka2 приемник
и файл протеуса.
если несложно можете дописать и на вторую кнопку а то не получается
Re: Передача данных через UART в AVR микроконтроллерах.
Добавлено: Сб ноя 02, 2013 20:41:02
FreshMan
Re: Передача данных через UART в AVR микроконтроллерах.
Добавлено: Сб ноя 02, 2013 23:30:40
sirha
FreshMan писал(а):http://avr-start.ru/?p=550
ЭТО ВСЕ я уже читал мне нужен нормальный код программы
ошибку я нашел
забыл открыть
portc=0xff;
хотелось бы разобраться как прикрепить две кнопки и два светодиода
чтобы- нажал кнопку загорелся один светодиод ,отпустил кнопку погас светодиод, и так же со второй кнопкой и вторым светодиодом,помогите пожалуста

Re: Передача данных через UART в AVR микроконтроллерах.
Добавлено: Пт дек 27, 2013 02:51:22
ZiperRUS
Быстро только кошки рождаются
Kopy , Paste это не очём !!! читай информацию. думай!