roboforum.ru

Технический форум по робототехнике.
Текущее время: 02 дек 2024, 22:39

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 47 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: Помогите с UART
СообщениеДобавлено: 30 мар 2011, 17:09 
Не в сети

Зарегистрирован: 21 мар 2011, 17:06
Сообщения: 31
Откуда: АНАПА
dccharacter писал(а):
Пример по ссылке, которую тебе лень читать:

Код:
#include <p24fj128ga010.h>
#define DELAY  16000
main()
{
// инициализация управляющих регистров
TRISA = 0xff00;     // Выводы 0..7 порта PORTA настраиваем как выходы
T1CON = 0x8030;     // TMR1 включен, предделитель 1:256, Tclk/2

// главный цикл приложения
while(1)
{
   // 1. Включаем выводы 0-7 и ждём 1/4 секунды
   PORTA = 0xff;
   TMR1 =  0;          // обнуляем счётчик
   while (TMR1 < DELAY) { } // просто ждём

   // 2. Выключаем все выводы и ждём 1/4 секунды
   PORTA = 0x00;
   TMR1 =  0;            // обнуляем счётчик
   while ( TMR1 < DELAY) { } // просто ждём

  } // главный цикл
} // main

мне не лень читать, просто к моей задаче это не сильно имеет отношение, я в этом вопросе не могу разобраться, а еще
дополнительная инфа меня совсем запутает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с UART
СообщениеДобавлено: 30 мар 2011, 17:16 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
let me google that for you: attiny2313 uart example первая же ссылка

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с UART
СообщениеДобавлено: 30 мар 2011, 18:33 
Не в сети

Зарегистрирован: 21 мар 2011, 17:06
Сообщения: 31
Откуда: АНАПА
Вот кусок кода, который не хочет компилироваться, не могу понять чего не хватает. По идее при этом он должен
работать (так написано в ДШ) принимать и отсылать данные.
Код:
void main(void)
{
        unsigned char USART_R(void) //№1
           
            {
                While(!(UCSRA&(1<<RXC)));
                return UDR;
            }

        void USART_T(unsigned char data) //№2
           
            {
                While(!(UCSRA&(1<<UDRE)));
                UDR=data;
            }           

после компиляции выдает 2 ошибки:
declaration syntax error (строка №1)
must declare first in block (строка №2)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с UART
СообщениеДобавлено: 30 мар 2011, 19:43 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Ты располагаешь объявление одной функции внутри другой. Почитай учебник по Си или курс proavr.narod.ru

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с UART
СообщениеДобавлено: 30 мар 2011, 23:21 
Не в сети

Зарегистрирован: 21 мар 2011, 17:06
Сообщения: 31
Откуда: АНАПА
dccharacter писал(а):
Ты располагаешь объявление одной функции внутри другой. Почитай учебник по Си или курс proavr.narod.ru

Да? Так вроде в даташит написано. Как правильно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с UART
СообщениеДобавлено: 31 мар 2011, 00:02 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
в даташите не может быть написано как правильно объявлять функции. Это может быть написано в учебнике по Си или на сайте proavr.narod.ru

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с UART
СообщениеДобавлено: 31 мар 2011, 00:09 
Не в сети

Зарегистрирован: 21 мар 2011, 17:06
Сообщения: 31
Откуда: АНАПА
Так помоги разобраться, я же не просто так спрашиваю, у меня не получаеться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с UART
СообщениеДобавлено: 31 мар 2011, 00:19 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
AlexNail писал(а):
Так помоги разобраться, я же не просто так спрашиваю, у меня не получаеться.

Так я и стараюсь помочь, изо всех сил стараюсь донести, что лучше день потерять, потом за пять минут долететь! Т.е. почитать учебник по Си или сайт proavr.narod.ru.

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с UART
СообщениеДобавлено: 31 мар 2011, 00:30 
Не в сети

Зарегистрирован: 21 мар 2011, 17:06
Сообщения: 31
Откуда: АНАПА
dccharacter писал(а):
AlexNail писал(а):
Так помоги разобраться, я же не просто так спрашиваю, у меня не получаеться.

Так я и стараюсь помочь, изо всех сил стараюсь донести, что лучше день потерять, потом за пять минут долететь! Т.е. почитать учебник по Си или сайт proavr.narod.ru.

прочитал, не один раз, не могу понять и все. Если не хочешь помочь, не трать время на болтавню.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с UART
СообщениеДобавлено: 31 мар 2011, 06:24 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Ну я примерно так и предполагал: на курс лекций ТС уже отправили. Но он упорствует: я все прочитал и нифига не понял, сделайте наконец за меня, а не болтайте. Вывод прост: ТС не хочет учиться. А ведь вся инфа перед ним: действительно, в даташитах на авр есть инициализация, прием и передача как на асме, так и на Си. Интересно чем дело кончится: какой-нибудь добряк не выдержит и напишет ему код / ТС соберет силы и разберется / тема завянет.

ЗЫ. Когда я в далеком студенчестве разбирался с уартом, у меня тоже не сразу заработало. Но я разобрался за выходные сам. Тогда интернет был редкостью, у меня был только даташит, терминалка, комп, руки и голова. Удачи.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с UART
СообщениеДобавлено: 31 мар 2011, 09:19 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
AlexNail писал(а):
я и прошу пример кода, для дальнейшего изучения и пробы. Спасибо.


Пример краткого курса по AVR - www.proavr.narod.ru/z5.htm - использование UART в AVR - www.proavr.narod.ru/z4.htm

_________________
Читайте !


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с UART
СообщениеДобавлено: 31 мар 2011, 13:54 
Не в сети

Зарегистрирован: 21 мар 2011, 17:06
Сообщения: 31
Откуда: АНАПА
Radist писал(а):
Ну я примерно так и предполагал: на курс лекций ТС уже отправили. Но он упорствует: я все прочитал и нифига не понял, сделайте наконец за меня, а не болтайте. Вывод прост: ТС не хочет учиться. А ведь вся инфа перед ним: действительно, в даташитах на авр есть инициализация, прием и передача как на асме, так и на Си. Интересно чем дело кончится: какой-нибудь добряк не выдержит и напишет ему код / ТС соберет силы и разберется / тема завянет.

ЗЫ. Когда я в далеком студенчестве разбирался с уартом, у меня тоже не сразу заработало. Но я разобрался за выходные сам. Тогда интернет был редкостью, у меня был только даташит, терминалка, комп, руки и голова. Удачи.

В том то все и дело, что "курс лекции" (который был прочитан, не один раз) основан тоже на примере, и если я его использую, то ничего не получаеться, поэтому я и пытаюсь разобраться НА СВОИХ конкретных примерах. А то что Вы смогли сами разобраться, вам +. Может я не могу пока правильно сформулировать свой вопрос, поэтому и прошу пример КОДа, может это мне поможет или что то в этом роде. И потом вместо помощи я слышу одни упреки (для чего тогда этот форум?).
Огромное спасибо авр123, у него хороший курс, но многие моменты из это курса я понял, а что то нет. И те вопросы которые у меня возникают, я и пытаюсь разобрать.
И не думайте что я не ЧИТАЮ. Как раз наоборот.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с UART
СообщениеДобавлено: 31 мар 2011, 14:02 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
НУ ТАК ЧИТАЙ: let me google that for you: attiny2313 uart example первая же ссылка

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с UART
СообщениеДобавлено: 31 мар 2011, 14:36 
Не в сети

Зарегистрирован: 21 мар 2011, 17:06
Сообщения: 31
Откуда: АНАПА
dccharacter писал(а):
НУ ТАК ЧИТАЙ: let me google that for you: attiny2313 uart example первая же ссылка

А ты сам смотрел, что там? то что там есть не работает!!! и непонятно как должно работать!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с UART
СообщениеДобавлено: 31 мар 2011, 14:55 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Ты вообще что-ли %:"№;№";?

Там вот что:
Code:
Код:
#include <avr/io.h>
#include <avr/interrupt.h>

/* Prototypes */
void InitUART (unsigned char baudrate);
unsigned char ReceiveByte (void);
void TransmitByte (unsigned char data);


/* --------------------------------------------------------------
Main - program that recieves a character then transmits back the next character. 
An example would be if you send in an A, the chip will return a B
---------------------------------------------------------------- */
int
main (void)
{
  unsigned char i;
  InitUART (95);     /* Set the baudrate to
2400 bps using a 3.6846MHz crystal */
  while (1)
    {
      TransmitByte (ReceiveByte () + 1);       
/* Echo the received character + 1.  Example send in A then send out B */
      for (i = 0; i < 200; i++);
    }
}

/* Initialize UART */
void
InitUART (unsigned char baudrate)
{
  /* Set the baud rate */
  UBRRL = baudrate;

  /* Enable UART receiver and transmitter */
  UCSRB = (1 << RXEN) | (1 << TXEN);

  /* set to 8 data bits, 1 stop bit */
  UCSRC = (1 << UCSZ1) | (1 << UCSZ0);

}

/* Read and write functions */
unsigned char
ReceiveByte (void)
{
  /* Wait for incomming data */
  while (!(UCSRA & (1 << RXC)));

  /* Return the data */
  return UDR;
}

void
TransmitByte (unsigned char data)
{
  /* Wait for empty transmit buffer */
  while (!(UCSRA & (1 << UDRE)));

  /* Start transmittion */
  UDR = data;
}

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 47 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 33


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO