|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 5:06 pm
|
Страница 1 от 1
|
[ 14 мнения ] |
|
Програмиране на регистри на STM32L4R5ZI за USART
| Автор |
Съобщение |
|
VPavlov
Ранг: Популярен
Регистриран на: Съб Апр 01, 2023 9:59 am Мнения: 302
|
 Програмиране на регистри на STM32L4R5ZI за USART
Здрасти, "Зарибих" се с едни туториали в Удеми за Bare Metal programming. Изкарах два от тях с STM32L4 и STM32F4. Сега обаче реших да сменя хардуера с STM32L4R5ZI и срещнах стена от проблеми която не успявам да преодолея. Опитвам се направя един от туроалите, в който USART настройва да изпраща сигнал, който да бъде уловен с RealTerm. В общи линии кодът е това: Компилира се и се ъплоадва. Realterm не получава нищо. Не мога да установя от къде е проблемът. Може би SYS_FREQ? Но пробвах с различни. Тази последната я взех от скоростта на APB1 bus. Някой може ли да помогне?
|
| Пон Май 08, 2023 7:50 pm |
|
 |
|
syscop
Ранг: Форумен бог
Регистриран на: Пет Юни 03, 2005 9:39 pm Мнения: 2277
|
 Re: Програмиране на регистри на STM32L4R5ZI за USART
За да ползваш scanf/printf трябва някъде да имаш:
_________________ Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ! Опонентът се оборва с ФАКТИ, а не с ЕПИТЕТИ!
|
| Пон Май 08, 2023 8:57 pm |
|
 |
|
VPavlov
Ранг: Популярен
Регистриран на: Съб Апр 01, 2023 9:59 am Мнения: 302
|
 Re: Програмиране на регистри на STM32L4R5ZI за USART
Много благодаря да за включването! Променям system frequency на 120 MHz. Принципно кодът работи. Правих два туториала с идентичен код, за F401RE и L4 нещо си и нещата вървяха. Конкретно за printf имам това: Все си мисля че е нещо от регистрите, което е конкретно за тази платка Nucleo-L4R5ZI, обаче не откривам какво. Единствените разлики, които намирам са в честотата на APB1 bus и USART2->CR1 Където при мен са два, до колкото разбирам за със и без FIFO, задавайки USARTx->CR1 = CR1_TE; , където CR1_TE е (1U<<3) би трябвало да нулирам всичко друго и така FIFO да е изключено. Нищо друго не мога да хвана.
|
| Вто Май 09, 2023 8:28 am |
|
 |
|
velio
Ранг: Форумен бог
Регистриран на: Вто Юни 07, 2005 6:20 pm Мнения: 3532
|
 Re: Програмиране на регистри на STM32L4R5ZI за USART
Аз не съм голям специалист, но поне според мен платката няма общо. На ST платките са сравнително прости и дори CubeMX не конфигурира кой знае какво, дори да е зададена конкретна платка. Направо почти нищо не конфигурира. Това с каква среда го ползваш? Не че бих могъл да ти помогна особено, просто ми е любопитно.
|
| Вто Юни 13, 2023 5:48 pm |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: Програмиране на регистри на STM32L4R5ZI за USART
само int __io_putchar (...) е за ИАР за ГЦЦ _write()
_________________ main[-1u]={1};
|
| Вто Юни 13, 2023 6:31 pm |
|
 |
|
VPavlov
Ранг: Популярен
Регистриран на: Съб Апр 01, 2023 9:59 am Мнения: 302
|
 Re: Програмиране на регистри на STM32L4R5ZI за USART
Благодаря за включването!
Velio: ползвам CubeIDE
The Wizard: В настоящия случай не се ползват HAL библиотеки.
|
| Сря Юни 14, 2023 10:37 am |
|
 |
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 12:48 pm Мнения: 6094
|
 Re: Програмиране на регистри на STM32L4R5ZI за USART
ми заместваш HAL_UART_Transmit() с твоя UART_Transmit()
_________________ main[-1u]={1};
|
| Сря Юни 14, 2023 12:43 pm |
|
 |
|
syscop
Ранг: Форумен бог
Регистриран на: Пет Юни 03, 2005 9:39 pm Мнения: 2277
|
 Re: Програмиране на регистри на STM32L4R5ZI за USART
По-горе пуснах пример, ама на колегата нещо не му се чете...
_________________ Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ! Опонентът се оборва с ФАКТИ, а не с ЕПИТЕТИ!
|
| Сря Юни 14, 2023 1:13 pm |
|
 |
|
VPavlov
Ранг: Популярен
Регистриран на: Съб Апр 01, 2023 9:59 am Мнения: 302
|
 Re: Програмиране на регистри на STM32L4R5ZI за USART
Съжалявам, нов съм в тия работи и сигурно не съм разбрал дробре. Благодаря все пак!
|
| Сря Юни 14, 2023 5:05 pm |
|
 |
|
velio
Ранг: Форумен бог
Регистриран на: Вто Юни 07, 2005 6:20 pm Мнения: 3532
|
 Re: Програмиране на регистри на STM32L4R5ZI за USART
Syscop има предвид че printf в CubeIDE не работи по подразбиране. Трябва малко да му се побае (виж там неговия пример).
|
| Пет Юни 23, 2023 5:51 pm |
|
 |
|
relsys
Ранг: Форумен бог
Регистриран на: Пет Ное 25, 2005 11:41 am Мнения: 1680
|
 Re: Програмиране на регистри на STM32L4R5ZI за USART
Те много неща не работят в Cube... Тук работи, няма смисъл да се мъчи: https://www.mikroe.com/mikroc-arm
|
| Пон Юни 26, 2023 9:05 am |
|
 |
|
VPavlov
Ранг: Популярен
Регистриран на: Съб Апр 01, 2023 9:59 am Мнения: 302
|
 Re: Програмиране на регистри на STM32L4R5ZI за USART
Уча се... гледам туториали, няма много голям избор. Каквото покават туториалите такова правя и в която ИДЕ се ползва. Но напредвам по малко. Взех едни туториали за HAL сега. До колкото разбирам съобщението от printf се пренасочва чрез УСАРТ чрез __io_putchar функцията. Ако разбирам правилно, то аз имам това пренасочване и мисля че то работи, защото виждам съобщението през RealTerm. Що се отнася то предложението на Wizzard за използване на HAL_UART_Transmit() / UART_Transmit(), не съм сигурен че мога да го имплементирам защото тези туториали, бяха за програмиране чрез настройване директно на регистрите. Първо имам конфигурация на УАРТ модула, после чакаме да се изпразни transmit data register и след което изпращаме съобщението чрез задаване на нова стойност на същия регистър: USART2->TDR = (ch & 0xFF);. Сигурно подхождам малко като новобранец, какъвто съм де, и си мисля че HAL_UART_Transmit() импелемтира в себе си тези и други действия, които обезсмилят предходното програмиране на регистри и програмата би имала нужда от по-различни настройки, както разбирам от сегашните туториали. Може би просто L серията има нужда от други настройки на регистрите, тия дни, ако остане време ще пробвам с HAL подходът, тъй като програмирането там изглежда на по-високо ниво се надявам да тръгне 
|
| Нед Юли 23, 2023 1:39 pm |
|
 |
|
syscop
Ранг: Форумен бог
Регистриран на: Пет Юни 03, 2005 9:39 pm Мнения: 2277
|
 Re: Програмиране на регистри на STM32L4R5ZI за USART
_________________ Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ! Опонентът се оборва с ФАКТИ, а не с ЕПИТЕТИ!
|
| Нед Юли 23, 2023 1:49 pm |
|
 |
|
VPavlov
Ранг: Популярен
Регистриран на: Съб Апр 01, 2023 9:59 am Мнения: 302
|
 Re: Програмиране на регистри на STM32L4R5ZI за USART
Благодаря, ще го пробвам.
|
| Нед Юли 23, 2023 2:56 pm |
|
|
|
Страница 1 от 1
|
[ 14 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 0 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|