CubeMX RTOS Demo

CubeMX RTOS Demo

CubeMX创建工程

1.file ->> new project
在这里插入图片描述

2.选择对应的芯片,start project
在这里插入图片描述

3.配置需要的pin,配置时钟,并添加MiddleWare;这里添加的有gpio,uart,rcc,sys

其中的rcc是配置stm32的时钟,sys是配置jtag的,如果不配置,默认是关闭的
在这里插入图片描述
然后配置时钟为72MHz
在这里插入图片描述

4.配置工程,这里会配置工程目录的一些东西
在这里插入图片描述

5,点击 generate code,就可以创建工程了
在这里插入图片描述

增加串口打印(printf)

上面的工程里面我们已经添加了uart的硬件,现在需要重定向fputc函数到uart1上,在usart.c中添加下面的代码

/* USER CODE BEGIN 1 */
struct __FILE 
{ 
	int handle; 
	/* Whatever you require here. If the only file you are using is */ 
	/* standard output using printf() for debugging, no file handling */ 
	/* is required. */ 
}; 

FILE __stdout;   

//重定向fputc函数
int fputc(int ch, FILE *f)
{      
	HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);
	return ch;
}

int fgetc(FILE *f)
{
  uint8_t ch = 0;
  HAL_UART_Receive(&huart1, &ch, 1, 0xffff);
  return ch;
}

/* USER CODE END 1 */

并在usart.h和freertos.c中添加头文件

/* USER CODE BEGIN Includes */
#include <stdio.h>
/* USER CODE END Includes */

然后在默认的task中,加入printf测试一下

/* USER CODE END Header_StartDefaultTask */
void StartDefaultTask(void *argument)
{
  /* USER CODE BEGIN StartDefaultTask */
  /* Infinite loop */
  for(;;)
  {
    HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_5);
    printf("hello cubemx rtos\r\n");
    osDelay(100);
  }
  /* USER CODE END StartDefaultTask */
}

就可以在串口助手上看到有对应的log输出了,并且板子上的led会每隔100ms闪烁一次
在这里插入图片描述

对应的代码在这里:cubeMX_RTOS_Demo

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值