Перейти к блогу GetChip.net - блог        JilTE[1] - в разработке     Модификации устройств - модификации

 
Текущее время: 27 апр 2024, 09:42

Часовой пояс: UTC + 3 часа [ Летнее время ]



Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Анти-спам
Анти-спам:
Выполните задание
   

Обзор темы - Прием нескольких байт по UART
Автор Сообщение
  Заголовок сообщения:  Re: Прием нескольких байт по UART  
Цитата
добрый день
При отправки через буфер почему то в симуляторе proteus выводиться предупреждение. Якобы я пытаюсь писать на не пустой буфер UDR (хотя на реальной железе потерь не вижу )
12131312.PNG
12131312.PNG [ 8.28 КБ | Просмотров: 1674 ]
Сообщение Добавлено: 10 июл 2016, 15:19
  Заголовок сообщения:  Re: Прием нескольких байт по UART  
Цитата
1 Алгоритм шаблона не стопорит программу на время пересылки всей строки.
Все передача идет в фоне. Программа прерывается (прерывание USART0_DR_Empty) лишь на время необходимое для передачи очередного байта из буфера в регистр передачи UDR.

2 И, соответственно, USART0_DR_Empty аппаратно вызывается само когда можно засылать очередной байт.
Сообщение Добавлено: 03 июл 2016, 16:29
  Заголовок сообщения:  Re: Прием нескольких байт по UART  
Цитата
вопрос по поводу шаблона
С приемом все понятно , с отправкой мне не все ясно
1) в чем преимущество отправки через буфер
например длинные сообщение я так отправляю 123.png
123.png [ 8.64 КБ | Просмотров: 10801 ]

2)для отправки всего содержимого буфера надо постоянно вызывать событие USART0_DR_Empty ?
Сообщение Добавлено: 03 июл 2016, 12:01
  Заголовок сообщения:  Re: Прием нескольких байт по UART  
Цитата
Спасибо!
жду с нетерпением
Сообщение Добавлено: 29 июн 2016, 19:51
  Заголовок сообщения:  Re: Прием нескольких байт по UART  
Цитата
Да, нужно принимать в буфер и по факту приема последнего символа начинать сравнивать строку.

У меня уже готовы шаблоны для меги328 в которых есть и работа с UART с буфером - как оформлю, оставлю в разделе шаблонов http://www.getchip.net/templates/
Сообщение Добавлено: 29 июн 2016, 19:26
  Заголовок сообщения:  Re: Прием нескольких байт по UART  
Цитата
Добрый день
Подскажите пожалуйста как правильно принимать длинные сообщения по uart
пытаюсь связать esp8266 c mega32 по средством uart.
сообщения длинные 20-30 символов ASCII, 2-3 символа принять не сложно (построить ступеньку из трех условий - и сравнивать каждый символ) а если сообщения длинные - предположу что надо записывать сообщения в массив и далее сравнивать два массива. Но как правильно "красиво" сделать не знаю. Может у кого есть кое какие наработки?
Сообщение Добавлено: 29 июн 2016, 11:39
  Заголовок сообщения:  Re: Прием нескольких байт по UART  
Цитата
Спасибо, это сработало!
Сообщение Добавлено: 07 июн 2016, 16:54
  Заголовок сообщения:  Re: Прием нескольких байт по UART  
Цитата
Все просто
- пришла соответствующая буква - сбрасываешь счетчик цифр и аккумулятор результата
- дальше - приходит очередная цифра приращиваешь счетчик цифр умножаешь аккумулятор результата на 10 и прибавляешь к нему принятую цифру
- делаешь так пока не примешь все цифры

вот так примерно я делал


Вложения:
sshot-1.png
sshot-1.png [ 5.27 КБ | Просмотров: 10878 ]
Сообщение Добавлено: 02 июн 2016, 00:42
  Заголовок сообщения:  Re: Прием нескольких байт по UART  
Цитата
Да, код пока принимает два байта(я написал про то как должно быть)
<> используются для определения начала/конца посылки, а как тогда без разделителей определить начало строки?
P.S. Вроде разобрался, у меня частота кварца уплывала и приходили не те символы что я отправлял
Но теперь вопрос - отправлять число ascii символами или можно передать байтами?
(Немного поясню что должно получится в итоге - шлем X1000Y0500 - получаем 1000 в переменной X и 500 в переменной Y, вот так)
Сообщение Добавлено: 30 май 2016, 21:25
  Заголовок сообщения:  Re: Прием нескольких байт по UART  
Цитата
А зачем сообщение заключено в "<" ">" ?

А еще, не вижу обработки буквы в сообщении.

По ходу сообщение должно выглядеть как "<XX>"
Сообщение Добавлено: 30 май 2016, 18:46

Часовой пояс: UTC + 3 часа [ Летнее время ]


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