Например TDA7294

Форум РадиоКот :: Просмотр темы - STM32 Cube IDE CMSIS
Форум РадиоКот
https://radiokot.ru/forum/

STM32 Cube IDE CMSIS
https://radiokot.ru/forum/viewtopic.php?f=59&t=191162
Страница 1 из 1

Автор:  aleksey chilov [ Вс дек 03, 2023 19:05:23 ]
Заголовок сообщения:  STM32 Cube IDE CMSIS

Добрый вечер всем!
Парни тут такой вопрос к знатокам STM-щикам.
Хочу настроить делей свой через SysTick и не
могу найти маски в файле под регистр STK_CTRL
и остальные... Может быть не в том файле ищу а?
Подскажите кто знает. То как известно в кубике
с автоподстановкой дела обстоят ну не очень уж...
Прошу сильно не ругайтесь я баран бараном тут.
HAL не признаю хочу работать с CMSIS так как
начинал с AVR и с регистрами как-то привычнее чтоли...
На фотках всё есть...
Спасибо.

Изображение Изображение Изображение

Автор:  azhel12 [ Вс дек 03, 2023 20:15:05 ]
Заголовок сообщения:  Re: STM32 Cube IDE CMSIS

Могу не совсем верно оперировать терминами, но SysTick - это не про STM, а про ARM вообще, маски искать надо в ARM-овских заголовках (core_cm3 в вашем случае).

Изображение

Автор:  aleksey chilov [ Пн дек 04, 2023 13:43:46 ]
Заголовок сообщения:  Re: STM32 Cube IDE CMSIS

Что-то не получается... Не срабатывает прерывание у меня. Настройки вроде правильные а хендлере переменная не инкрементируется. Что-то где-то...

Автор:  VladislavS [ Пн дек 04, 2023 14:03:37 ]
Заголовок сообщения:  Re: STM32 Cube IDE CMSIS

В CMSIS есть функция uint32_t SysTick_Config(uint32_t ticks). Либо используйте её, либо посмотрите как она внутри устроена.

Автор:  aleksey chilov [ Пн дек 04, 2023 14:12:39 ]
Заголовок сообщения:  Re: STM32 Cube IDE CMSIS

Изображение

Добавлено after 38 seconds:
Может что в настройках не то?

Автор:  NotoriousCoder) [ Ср дек 13, 2023 19:14:14 ]
Заголовок сообщения:  Re: STM32 Cube IDE CMSIS

Ну так смотрите, есть бит SysTick_CTRL_ENABLE_Msk, Вы его зачем то очищаете, ставите SysTick_CTRL_TICKINT_Msk и думаете, почему не работает. Я в своем проекте (правда у меня cm4, но мне кажется, что тут одинаково будет) делаю вот так:
Код:
static bool SysTick_Init(uint32_t ticks){
   /* LOAD register has only 24 bits */
   if (ticks > 0x00FFFFFF || ticks < 1) return 1;
   SysTick->LOAD = ticks;
   SysTick->VAL = 0; /* Writing any number would clear VAL register */
   SysTick->CTRL |= SysTick_CTRL_CLKSOURCE_Msk
         | SysTick_CTRL_TICKINT_Msk
         | SysTick_CTRL_ENABLE_Msk;
   return 0;



Добавлено after 4 minutes 42 seconds:
С помощью TICKINT Вы включаете прерывания (которые потом в SysTick_Handler обрабатываете), а с помощью ENABLE, каким бы это удивительным не казалось, Вы просто включаете сам таймер

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/