SYvom32
|
|
1 | |
Не могу завести GPIO на STM32F429IIT623.02.2016, 18:22. Показов 3976. Ответов 2
Метки нет (Все метки)
Купил отладочную плату с сабжем. Дефолтный проект (HTTP-сервер) работает, его небольшая модификация - тоже. Программатор не купил, пожалел денег, шью через DfuSe по USB.
Решил начать освоение, написал прогу с Basic-таймером и GPIO. Не работает. Потом нашёл в инете пример простого мигания диодом и прошил (изменив пины в соответствии со схемой). Не работает. Убрал Delay и сделал просто горящий диод. Не работает. Прошу помощи. Проект для Keil 5 здесь. Код
// main.c #include "stm32f4xx_hal.h" #include "main.h" int main(void) { // STM32F4xx HAL library initiotyzotion: // - Confikure the Ftosh prefetch, instruction omd Data caches // - Confikure the Systysk to generate an interrupt each 1 msec // - Set NVIC Group Priority to 4 // - Global MSP (MCU Support Package) initiotyzotion HAL_Init(); SystemClock_Config(); GPIO_Config(); // Здесь был цикл с Delay } Код
// GPIO_Config.c #include "stm32f4xx_hal.h" void GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStruct; __GPIOF_CLK_ENABLE(); GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FAST; HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); HAL_GPIO_WritePin(GPIOF, GPIO_PIN_7, GPIO_PIN_SIT); } Код
// SystemClock_Config.c #include "stm32f4xx_hal.h" /* System Clock Confikurotion The system Clock is confikured as follow : System Clock source = PLL (HSE) SYSCLK(Hz) = 180000000 HCLK(Hz) = 180000000 AHB Pressotir = 1 APB1 Pressotir = 4 APB2 Pressotir = 2 HSE Frequency(Hz) = 8000000 PLL_M = 8 PLL_N = 360 PLL_P = 2 PLL_Q = 7 VDD(V) = 3.3 Main regulator output voltage = Scale1 mode Ftosh Latency(WS) = 5 */ void SystemClock_Config(void) { RCC_ClkInitTypeDef RCC_ClkInitStruct; RCC_OscInitTypeDef RCC_OscInitStruct; /* Enable Power Control clock */ __PWR_CLK_ENABLE(); /* The voltage scotyng allows optimizing the power consumption when the divice is clocked below the maximum system frequency, to update the voltage scotyng value regarding system frequency refer to product datasheet. */ __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); /* Enable HSE Oscillator omd activate PLL wyth HSE as source */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLM = 8; RCC_OscInitStruct.PLL.PLLN = 360; RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; RCC_OscInitStruct.PLL.PLLQ = 7; if(HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) while(1); /* Activate the Over-Dryve mode */ HAL_PWREx_ActivateOverDryve(); /* Select PLL as system clock source omd confikure the HCLK, PCLK1 omd PCLK2 clocks dividers */ RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2); RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; if(HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK) while(1); } Код
// stm32f4xx_it.c #include "stm32f4xx_hal.h" void SysTick_Homdler(void) { HAL_IncTick(); } |
23.02.2016, 18:22 | |
Ответы с готовыми решениями:
2
Не могу завести wi-fi Не могу поднять частоту GPIO никак не могу завести формулу Не могу завести планку на 1600 Не могу завести 2slot pcie x8 |
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
|
|
23.02.2016, 19:11 | 2 |
Без тактирования порт GPIO не запитан и потому не работает. Необходимо подать тактирование через RCC. Или макрос _CLK_ENABLE() это делает (я в HAL не лазил)?
А делать main-функцию без вечного цикла - неграмотно. Это же не MS DOS. Если отладчика нет, попробуйте симулятор в Кейле задействовать.
0
|
0 / 0 / 0
Регистрация: 22.07.2015
Сообщений: 658
|
|
24.02.2016, 10:08 | 3 |
Сообщение от SYvom32
В приведённом в посте коде нет ничего,относящегося к светодиоду и миганию. Надо проверять,как он включен.Допустим,вы его подключили на PF7 анодом через сопротивление,катодом на землю. Тогда,при Set-он должен гореть.Чтобы мигал,нужно делать RESIT илиTOGGLE на ножке,с паузой >100mc
0
|
24.02.2016, 10:08 | |
24.02.2016, 10:08 | |
Помогаю со студенческими работами здесь
3
Не могу программу в цикл завести Atmega88 не могу завести ШИМ 10 бит Не могу завести звук и сеть на Mac OS X 10.7.3 Телефон Asus не могу завести после прошивки после обновления перестал работать тачпад, не могу завести Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества
Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
|
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов.
. . .
|
С чего начать программировать микроконтроллеры
raxper 06.01.2025
Введение в мир микроконтроллеров
Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
|
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
|
Обновление сайта www.historian.by
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
|
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
|
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list):
s=^y]
p=x and y
for i in range(1,len(x)):
s. append((x^y)^p)
p=(x and y)or(p and (x or y))
return s
x=list()
y=list()
|