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

 
Текущее время: 29 май 2025, 16:09

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



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

Размер шрифта:
Цвет шрифта
#000000 #000040 #000080 #0000BF #0000FF
#004000 #004040 #004080 #0040BF #0040FF
#008000 #008040 #008080 #0080BF #0080FF
#00BF00 #00BF40 #00BF80 #00BFBF #00BFFF
#00FF00 #00FF40 #00FF80 #00FFBF #00FFFF
#400000 #400040 #400080 #4000BF #4000FF
#404000 #404040 #404080 #4040BF #4040FF
#408000 #408040 #408080 #4080BF #4080FF
#40BF00 #40BF40 #40BF80 #40BFBF #40BFFF
#40FF00 #40FF40 #40FF80 #40FFBF #40FFFF
#800000 #800040 #800080 #8000BF #8000FF
#804000 #804040 #804080 #8040BF #8040FF
#808000 #808040 #808080 #8080BF #8080FF
#80BF00 #80BF40 #80BF80 #80BFBF #80BFFF
#80FF00 #80FF40 #80FF80 #80FFBF #80FFFF
#BF0000 #BF0040 #BF0080 #BF00BF #BF00FF
#BF4000 #BF4040 #BF4080 #BF40BF #BF40FF
#BF8000 #BF8040 #BF8080 #BF80BF #BF80FF
#BFBF00 #BFBF40 #BFBF80 #BFBFBF #BFBFFF
#BFFF00 #BFFF40 #BFFF80 #BFFFBF #BFFFFF
#FF0000 #FF0040 #FF0080 #FF00BF #FF00FF
#FF4000 #FF4040 #FF4080 #FF40BF #FF40FF
#FF8000 #FF8040 #FF8080 #FF80BF #FF80FF
#FFBF00 #FFBF40 #FFBF80 #FFBFBF #FFBFFF
#FFFF00 #FFFF40 #FFFF80 #FFFFBF #FFFFFF
Настройки:
BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Анти-спам
Анти-спам:
Выполните задание
   

Обзор темы - Прием нескольких байт по UART
Автор Сообщение
  Заголовок сообщения:  Re: Прием нескольких байт по UART  
Цитата
добрый день
При отправки через буфер почему то в симуляторе proteus выводиться предупреждение. Якобы я пытаюсь писать на не пустой буфер UDR (хотя на реальной железе потерь не вижу )
12131312.PNG
12131312.PNG [ 8.28 КБ | Просмотров: 2200 ]
Сообщение Добавлено: 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 КБ | Просмотров: 13766 ]

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 КБ | Просмотров: 13843 ]
Сообщение Добавлено: 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 часа [ Летнее время ]


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