你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

使用RT-Thread Studio创建STM32F107项目工程

[复制链接]
TLLED 发布时间:2022-1-15 16:41

这篇文章是记录rt-thread项目创建过程,根据自己的开发板来创建项目工程文件。具体的过程如下:

一、创建项目工程文件

这个根据自己开发板的硬件来选择创建项目的方式,我自己的板子和RT-Thread例程里面STM32F107的板子硬件环境比较接近,就使用现有的板子例程来创建工程,这个过程会简单些。

1.1、基于开发板的方式创建工程项目文件

001.png

002.png

1.2、修改例程

项目工程创建好后,在main.c中有驱动LED灯的例程。

003.png

这里使用的是PD13端口驱动LED,我的板子是使用PC5驱动LED,在这里修改下端口,编译、下载后程序运行,创建的项目是可运行的。

二、修改打印端口

创建的例程使用的是串口2,我的板子是串口1,需要将串口修改为串口1。

2.1、选择CubeMX来配置串口引脚

499.png

2.2、选择串口

选择串口1

500.png

2.3、修改串口K配置文件

修改board下的Kconfig文件

510.png

修改完成后,使用env工具来配置串口

2.4、env软件配置串口

在项目工程的文件下,打开env工具

501.png

执行menuconfig命令,来选择串口1,去掉串口2

502.png

507.png

2.5、修改串口端口配置文件

2.5.1、在stm32f1xx_hal_msp.c 文件中增加下面内容

600.png

/**
* @brief UART MSP Initialization
* This function configures the hardware resources used in this example
* @param huart: UART handle pointer
* @retval None
*/
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
{

  GPIO_InitTypeDef GPIO_InitStruct = {0};
  if(huart->Instance==USART2)
  {
  /* USER CODE BEGIN USART2_MspInit 0 */

  /* USER CODE END USART2_MspInit 0 */
    /* Peripheral clock enable */
    __HAL_RCC_USART2_CLK_ENABLE();

    __HAL_RCC_GPIOD_CLK_ENABLE();
    /**USART2 GPIO Configuration  
    PD5     ------> USART2_TX
    PD6     ------> USART2_RX 
    */
    GPIO_InitStruct.Pin = GPIO_PIN_5;
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
    HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);

    GPIO_InitStruct.Pin = GPIO_PIN_6;
    GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);

    __HAL_AFIO_REMAP_USART2_ENABLE();

    /* USART2 interrupt Init */
    HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
    HAL_NVIC_EnableIRQ(USART2_IRQn);
  /* USER CODE BEGIN USART2_MspInit 1 */

  /* USER CODE END USART2_MspInit 1 */
  }
  if(huart->Instance==USART1)
  {

    /* Peripheral clock enable */
    __HAL_RCC_USART1_CLK_ENABLE();

    __HAL_RCC_GPIOA_CLK_ENABLE();
    /**USART1 GPIO Configuration
    PA9     ------> USART1_TX
    PA10    ------> USART1_RX
    */
    GPIO_InitStruct.Pin = GPIO_PIN_9;
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

    GPIO_InitStruct.Pin = GPIO_PIN_10;
    GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

    __HAL_AFIO_REMAP_USART1_DISABLE();

    /* USART1 interrupt Init */
    HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
    HAL_NVIC_EnableIRQ(USART1_IRQn);
  }

}

2.5.2、修改rtconfig.h

将打印串口设置为uart1

601.png

三、程序运行

下载程序后,复位板卡,串口输出内容:

602.png

程序运行正常。

收藏 评论0 发布时间:2022-1-15 16:41

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版