pokk, флаг сбрасывается чтением и даже отладчиком, вы в своем уме ?
STM32F0 и USART
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
- Реклама
- Сообщения: 574
- Зарегистрирован: Вт ноя 02, 2010 17:46:37
Ну так передачу не кто не отменял, она всегда идет, следующий байт должен установить RXNE (от другого мк идет пакеты с периодом 50ms, в пакете несколько байт друг за другом).
- Сообщения: 574
- Зарегистрирован: Вт ноя 02, 2010 17:46:37
Все разобрался, надо было установить флаг USART_CR3_OVRDIS, иначе устанавливаться флаг переполнение ORE, и он блокирует перезапись последнего принятого байта.
[uquote="Kvasshtain",url="/forum/viewtopic.php?p=1850776#p1850776"]Здравствуйте уважаемый Dosikus. Рад Вас видеть
. У меня STM32F051. Не ясно что записывать в AFR[1], и как это делать для других случаев. Т.е. я не понимаю откуда взялось число 0x0110, ну или по другому (1<<(2*4))|(1<<(1*4))? Да и контроллер молчит как партизан на допросе в Гестапо. Если я правильно составил программу, то контроллер должен без остановки циклически слать в порт число 0x45. А на выходе тишина. С пином порта все точно в норме, т. к. я это проверял (вешал на него светодиод и заставлял его моргать).[/uquote]
GPIOA->AFR[0] |=
_VAL2FLD(GPIO_AFRL_AFSEL2, 1) |
_VAL2FLD(GPIO_AFRL_AFSEL3, 1);
GPIO_AFRL_AFSEL2 - это номер ножки, число 1 это (0001: AF1)
Для UART A2 A3 на STM32F030
GPIOA->AFR[0] |=
_VAL2FLD(GPIO_AFRL_AFSEL2, 1) |
_VAL2FLD(GPIO_AFRL_AFSEL3, 1);
GPIO_AFRL_AFSEL2 - это номер ножки, число 1 это (0001: AF1)
Для UART A2 A3 на STM32F030
Инженер R@D
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford

