реклама на сайте
подробности

 
 
> USART & Atmega128A
ADEPTPS
сообщение Jan 19 2012, 08:02
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 5-05-09
Пользователь №: 48 683



Постановка задачи:
Есть Atmega162, которая непрерывно посылками светит по USART.
Нужно выцепить определенный байт из посылки.

Задача 1: Просто что-нибудь поймать по USART

CODE

#include <avr/io.h>
#include <avr/delay.h>
#include "lcd.h"
#include <stdio.h>
#include "stdafx.h"

typedef unsigned char byte;
typedef unsigned short word;
typedef unsigned long dword;
void uart0_init(void) // инициализация uart
{
DDRE = (DDRE | 2) & ~1; // выводы порта - PE0 in, PE1 out

UCSR0B = 0x00; // временно запретить uart
UCSR0A = 0x00;
UCSR0C = 0x06;
UBRR0L = 0x17; // скорость 19200
UBRR0H = 0x00;
UCSR0B = 0x18; // запуск
}


void uartsend(byte c) // посылка байта
{
while(!(UCSR0A & (1<<UDRE0)));
UDR0 = c;
}

byte uartrecv() // прием байта
{
while(!(UCSR0A & (1<<RXC0)));
return UDR0;
}

void main(void)
{
UCHAR i;
DDRE = 0x00;
char text[6];
unsigned int n=0;
double ut = 0;
CLI();
lcd_init();
lcd_write("Autorising...");
seconds(1);
lcd_init();
lcd_write("Autorising...");
seconds(1);
uart0_init();
DDRD = (1 << 4);
SEI();
while (1)
{
ut = uartrecv();
dtostrf(ut,6,0,text);
lcd_send(COMMAND, LCD_CLEAR);
DDRD = (1 << 4);
lcd_write(text);
DDRD = 0x00;
seconds(1);
}

}


Что здесь не так?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ADEPTPS   USART & Atmega128A   Jan 19 2012, 08:02
- - =GM=   seconds(1); убрать   Jan 19 2012, 08:17
- - Палыч   Цитата(ADEPTPS @ Jan 19 2012, 12:02) Что ...   Jan 19 2012, 08:21
|- - ADEPTPS   Цитата(Палыч @ Jan 19 2012, 12:21) 1. В э...   Jan 19 2012, 08:51
|- - Палыч   Цитата(ADEPTPS @ Jan 19 2012, 12:51) Что ...   Jan 19 2012, 09:04
|- - ADEPTPS   Цитата(Палыч @ Jan 19 2012, 13:04) КодUCS...   Jan 19 2012, 09:35
|- - Палыч   Цитата(ADEPTPS @ Jan 19 2012, 13:35) у ме...   Jan 19 2012, 09:54
|- - ADEPTPS   Цитата(Палыч @ Jan 19 2012, 13:54) Снять ...   Jan 19 2012, 10:05
|- - Палыч   Цитата(ADEPTPS @ Jan 19 2012, 14:05) Оста...   Jan 19 2012, 10:27
|- - ADEPTPS   Цитата(Палыч @ Jan 19 2012, 14:27) Остало...   Jan 19 2012, 10:47
|- - _Артём_   Цитата(ADEPTPS @ Jan 19 2012, 12:47) Как ...   Jan 19 2012, 12:22
- - smalcom   я думаю для задач обмена данными по UART нужно как...   Jan 19 2012, 13:05
- - ADEPTPS   Используется внешнее тактирование судя по фьюзам. ...   Jan 20 2012, 05:16
|- - Navovvol   Цитата(ADEPTPS @ Jan 20 2012, 08:16) Испо...   Jan 20 2012, 11:52
- - Navovvol   Да тактирование тут ни причем, мусор бы все равно ...   Jan 20 2012, 06:58
|- - Палыч   Цитата(Navovvol @ Jan 20 2012, 10:58) Да ...   Jan 20 2012, 08:14
- - ADEPTPS   да   Jan 20 2012, 12:18
- - Navovvol   на Atmega162 вывод PD1(или PB3) соединен с пином P...   Jan 20 2012, 12:49
- - ADEPTPS   Да, но я уже нашел другой способ получения информа...   Jan 22 2012, 03:05
- - Aktus   Всем добрый день. Пишу вроде бы простейшую прогу ...   May 19 2015, 16:13
- - RabidRabbit   UCSR0C = (1<<USBS0)|(1<<UCSZ00); Tabl...   May 19 2015, 18:52
- - Aktus   RabidRabbit, косяк признаю. Большое спасибо. Про р...   May 20 2015, 18:33


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 06:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01353 секунд с 7
ELECTRONIX ©2004-2016