RT-Thread studio如何选择使能hal库外设

这篇博客介绍了如何在STM32的HAL驱动中启用特定的硬件模块。通过在stm32f1xx_hal_conf.h文件中取消注释对应模块的宏定义,例如HAL_GPIO_MODULE_ENABLED,可以开启GPIO模块。HAL_MODULE_ENABLED作为总开关,其他如HAL_RCC_MODULE_ENABLED、HAL_GPIO_MODULE_ENABLED等用于特定外设的支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Driver文件夹里面stm32f1xx_hal_conf.h里面

/* ########################## Module Selection ############################## */
/**
  * @brief This is the list of modules to be used in the HAL driver 
  */
  
#define HAL_MODULE_ENABLED  
/*#define HAL_ADC_MODULE_ENABLED   */
/*#define HAL_CRYP_MODULE_ENABLED   */
/*#define HAL_CAN_MODULE_ENABLED   */
/*#define HAL_CEC_MODULE_ENABLED   */
/*#define HAL_CORTEX_MODULE_ENABLED   */
/*#define HAL_CRC_MODULE_ENABLED   */
/*#define HAL_DAC_MODULE_ENABLED   */
/*#define HAL_DMA_MODULE_ENABLED   */
/*#define HAL_ETH_MODULE_ENABLED   */
/*#define HAL_FLASH_MODULE_ENABLED   */
#define HAL_GPIO_MODULE_ENABLED
/*#define HAL_I2C_MODULE_ENABLED   */
/*#define HAL_I2S_MODULE_ENABLED   */
/*#define HAL_IRDA_MODULE_ENABLED   */
/*#define HAL_IWDG_MODULE_ENABLED   */
/*#define HAL_NOR_MODULE_ENABLED   */
/*#define HAL_NAND_MODULE_ENABLED   */
/*#define HAL_PCCARD_MODULE_ENABLED   */
/*#define HAL_PCD_MODULE_ENABLED   */
/*#define HAL_HCD_MODULE_ENABLED   */
/*#define HAL_PWR_MODULE_ENABLED   */
/*#define HAL_RCC_MODULE_ENABLED   */
/*#define HAL_RTC_MODULE_ENABLED   */
/*#define HAL_SD_MODULE_ENABLED   */
/*#define HAL_MMC_MODULE_ENABLED   */
/*#define HAL_SDRAM_MODULE_ENABLED   */
/*#define HAL_SMARTCARD_MODULE_ENABLED   */
/*#define HAL_SPI_MODULE_ENABLED   */
/*#define HAL_SRAM_MODULE_ENABLED   */
/*#define HAL_TIM_MODULE_ENABLED   */
#define HAL_UART_MODULE_ENABLED
/*#define HAL_USART_MODULE_ENABLED   */
/*#define HAL_WWDG_MODULE_ENABLED   */
/*#define HAL_EXTI_MODULE_ENABLED   */

#define HAL_CORTEX_MODULE_ENABLED
#define HAL_DMA_MODULE_ENABLED
#define HAL_FLASH_MODULE_ENABLED
#define HAL_GPIO_MODULE_ENABLED
#define HAL_PWR_MODULE_ENABLED
#define HAL_RCC_MODULE_ENABLED

#define HAL_MODULE_ENABLED 为总开关

后面的外设用到那个就把注释去掉即可。

### RT-Thread Studio 中 USART 的配置与使用 #### 项目初始化设置 为了在RT-Thread Studio中成功配置并使用USART,首先要确保开发环境已经按照官方文档进行了正确安装和配置。对于特定硬件的支持,如STM32系列微控制器,可以通过集成的CubeMX工具来简化外设配置过程[^2]。 #### UART DMA支持启用 针对USART的具体配置,特别是当涉及到数据流较大或者实时性要求较高的场景下,推荐开启DMA(直接存储器访问)功能以提高效率。具体操作是在项目的配置工具里面,通过导航到“组件”标签页下的“设备”,接着展开“STM32 HAL”的节点找到对应的UART项,并勾选其中的“DMA 支持”选项[^3]。 #### 实现基本通信功能 实现简单的串行通讯可以采用中断接收配合查询方式发送的方法。例如,在基于STM32F103芯片的应用实例中,用户能够借助RT-Thread提供的API轻松完成UART2接口的基础设定,从而实现在该端口上的字符读写操作[^4]。 ```c #include <rtthread.h> #include "board.h" int main(void) { /* 初始化 */ rt_hw_usart_init(); while (1) { char ch; // 接收单个字节的数据 if(rt_device_read(uart2, -1, &ch, 1) == 1){ // 发送接收到的数据回显给终端 rt_device_write(uart2, 0, &ch, 1); } } return RT_EOK; } ``` 上述代码展示了如何利用RT-Thread框架快速搭建起一个简易的回声服务器程序,它会将从指定串口接收到的信息原样返回给发送方。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值