Например TDA7294

Форум РадиоКот • Просмотр темы - Прием данных по UART и их отображение на дисплее
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Вт июн 25, 2019 14:29:40

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 45 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 13:41:37 
Встал на лапы
Аватар пользователя

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн мар 14, 2016 16:38:50
Сообщений: 124
Откуда: Орёл
Рейтинг сообщения: 0
Разбираю урок с народстрима и не догоняю: а как он данные, пришедшие в UART, выводит на дисплей? Где sprintf того, что пришло в UART?

код:
Код:
int main(void)
{

  /* USER CODE BEGIN 1 */
   char str[9]={0};
  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* Configure the system clock */
  SystemClock_Config();

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART2_UART_Init();

  /* USER CODE BEGIN 2 */
   LCD_ini();
   LCD_Clear();
   sprintf(str,"Stm32F407VG");
   LCD_String(str);
   LCD_SetPos(10, 2);
   sprintf(str,"ARM mc");
   LCD_String(str);
   HAL_UART_Receive_IT(&huart2, (uint8_t*) str, 8);
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
   if(huart2.RxXferCount==0)
   {
      HAL_Delay(100);
      LCD_SetPos(0, 3);
      str[8]=0;
      LCD_String(str);
      HAL_UART_Receive_IT(&huart2, (uint8_t*) str, 8);
   }
  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */

}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 14:07:14 
Мучитель микросхем
Аватар пользователя

Карма: 6
Рейтинг сообщений: 83
Зарегистрирован: Пн янв 10, 2011 00:05:37
Сообщений: 423
Откуда: СССР
Рейтинг сообщения: 0
Вот так выводит

Код:
while (1)
  {
   if(huart2.RxXferCount==0)
   {
      HAL_Delay(100);
      LCD_SetPos(0, 3);
      str[8]=0;
      LCD_String(str);
      HAL_UART_Receive_IT(&huart2, (uint8_t*) str, 8);
   }

_________________
Иван Сусанин - первый полупроводник :solder:


Вернуться наверх
 
JLCPCB, всего $2 за 10 ПП любого цвета!

Более 600 000 заказчиков по всему миру! Более 10 000 заказов в день!

Скидка до $20 на доставку для первого заказа:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 14:09:31 
Встал на лапы
Аватар пользователя

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн мар 14, 2016 16:38:50
Сообщений: 124
Откуда: Орёл
Рейтинг сообщения: 0
Ну это он пишет так. В реале, если разобрать построково, то вывода на дисплей в этом вайле не происходит.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $88 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay
Не в сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 14:10:20 
Мучитель микросхем
Аватар пользователя

Карма: 6
Рейтинг сообщений: 83
Зарегистрирован: Пн янв 10, 2011 00:05:37
Сообщений: 423
Откуда: СССР
Рейтинг сообщения: 0
LCD_String(str); - как раз отправляет строку в дисплей

_________________
Иван Сусанин - первый полупроводник :solder:


Вернуться наверх
 
Литиевые батарейки Fanso для промышленного применения: устойчивость к высоким температурам

Надежные литиевые ХИТ производства Fanso для широкого круга применений, в том числе в промышленности, способны работать в самых жестких условиях. Основные требования, предъявляемые к автономным источникам питания – это длительность хранения и работы, высокая удельная емкость, а также защита от воздействия таких внешних факторов как, температура и влажность.
Подробнее>>
Не в сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 14:14:37 
Встал на лапы
Аватар пользователя

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн мар 14, 2016 16:38:50
Сообщений: 124
Откуда: Орёл
Рейтинг сообщения: 0
Во блин. А у меня не работает почему-то.


Вернуться наверх
 
Приглашаем на вебинар «Создание беспроводных устройств на системах-на-кристалле семейства SimpleLink компании TI»

Компания Компэл, совместно с Texas Instruments приглашают 26 июня принять участие в вебинаре, где инженер по применению беспроводных технологий компании TI расскажет, как на новых беспроводных системах можно реализовать несколько полезнейших в повседневной жизни функций для ваших устройств.
С развитием элементной базы TI становится возможной реализация более удобных, функциональных и безопасных систем, недоступных ранее.
Вебинар проводит инженер по применению беспроводных технологий в TI Мари Хернес(будет дублированный перевод).
Подробнее>>
Не в сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 14:17:12 
Мучитель микросхем
Аватар пользователя

Карма: 6
Рейтинг сообщений: 83
Зарегистрирован: Пн янв 10, 2011 00:05:37
Сообщений: 423
Откуда: СССР
Рейтинг сообщения: 0
Я конечно не знаток куба, но может здесь имелось в виду

Код:
if (huart2.RxXferCount != 0)


вместо

Код:
if (huart2.RxXferCount == 0)

_________________
Иван Сусанин - первый полупроводник :solder:


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 14:28:49 
Встал на лапы
Аватар пользователя

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн мар 14, 2016 16:38:50
Сообщений: 124
Откуда: Орёл
Рейтинг сообщения: 0
Попробовал. В итоге там, где должны отображаться цифры, принятые по UART, отображается лишний раз "ARM mc". Полагаю, это повтор от

Код:
sprintf(str,"ARM mc");


Т.е. для адекватного отображения данных, пришедших по UART в sprintf нужно передать str и данные, которые мы получили в прерывании. Не понимаю - за какую переменную их обозначать?


Вернуться наверх
 


В сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 14:34:47 
Вымогатель припоя
Аватар пользователя

Карма: 10
Рейтинг сообщений: 66
Зарегистрирован: Вт май 01, 2018 20:44:47
Сообщений: 617
Рейтинг сообщения: 0
Для начала откладываем плату в сторону и наслаждаемся занимательным чтивом


Вернуться наверх
 
Prist.ru предлагает скидку всем частным лицам при покупке приборов АКИП, GW Instek, APPA (кроме осциллографов АКИП-4115/1А, GDS-71102)!

Интересные новинки уже на складе:

Осциллограф АКИП-4126Е

Многоканальные источники питания серии GPP

Не в сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 14:43:02 
Встал на лапы
Аватар пользователя

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн мар 14, 2016 16:38:50
Сообщений: 124
Откуда: Орёл
Рейтинг сообщения: 0
Для начала откладываем плату в сторону и наслаждаемся занимательным чтивом


Да, это никогда не бывает лишним, но сейчас я пытаюсь найти информацию о том, как данные, полученные по USART в прерывании, обличить в чаровую переменную.


Вернуться наверх
 
Купить электронные компоненты в LCSC

Отправка со склада через 4 часа после заказа!
900 000 пользователей, 3000+ заказов в день!
Зарегистрируйтесь сегодня и получите скидку 8 долларов на первый заказ!
В сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 15:05:44 
Вымогатель припоя
Аватар пользователя

Карма: 10
Рейтинг сообщений: 66
Зарегистрирован: Вт май 01, 2018 20:44:47
Сообщений: 617
Рейтинг сообщения: 0
но сейчас я пытаюсь найти информацию о том, как данные, полученные по USART в прерывании, обличить в чаровую переменную.
Начинать надо с начала! Чтобы хотя бы знать значение слов, которые ты пытаешься в случайном порядке употреблять.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 15:12:29 
Встал на лапы
Аватар пользователя

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн мар 14, 2016 16:38:50
Сообщений: 124
Откуда: Орёл
Рейтинг сообщения: 0
но сейчас я пытаюсь найти информацию о том, как данные, полученные по USART в прерывании, обличить в чаровую переменную.
Начинать надо с начала! Чтобы хотя бы знать значение слов, которые ты пытаешься в случайном порядке употреблять.


Спасибо, но мне удобнее разбираться по ходу пьесы, привязавшись к конкретным примерам, чем изучать сухую теорию.


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 15:16:44 
Вымогатель припоя
Аватар пользователя

Карма: 10
Рейтинг сообщений: 66
Зарегистрирован: Вт май 01, 2018 20:44:47
Сообщений: 617
Рейтинг сообщения: 0
Ну вот смотри. У тебя в примере есть код
Код:
char str[9]={0};

и
Код:
LCD_String(str);

Что из него тебе не понятно?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 15:22:42 
Встал на лапы
Аватар пользователя

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн мар 14, 2016 16:38:50
Сообщений: 124
Откуда: Орёл
Рейтинг сообщения: 0
Непонятно то, почему, несмотря на это, данные с UARTa не отображаются. Переходник USB-UART исправен, данные доходят до нужного пина контроллера (Проверял осцилом), общий провод не оборван, Baud rate в программе и в терминале совпадают. Видимо, что-то в программе.


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 15:30:45 
Вымогатель припоя
Аватар пользователя

Карма: 10
Рейтинг сообщений: 66
Зарегистрирован: Вт май 01, 2018 20:44:47
Сообщений: 617
Рейтинг сообщения: 0
Видимо, что-то в программе.
Трудно поспорить.

Отладчик есть? Найди обработчик прерываний UART и посмотри срабатывают ли они при приёме данных.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 15:45:19 
Встал на лапы
Аватар пользователя

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн мар 14, 2016 16:38:50
Сообщений: 124
Откуда: Орёл
Рейтинг сообщения: 0
Видимо, что-то в программе.
Трудно поспорить.

Отладчик есть? Найди обработчик прерываний UART и посмотри срабатывают ли они при приёме данных.


Так, а вот это уже интересно. Я в режиме "Debug" прохожу по программе. Да, те надписи, которые появлялись ранее, теперь появляются в соответствии с шагами. А как мне попасть в обработчик прерываний? Я стою на коде

Код:
         HAL_UART_Receive_IT(&huart4, (uint8_t*)&str, 8);


и отсылаю с компа в UART цифры, но в Атоллике ничего не происходит.


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 15:58:48 
Вымогатель припоя
Аватар пользователя

Карма: 10
Рейтинг сообщений: 66
Зарегистрирован: Вт май 01, 2018 20:44:47
Сообщений: 617
Рейтинг сообщения: 0
и отсылаю с компа в UART цифры,
Что в твоём понимании "цифры" ?

но в Атоллике ничего не происходит.
А что должно произойти?

Может всё же с азов начать? Ну там "Hello world!" типа...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 16:01:35 
Встал на лапы
Аватар пользователя

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн мар 14, 2016 16:38:50
Сообщений: 124
Откуда: Орёл
Рейтинг сообщения: 0
и отсылаю с компа в UART цифры,
Что в твоём понимании "цифры" ?

но в Атоллике ничего не происходит.
А что должно произойти?

Может всё же с азов начать? Ну там "Hello world!" типа...


Цифры - это цифры. Я отправляю 8-мизначные цифры, как делает автор народстрима.

Считаете, что написание хелловорда однозначно даст мне достаточные навыки для работы с дебаггером, чтобы отслеживать прерывания по поступлению данных в уарт?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 16:10:20 
Мучитель микросхем
Аватар пользователя

Карма: 6
Рейтинг сообщений: 83
Зарегистрирован: Пн янв 10, 2011 00:05:37
Сообщений: 423
Откуда: СССР
Рейтинг сообщения: 0
Нужно отправлять не восьмизначные цифры, а 8 байт, то есть 8 цифр в диапазоне от 32 до 127 (ASCII таблица).

_________________
Иван Сусанин - первый полупроводник :solder:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 16:16:51 
Встал на лапы
Аватар пользователя

Карма: -2
Рейтинг сообщений: 0
Зарегистрирован: Пн мар 14, 2016 16:38:50
Сообщений: 124
Откуда: Орёл
Рейтинг сообщения: 0
Нужно отправлять не восьмизначные цифры, а 8 байт, то есть 8 цифр в диапазоне от 32 до 127 (ASCII таблица).



А как же тогда у автора происходит следующее: https://youtu.be/J0Rgh1Ndi-4?t=981 ???


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прием данных по UART и их отображение на дисплее
СообщениеДобавлено: Пн май 20, 2019 16:22:44 
Мучитель микросхем
Аватар пользователя

Карма: 6
Рейтинг сообщений: 83
Зарегистрирован: Пн янв 10, 2011 00:05:37
Сообщений: 423
Откуда: СССР
Рейтинг сообщения: 0
Очень просто. Программа берет это число как строку, как набор ASCII символов. Строка "12345678" по уарту уйдет как набор байт 49 - 50 - 51 - 52 - 53 - 54 - 55 - 56
http://www.asciitable.com/

_________________
Иван Сусанин - первый полупроводник :solder:


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 45 ]  1, ,  

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


Кто сейчас на форуме

Сейчас этот форум просматривают: JI_John и гости: 7


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y