Easyelectronics.ru

Электроника для всех
Текущее время: 13 июл 2020, 20:18

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



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Библиотека LL_USART.
СообщениеДобавлено: 13 апр 2019, 20:37 
Заглядывает иногда

Зарегистрирован: 13 апр 2019, 14:46
Сообщения: 46
С передачей разобрался , все работает нормально . Вопрос стал в приеме данных . В HAL_UART использовались функции
HAL_UART_RxCpltCallback и HAL_UART_Receive_IT . А как это реализуется библиотеке LL_USART? Может есть пример реализации приема данных на LL_USART?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека LL_USART.
СообщениеДобавлено: 14 апр 2019, 14:09 
Старожил
Аватара пользователя

Зарегистрирован: 13 янв 2018, 21:36
Сообщения: 1503
И никаких кактусов.
Код:
extern "C" void USART1_IRQHandler(void)

  if(USART1->SR & USART_SR_RXNE)
  {   
    if(USART1->SR & (USART_SR_PE | USART_SR_FE | USART_SR_NE | USART_SR_ORE))
    { //Была ошибка в приеме байта     
      USART1->DR;
    }
    else
    {   
      uint8_t RCV_data = USART1->DR;
      //И делай с ним что хошь     
    } 
  }
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека LL_USART.
СообщениеДобавлено: 14 апр 2019, 14:31 
Заглядывает иногда

Зарегистрирован: 13 апр 2019, 14:46
Сообщения: 46
Спасибо , сейчас попробую.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека LL_USART.
СообщениеДобавлено: 14 апр 2019, 15:06 
Заглядывает иногда

Зарегистрирован: 13 апр 2019, 14:46
Сообщения: 46
Keil выдает ошибку ../Src/main.c(109): error: #40: expected an identifier


Вложения:
err.png
err.png [ 13.23 Кб | Просмотров: 680 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека LL_USART.
СообщениеДобавлено: 14 апр 2019, 15:22 
Старожил

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 4198
Откуда: Чобля - долбаный кетайец
Ну потому что один чел не знает, что пихать экстерн си везде где нипопадя - не нужно. Уберите экстерн си.
Ну и все остальное - тоже... че там понаписано - пусть объяснит автор этой писянины.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека LL_USART.
СообщениеДобавлено: 14 апр 2019, 15:26 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 2035
Один чел использует .cpp, а другой .c. При этом первый не владеет телепатией, а другой знаниями по С/C++.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека LL_USART.
СообщениеДобавлено: 14 апр 2019, 15:34 
Заглядывает иногда

Зарегистрирован: 13 апр 2019, 14:46
Сообщения: 46
BusMaster писал(а):
Ну потому что один чел не знает, что пихать экстерн си везде где нипопадя - не нужно. Уберите экстерн си.
Ну и все остальное - тоже... че там понаписано - пусть объяснит автор этой писянины.

Код работать вроде должен, тут все напрямую с регистрами без всяких библиотек , но вот как правильно подключить это к обработчику прерывания я не особо пойму , если это прописать в обработчике который находится в stm32f1xx_it.c , то у меня возникнет ошибка, так как в обработчике прерывания я использую глобальную переменную размещенную в main.c. И как правильно сделать в такой ситуации я не знаю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека LL_USART.
СообщениеДобавлено: 14 апр 2019, 15:50 
Старожил

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 4198
Откуда: Чобля - долбаный кетайец
Действительно, товарисчь испытывает затруднение с языком программирования.
Обработчик прерывания вы можете писать в любом файле, в том числе и в main.c


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека LL_USART.
СообщениеДобавлено: 14 апр 2019, 16:10 
Заглядывает иногда

Зарегистрирован: 13 апр 2019, 14:46
Сообщения: 46
Вроде все скомпилировал , но прерывания по приему не работают . Получается я не запустил прерывание по приему. Подскажите в какой регистр что прописать для запуска обработчика прерывания по приходу байта.Сами прерывания для UART разрешены .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека LL_USART.
СообщениеДобавлено: 14 апр 2019, 16:20 
Старожил
Аватара пользователя

Зарегистрирован: 13 янв 2018, 21:36
Сообщения: 1503
USART_CR1_RXNEIE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека LL_USART.
СообщениеДобавлено: 14 апр 2019, 16:47 
Заглядывает иногда

Зарегистрирован: 13 апр 2019, 14:46
Сообщения: 46
VladislavS писал(а):
USART_CR1_RXNEIE


Вообщем почти все заработало, байт в регистр DR приходит,срабатывает обработчик void USART3_IRQHandler(void) , но дальше проблема . В нем я прописал обработчик который у меня находится в файле main.c , и на него он уже не переходит и программа виснет . Наверно я так и не понял как правильно подключить свой обработчик прерывания .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека LL_USART.
СообщениеДобавлено: 14 апр 2019, 17:36 
Старожил
Аватара пользователя

Зарегистрирован: 13 янв 2018, 21:36
Сообщения: 1503
Show Вот это должно помочь


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека LL_USART.
СообщениеДобавлено: 14 апр 2019, 17:41 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 2035
Show Это тоже не помешает


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека LL_USART.
СообщениеДобавлено: 14 апр 2019, 18:22 
Заглядывает иногда

Зарегистрирован: 13 апр 2019, 14:46
Сообщения: 46
VladislavS писал(а):
Show Вот это должно помочь


Да на столе лежит " Полный справочник по С" Герберт Шилдт)) затертый до дыр)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека LL_USART.
СообщениеДобавлено: 14 апр 2019, 20:41 
Заглядывает иногда

Зарегистрирован: 13 апр 2019, 14:46
Сообщения: 46
Спасибо всем за помощь, UART нормально заработал , ModBus работает . Только от LL осталась одна инициализация )


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 


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


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

Сейчас этот форум просматривают: Google [Bot]


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

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

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