最近学习使用STM32F469I DISCO刚开始用,想试着让led4闪烁,编译能通过可是始终不闪烁
工程是STM32 Cube自动生成的应该是没什么问题了,我看cube里面我设置的也是把pk3引脚打开了
这是我的代码,东西比较多,我写的部分在while(1)里面再main函数末尾,里面的delay函数是我用ChatGPT生成的。也拿出来
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* Configure the peripherals common clocks */
PeriphCommonClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_CRC_Init();
MX_DMA2D_Init();
MX_DSIHOST_DSI_Init();
MX_FMC_Init();
MX_I2C1_Init();
MX_I2C2_Init();
MX_LTDC_Init();
MX_QUADSPI_Init();
MX_SAI1_Init();
MX_SDIO_SD_Init();
MX_TIM1_Init();
MX_USART3_UART_Init();
MX_USART6_UART_Init();
MX_FATFS_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* USER CODE BEGIN RTOS_MUTEX */
/* add mutexes, ... */
/* USER CODE END RTOS_MUTEX */
/* USER CODE BEGIN RTOS_SEMAPHORES */
/* add semaphores, ... */
/* USER CODE END RTOS_SEMAPHORES */
/* USER CODE BEGIN RTOS_TIMERS */
/* start timers, add new ones, ... */
/* USER CODE END RTOS_TIMERS */
/* USER CODE BEGIN RTOS_QUEUES */
/* add queues, ... */
/* USER CODE END RTOS_QUEUES */
/* Create the thread(s) */
/* definition and creation of defaultTask */
osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 4096);
defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);
/* USER CODE BEGIN RTOS_THREADS */
/* add threads, ... */
/* USER CODE END RTOS_THREADS */
/* Start scheduler */
osKernelStart();
/* We should never get here as control is now taken by the scheduler */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
HAL_GPIO_WritePin(GPIOK,GPIO_PIN_3 , GPIO_PIN_SET);
delay_ms(1000);
HAL_GPIO_WritePin(GPIOK,GPIO_PIN_3 , GPIO_PIN_RESET);
delay_ms(1000);
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
这是delay函数
void delay_ms(uint32_t milliseconds)
{
volatile uint32_t i, j;
for (i = 0; i < milliseconds; i++) {
for (j = 0; j < 5000; j++) {
__NOP(); // 空操作,用于产生延时
}
}
}
然后这部分是我截取的关于pk3有关引脚的定义
上拉选上,是不驱动不起来