| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Програмиране на регистри на STM32L4R5ZI за USART http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=18828 |
Страница 1 от 1 |
| Автор: | VPavlov [ Пон Май 08, 2023 7:50 pm ] | |||||||||
| Заглавие: | Програмиране на регистри на STM32L4R5ZI за USART | |||||||||
Здрасти, "Зарибих" се с едни туториали в Удеми за Bare Metal programming. Изкарах два от тях с STM32L4 и STM32F4. Сега обаче реших да сменя хардуера с STM32L4R5ZI и срещнах стена от проблеми която не успявам да преодолея. Опитвам се направя един от туроалите, в който USART настройва да изпраща сигнал, който да бъде уловен с RealTerm. В общи линии кодът е това:
Компилира се и се ъплоадва. Realterm не получава нищо. Не мога да установя от къде е проблемът. Може би SYS_FREQ? Но пробвах с различни. Тази последната я взех от скоростта на APB1 bus. Някой може ли да помогне? |
||||||||||
| Автор: | syscop [ Пон Май 08, 2023 8:57 pm ] | |||||||||
| Заглавие: | Re: Програмиране на регистри на STM32L4R5ZI за USART | |||||||||
За да ползваш scanf/printf трябва някъде да имаш:
|
||||||||||
| Автор: | VPavlov [ Вто Май 09, 2023 8:28 am ] | |||||||||
| Заглавие: | 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 да е изключено. Нищо друго не мога да хвана. |
||||||||||
| Автор: | velio [ Вто Юни 13, 2023 5:48 pm ] |
| Заглавие: | Re: Програмиране на регистри на STM32L4R5ZI за USART |
Аз не съм голям специалист, но поне според мен платката няма общо. На ST платките са сравнително прости и дори CubeMX не конфигурира кой знае какво, дори да е зададена конкретна платка. Направо почти нищо не конфигурира. Това с каква среда го ползваш? Не че бих могъл да ти помогна особено, просто ми е любопитно. |
|
| Автор: | TheWizard [ Вто Юни 13, 2023 6:31 pm ] | |||||||||
| Заглавие: | Re: Програмиране на регистри на STM32L4R5ZI за USART | |||||||||
само int __io_putchar (...) е за ИАР за ГЦЦ _write()
|
||||||||||
| Автор: | VPavlov [ Сря Юни 14, 2023 10:37 am ] |
| Заглавие: | Re: Програмиране на регистри на STM32L4R5ZI за USART |
Благодаря за включването! Velio: ползвам CubeIDE The Wizard: В настоящия случай не се ползват HAL библиотеки. |
|
| Автор: | TheWizard [ Сря Юни 14, 2023 12:43 pm ] | |||||||||
| Заглавие: | Re: Програмиране на регистри на STM32L4R5ZI за USART | |||||||||
ми заместваш HAL_UART_Transmit() с твоя UART_Transmit() |
||||||||||
| Автор: | syscop [ Сря Юни 14, 2023 1:13 pm ] |
| Заглавие: | Re: Програмиране на регистри на STM32L4R5ZI за USART |
По-горе пуснах пример, ама на колегата нещо не му се чете... |
|
| Автор: | VPavlov [ Сря Юни 14, 2023 5:05 pm ] | |||||||||
| Заглавие: | Re: Програмиране на регистри на STM32L4R5ZI за USART | |||||||||
Съжалявам, нов съм в тия работи и сигурно не съм разбрал дробре. Благодаря все пак! |
||||||||||
| Автор: | velio [ Пет Юни 23, 2023 5:51 pm ] | ||||||||||||||||||
| Заглавие: | Re: Програмиране на регистри на STM32L4R5ZI за USART | ||||||||||||||||||
Syscop има предвид че printf в CubeIDE не работи по подразбиране. Трябва малко да му се побае (виж там неговия пример). |
|||||||||||||||||||
| Автор: | relsys [ Пон Юни 26, 2023 9:05 am ] | |||||||||||||||||||||||||||
| Заглавие: | Re: Програмиране на регистри на STM32L4R5ZI за USART | |||||||||||||||||||||||||||
Те много неща не работят в Cube... Тук работи, няма смисъл да се мъчи: https://www.mikroe.com/mikroc-arm |
||||||||||||||||||||||||||||
| Автор: | VPavlov [ Нед Юли 23, 2023 1:39 pm ] |
| Заглавие: | 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 подходът, тъй като програмирането там изглежда на по-високо ниво се надявам да тръгне |
|
| Автор: | syscop [ Нед Юли 23, 2023 1:49 pm ] |
| Заглавие: | Re: Програмиране на регистри на STM32L4R5ZI за USART |
https://shawnhymel.com/1873/how-to-use-printf-on-stm32/ |
|
| Автор: | VPavlov [ Нед Юли 23, 2023 2:56 pm ] | |||||||||
| Заглавие: | Re: Програмиране на регистри на STM32L4R5ZI за USART | |||||||||
Благодаря, ще го пробвам. |
||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|