Найдено 17 результатов

Cliff
Вт окт 28, 2025 22:43:30
Форум: ARM
Тема: stm32g431 UART на прерываниях, отказ SysTick_Handler
Ответы: 22
Просмотры: 7501

Re: stm32g431 UART на прерываниях, отказ SysTick_Handler

[uquote="jcxz",url="/forum/viewtopic.php?p=4758652#p4758652"]
USART1->DR = *tx_buffer++;
if (--tx_size == 0) {
USART1->CR1 &= ~USART1_TXEIE; // Disable TXE interrupt
USART1->CR1 |= USART1_TCIE; // Enable TC interrupt
}
Код кривой.[/uquote]

неоч понятно, чем кривой код?
Не то что бы я большой ...
Cliff
Вт окт 28, 2025 22:24:21
Форум: ARM
Тема: stm32g431 UART на прерываниях, отказ SysTick_Handler
Ответы: 22
Просмотры: 7501

Re: stm32g431 UART на прерываниях, отказ SysTick_Handler

[uquote="smacorp",url="/forum/viewtopic.php?p=4758632#p4758632"]Я же говорил о таком применении:[/uquote]
Очевидно, что тут выстроена модель:
1. Корректная побайтная передача
2. Оповещение о завершении передачи всего буфера.

ну т.е. TC гарантировано сработает только при завершении выдачи в порт ...
Cliff
Вт окт 28, 2025 08:39:23
Форум: ARM
Тема: stm32g431 UART на прерываниях, отказ SysTick_Handler
Ответы: 22
Просмотры: 7501

Re: stm32g431 UART на прерываниях, отказ SysTick_Handler

smacorp, мне казалось, что TC создавался не для передачи, а вообще для других целей, связанных с общей организацией процессов в проекте. Например, дождаться передачи сообщения на другое устройство, прежде чем его отключить или что-нибудь включить.
Cliff
Пн окт 27, 2025 22:06:31
Форум: ARM
Тема: stm32g431 UART на прерываниях, отказ SysTick_Handler
Ответы: 22
Просмотры: 7501

Re: stm32g431 UART на прерываниях, отказ SysTick_Handler

veso74, угу, так и сделал.
Спасибо!

Ещё раз покопал RM, нигде подобной рекомендации не нашёл. И в многочисленных уроках в интернетах - тоже ничего про это.
Или на F1 (уроки по теме UART в интернетах все на F103) прерывание TXE срабатывает однократно и его не надо отключать в конце передачи?
Cliff
Пн окт 27, 2025 21:33:39
Форум: ARM
Тема: stm32g431 UART на прерываниях, отказ SysTick_Handler
Ответы: 22
Просмотры: 7501

Re: stm32g431 UART на прерываниях, отказ SysTick_Handler

linux_rulezz , спасибо!
Не знаю, почему мне эта мысль не приходила в голову, но это гениально!

Я ещё раз перекопал HAL-библиотеку, и там, оказывается, делают точно так же - выключают прерывание TXE по окончании прередачи, а перед очередной передачей включают вновь.
Сделал так же у себя, работает ...
Cliff
Пн окт 27, 2025 20:29:04
Форум: ARM
Тема: stm32g431 UART на прерываниях, отказ SysTick_Handler
Ответы: 22
Просмотры: 7501

Re: stm32g431 UART на прерываниях, отказ SysTick_Handler

veso74 , спасибо за советы, осталось осмыслить результат диагностики.

[uquote="veso74",url="/forum/viewtopic.php?p=4758264#p4758264"]Kакое IDE? Keil? RTOS есть?[/uquote]
vscode, cmsis - решил пойти по пути джедая. rtos нет


[uquote="veso74",url="/forum/viewtopic.php?p=4758264#p4758264"]Попробуйте ...
Cliff
Пн окт 27, 2025 15:04:24
Форум: ARM
Тема: stm32g431 UART на прерываниях, отказ SysTick_Handler
Ответы: 22
Просмотры: 7501

stm32g431 UART на прерываниях, отказ SysTick_Handler

Осваиваю UART на регистрах.

Уткнулся в непонятную проблему. Если включить прерывания для UART, то перестаёт работать прерывание SysTick_Handler.

Инициализация тактирования системы:

// Range 1 Boost
SET_BIT(PWR->CR5, PWR_CR5_R1MODE);

// HSE
SET_BIT(RCC->CR, RCC_CR_HSEON);
while (READ_BIT ...
Cliff
Ср авг 27, 2025 16:05:37
Форум: ARM
Тема: stm32g4 - SPI, чтение из DR
Ответы: 3
Просмотры: 4871

Re: stm32g4 - SPI, чтение из DR

AlanDrakes , спасибо!

натолкнули меня на вполне логичные мысли ("как же я сам не догадался"):

1. перед стравливанием RX надо дождаться полного завершения предыдущей передачи:
while (SPI4->SR & (SPI_SR_FTLVL | SPI_SR_BSY));
В отличие от ожидания RX, этот вариант не подвиснет, если передачи ещё ...
Cliff
Ср авг 27, 2025 10:55:39
Форум: ARM
Тема: stm32g4 - SPI, чтение из DR
Ответы: 3
Просмотры: 4871

stm32g4 - SPI, чтение из DR

Приветствую. Разбираюсь с работой SPI на stm32g474.

DMA и прерывания пока не использую, т.к. задача разобраться в сути функционала.

Инициализация CR: SPI->CR1 =
// Mode: SPI_MODE_MASTER
SPI_CR1_MSTR | SPI_CR1_SSI |
// NSS: SPI_NSS_SOFT
SPI_CR1_SSM |
// BaudRatePrescaler: SPI_BAUDRATEPRESCALER ...
Cliff
Пн авг 18, 2025 19:06:49
Форум: ARM
Тема: STM32 USB на регистрах
Ответы: 34
Просмотры: 11340

Re: STM32 USB на регистрах

[uquote="COKPOWEHEU",url="/forum/viewtopic.php?p=4739677#p4739677"]Так ведь никто не гарантирует, что это будет именно комплементарная пара точек[/uquote]
Дык это всегда решалось конструкцией типа:
ep_init(num:1, type: BULK, bufin: 64, bufout: 0);
Ну или вообще делим на три вызова:
ep_init_type ...
Cliff
Пн авг 18, 2025 12:35:26
Форум: ARM
Тема: STM32 USB на регистрах
Ответы: 34
Просмотры: 11340

Re: STM32 USB на регистрах

COKPOWEHEU ,
нет, дело не в камментах, не в макросах и даже не в отступах.
По этим моментам всегда есть, что сказать, но я давно не заморачиваюсь по таким мелочам, т.к. пересматриваю очень большое число исходников, и тут для меня нет жестко аргументированного "как правильно". На вкус и цвет...

У ...
Cliff
Пт авг 15, 2025 16:18:08
Форум: ARM
Тема: STM32 USB на регистрах
Ответы: 34
Просмотры: 11340

Re: STM32 USB на регистрах

[uquote="azhel12",url="/forum/viewtopic.php?p=4738822#p4738822"]У уважаемого COKPOWEHEU на хабре есть цикл статей по тем[/uquote]
Это было первое, с чего начал и изучил вдоль и поперёк. Но при всём уважении к этому человеку (искренне, видно, что старался), написано ужасно, особенно код ...
Cliff
Чт авг 14, 2025 23:10:35
Форум: ARM
Тема: STM32 USB на регистрах
Ответы: 34
Просмотры: 11340

Re: STM32 USB на регистрах

jcxz, вспоминаю себя в мои 18-25, когда я один умный, а кругом одни д....
конечно же я это всё изучил и прекрасно понимаю, о чём вы. Меня интересует работа с протоколом в связке с аппаратной реализацией в stm32.

nibelung, большое спасибо! максимально чётко и по делу! Все вопросы отпали.
Cliff
Чт авг 14, 2025 19:52:17
Форум: ARM
Тема: STM32 USB на регистрах
Ответы: 34
Просмотры: 11340

Re: STM32 USB на регистрах

Спасибо большое, что откликнулось столько народу.
Проблему решил. Первое сообщение можно игнорировать, всё там описанное не актуально. Бага оказалась в адресации регистров точек. Причём, настолько хорошо замаскировалась, что найти её не мог несколько недель, при всех вариациях отладки и сёрфинга по ...
Cliff
Ср авг 13, 2025 19:47:51
Форум: ARM
Тема: STM32 USB на регистрах
Ответы: 34
Просмотры: 11340

Re: STM32 USB на регистрах

[uquote="HardWareMan",url="/forum/viewtopic.php?p=4738376#p4738376"]Такая сложная реализация у них только из-за универсальности[/uquote]
Да, я это хорошо понимаю. По той же причине этим занялся.Очень уж там чрезмерно ветвистые деревья и переходные процессы между разными библиотеками.

Дайте знать ...
Cliff
Ср авг 13, 2025 12:56:11
Форум: ARM
Тема: stm32 как сделать задержку
Ответы: 8
Просмотры: 6139

Re: stm32 как сделать задержку

Вроде б, все китайцы используют феррит + сглаживающие конденсаторы. Даже без RC-цепи.
Я точно так же делаю на чипах F1, F4, G4. Вроде б, пока никаких проблем с аналоговым входом (да и вообще с запуском) не наблюдал.
Cliff
Ср авг 13, 2025 12:25:48
Форум: ARM
Тема: STM32 USB на регистрах
Ответы: 34
Просмотры: 11340

STM32 USB на регистрах

Здравствуйте. Есть ли тут гуру, у кого есть успехи в USB на регистрах на stm32?

Конкретно чип stm32g474ceu6
Необходимо реализовать CDC (Serial Com)

В качестве базиса взял Middleware библитеку от ST, хоть там и крайне сложно разобраться из-за многочисленных переходов между разными модулями (HAL, LL ...

Перейти к расширенному поиску