[原创] f769移植freertos_cubemx版本

star_66666   2016-12-16 00:50 楼主
最近cubemx的功能越来越强大了,省去一些懒人和入门者的时间, 笔者虽然不喜欢,但也想尝试一下下。 下面开始从新建cubemx工程开始 1.打开cubemx软件 捕获.PNG 2.新建工程 根据板载芯片的实际情况,在弹出的界面进行如下设置,如图 捕获1.PNG 3.点击“OK”,正式进入工程,如下图所示 捕获2.PNG 在左侧开始进行设置,本次主要的目的是配置usart1,led2个,加上freertos系统,所以选择如下图 捕获3.PNG 捕获4.PNG 捕获5.PNG USART1对应的IO 捕获6.PNG LED对应io如下 捕获7.PNG 系统时钟设置如下 捕获8.PNG 保存,生成keilv5工程 捕获9.PNG 打开工程,后 在main.c中增加虚拟串口功能 添加如下代码即可直接用printf打印调试信息,115200,8,1, #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF); return ch; } IO初始化 void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOJ_CLK_ENABLE(); __HAL_RCC_GPIOH_CLK_ENABLE(); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOJ, GPIO_PIN_13|GPIO_PIN_5, GPIO_PIN_RESET); /*Configure GPIO pins : PJ13 PJ5 */ GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_5; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOJ, &GPIO_InitStruct); } 串口1初始化 void MX_USART1_UART_Init(void) { huart1.Instance = USART1; huart1.Init.BaudRate = 115200; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.OverSampling = UART_OVERSAMPLING_16; huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; if (HAL_UART_Init(&huart1) != HAL_OK) { Error_Handler(); } } 初始化完成后,开始调用 /* StartDefaultTask function */ void StartDefaultTask(void const * argument) { /* USER CODE BEGIN StartDefaultTask */ /* Infinite loop */ for(;;) { counter++; switch(counter%2) { case 1: J5_ON; J13_OFF;printf("J5_ON\n");break; case 2: J5_OFF; J13_ON;printf("J13_ON\n");break; } osDelay(500); } /* USER CODE END StartDefaultTask */ } 就可以看见led在闪烁了 捕获10.PNG 今天进到这了 下次开始lwip的裸奔及加freertos系统 点击此处,查看STM32F769I开发板官方资源。 本帖最后由 star_66666 于 2016-12-16 00:53 编辑

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复