小编Lpa*_*son的帖子

STM32臃肿还是神学?

我并不是想发起一场 HAL 圣战,我很好奇这段代码是否具有更高的功能。

\n

在 STM32 设备上使用 GPIO 时,您需要使用 启用 GPIO 时钟__HAL_RCC_GPIOA_CLK_ENABLE()。进一步深入研究代码,我发现该函数到底在做什么,如下所示。据我所知,该代码唯一有用的部分是SET_BIT(RCC->IOPENR, RCC_IOPENR_GPIOAEN);,其余部分似乎毫无用处。

\n

我明白为什么 __IO uint32_t tmpreg;并且UNUSED(tmpreg);可以使用,但是这条线并tmpreg = READ_BIT(RCC->IOPENR, RCC_IOPENR_GPIOAEN);没有真正做任何事情,所以这三个看起来毫无意义。我错过了什么吗?

\n
#define __HAL_RCC_GPIOA_CLK_ENABLE() \xc2\xa0\\ \n    do { \\\n    __IO uint32_t tmpreg; \\\n\xc2\xa0 \xc2\xa0 SET_BIT(RCC->IOPENR, RCC_IOPENR_GPIOAEN);\\ \n\xc2\xa0 \xc2\xa0 tmpreg = READ_BIT(RCC->IOPENR, RCC_IOPENR_GPIOAEN);\\\n\xc2\xa0 \xc2\xa0 UNUSED(tmpreg); \\\n\xc2\xa0 \xc2\xa0 } while(0)\n
Run Code Online (Sandbox Code Playgroud)\n

设置位

\n
#define SET_BIT(REG, BIT) \xc2\xa0 \xc2\xa0 ((REG) |= (BIT))\n
Run Code Online (Sandbox Code Playgroud)\n

读位

\n
#define READ_BIT(REG, BIT) \xc2\xa0 \xc2\xa0((REG) & (BIT))\n
Run Code Online (Sandbox Code Playgroud)\n

没用过 …

c embedded stm32

4
推荐指数
1
解决办法
272
查看次数

如何查找名称可能超过预期名称的文件?

我正在做一些测试,我有很多文件需要进行数据分析.我们的文件有一个命名约定,但有时会有人添加一些文件名.我正在寻找一种方法来寻找名称的"核心",然后保存整个文件名.

例如,我想找WIRA_Rabcd_RT,但有人可能已将文件名保存为RED_GREEN_BLUE_WIRA_Rabcd_RT.txt,所以我的文件夹看起来像这样:

RED_GREEN_BLUE_WIRB_Rabcd_RT.txt
RED_GREEN_BLUE_WIRC_Rabcd_RT.txt
RED_GREEN_BLUE_WIRA_Rabcd_RT.txt ? I want to find this file, and open it.
RED_GREEN_BLUE_WIRF_Rabcd_RT.txt
RED_GREEN_BLUE_WIRG_Rabcd_RT.txt
RED_GREEN_BLUE_WIRT_Rabcd_RT.txt
RED_GREEN_BLUE_WIRW_Rabcd_RT.txt
RED_GREEN_BLUE_WIRQ_Rabcd_RT.txt
Run Code Online (Sandbox Code Playgroud)

regex perl search file

3
推荐指数
1
解决办法
110
查看次数

标签 统计

c ×1

embedded ×1

file ×1

perl ×1

regex ×1

search ×1

stm32 ×1