Easyelectronics.ru

Электроника для всех
Текущее время: 15 окт 2019, 09:15

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



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

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

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


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

Зарегистрирован: 13 янв 2018, 21:36
Сообщения: 996
И никаких кактусов.
Код:
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
Сообщения: 23
Спасибо , сейчас попробую.


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

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


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

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


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

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


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

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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


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

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


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


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

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


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

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


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

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


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

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

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