Например TDA7294

Форум РадиоКот :: Просмотр темы - STM32F030F4P6 и сигнал SysTick (проблемы с HAL_Delay)
Форум РадиоКот
https://radiokot.ru/forum/

STM32F030F4P6 и сигнал SysTick (проблемы с HAL_Delay)
https://radiokot.ru/forum/viewtopic.php?f=59&t=146202
Страница 1 из 1

Автор:  widgetii [ Вт июн 20, 2017 13:15:48 ]
Заголовок сообщения:  STM32F030F4P6 и сигнал SysTick (проблемы с HAL_Delay)

Захотелось мне побаловаться с самым дешевым контроллером от STM (Value-line). Сделал простейшую плату с гребенкой выводов, предусмотрел на ней регулятор напряжения, блокировочные конденсаторы, кварц с обвязкой и светодиод с резистором.

Припаял МК со светодиодом и решил проверить в работе, сгенерировал типовой проект в STM32Cube и добавил в while-цикл типичные две команды:

Код:
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
HAL_Delay(500);


Кварц пока подключать не стал, оставил в проекте настройку тактирования от внутренней RC-цепочки МК HSI (как это в есть в проекте по-умолчанию).
Подключил к St-link и стал ждать мигания. Светодиод загорелся, а мигать почему-то не стал. Полез с отладчиком и обнаружил, что в HAL_Delay МК уходит в бесконечный цикл. Google подсказал, что не приходит прерывание по SysTick, поэтому внутренний счетчик не увеличивается и контроллер не знает, что время идет.

Подпаял кварц с обвязкой, подключил в Cube и тактирование от HSE и не меняя эти две строчки перекомпилировал проект. Светодиод замигал.

Облазил кучу статей и не понимаю, почему в данном случае от HSE системный таймер сам собой работает, а в случае HSI - не хочет.

На контроллерах STM32F100C4T6 все работало без внешнего генератора (подключал вообще без обвязки)

Вложения:
IMG_7376_small.jpg [170.39 KiB]
Скачиваний: 851

Автор:  Myp3ik [ Вт июн 20, 2017 14:11:32 ]
Заголовок сообщения:  Re: STM32F030F4P6 и сигнал SysTick (проблемы с HAL_Delay)

У меня STM32F030F4P6 с HSI отлично мигает от SysTick. Правда я не пользуюсь кубом.

Автор:  Мурик [ Вт июн 20, 2017 14:17:43 ]
Заголовок сообщения:  Re: STM32F030F4P6 и сигнал SysTick (проблемы с HAL_Delay)

У этого МК не так много памяти. Лучше вместо куба и HAL взять SPL.

Проверьте работу прошивки из архива (находится в папке bin\Release). Светодиод нужно подключить к PB1.

Вложения:
STM32F030F4P6_Blink.zip [319.51 KiB]
Скачиваний: 393

Автор:  widgetii [ Ср июн 21, 2017 11:25:18 ]
Заголовок сообщения:  Re: STM32F030F4P6 и сигнал SysTick (проблемы с HAL_Delay)

Попробовал ваши прошивки - все работает.

Создал новый проект с тактированием от HSI и с теми же командами как были в первом случае - и снова работает. Бред какой-то, не может же впаянный кварц так влиять на МК...

Сорри за беспокойство

Автор:  slyubez [ Сб сен 29, 2018 19:29:25 ]
Заголовок сообщения:  Re: STM32F030F4P6 и сигнал SysTick (проблемы с HAL_Delay)

Апну тему.

Обзавелся вот такой платкой на сабже:
https://github.com/STM32-base/STM32-bas ... BOARD-V1.1
Светодиод к ней подключен на порт PA4. Правильно ли я понимаю, что мне придется скорректировать часть строк кода мигалки светодиодом так?
Код:
#include "stm32f0xx_conf.h"
#include "SysTimer.h"

void GPIO_Conf(void) // Конфигурация портов ввода / вывода.
{
    GPIO_InitTypeDef s;

    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); // Включаем тактирование порта PA

    s.GPIO_Pin   = GPIO_Pin_4;       // Настройка вывода PA4.
    s.GPIO_Mode  = GPIO_Mode_OUT;     // Вывод настроен на одну из альтернативных функций.
    s.GPIO_OType = GPIO_OType_PP;    // Двухтактный выход (т. е. не открытый сток).
    s.GPIO_PuPd  = GPIO_PuPd_NOPULL; // Подтягивающие резисторы отключены.
    s.GPIO_Speed = GPIO_Speed_8MHz;

    GPIO_Init(GPIOA, &s);            // Инициализация порта.
}

int main(void)
{

    GPIO_Conf();
    SystemCoreClockUpdate();
    SysTim_Init(100);

    while(1)
    {
       GPIOA->ODR ^= GPIO_Pin_4;
       SysTim_DelayMS(500);
    }
}


И еще такой вопрос. Использовать хочу Atollic STM32 TrueStudio. Можно ли через эту среду запрограммировать такую плату через RS232? Или придется обзавестись программатором типа ST-Link? Мне просто не хочется связываться с коммерческими средами разработки.

Автор:  Мурик [ Сб сен 29, 2018 19:52:44 ]
Заголовок сообщения:  Re: STM32F030F4P6 и сигнал SysTick (проблемы с HAL_Delay)

slyubez писал(а):
Мне просто не хочется связываться с коммерческими средами разработки.
Для STM32 кроме TrueStudio есть много других бесплатных сред.

Автор:  slyubez [ Сб сен 29, 2018 19:58:22 ]
Заголовок сообщения:  Re: STM32F030F4P6 и сигнал SysTick (проблемы с HAL_Delay)

Забыл. У меня одно важное условие - Linux. Эта студия имеет версию под пингвина.

Автор:  dosikus [ Сб сен 29, 2018 20:00:16 ]
Заголовок сообщения:  Re: STM32F030F4P6 и сигнал SysTick (проблемы с HAL_Delay)

slyubez, SES однозначно...

Автор:  slyubez [ Сб сен 29, 2018 20:12:15 ]
Заголовок сообщения:  Re: STM32F030F4P6 и сигнал SysTick (проблемы с HAL_Delay)

Спасибо за вариант. В понедельник у меня уже будет STLink. Хочу попробовать начать с ТруСтудией, а уже затем подумаю о других вариантах. Раньше не доводилось иметь дела с STMками, это первая проба.

Автор:  AlanDrakes [ Пн окт 01, 2018 18:36:29 ]
Заголовок сообщения:  Re: STM32F030F4P6 и сигнал SysTick (проблемы с HAL_Delay)

Можете ещё собрать Eclipse + ARM Plugin + OpenOCD. Отладка шустрая, хотя сама среда, работающая на Яве не очень быстро исполняется (возможно проблема с моим ПК, но тем не менее).
ST-Link понимается без проблем.

Автор:  dosikus [ Пн окт 01, 2018 19:00:36 ]
Заголовок сообщения:  Re: STM32F030F4P6 и сигнал SysTick (проблемы с HAL_Delay)

Не стоит привыкать ни к клипсине ни ее производных (True studio), это наихудший вариант для нубов.

Автор:  slyubez [ Вт окт 02, 2018 20:38:34 ]
Заголовок сообщения:  Re: STM32F030F4P6 и сигнал SysTick (проблемы с HAL_Delay)

С Эклипсом я уже работал на Джаве, так что он мне не в новинку. Нравится мне даже больше Идеи, хотя НетБинс понравился ещё больше.

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