在程序中有时候会遇到一个变量前面加(void)的用法,如:
do {
__IO uint32_t tmpreg;
SET_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN);
tmpreg = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN);
(void)(tmpreg);
} while(0)
这只是一种防止编译器编译时报警告的用法。有些变量如果未曾使用,在编译时是会报错,从而有些导致编译不过,所以才会出现这种用法。而此语句在代码中没有具体意义,只是告诉编译器该变量已经使用了。