刚入手原子哥的mini板 现在在看中断的部分 看到中断函数里面有这么一句
if(EXTI_GetITStatus(EXTI_Line0)!=RESET) //检查指定的EXTI0线路触发请求发生与否
然后觉得是不是可以换一种写法 go to definition后看到这么一段函数
ITStatus EXTI_GetITStatus(uint32_t EXTI_Line)
{
ITStatus bitstatus = RESET;
uint32_t enablestatus = 0;
/* Check the parameters */
assert_param(IS_GET_EXTI_LINE(EXTI_Line));
enablestatus = EXTI->IMR & EXTI_Line;
if (((EXTI->  R & EXTI_Line) != (uint32_t)RESET) && (enablestatus != (uint32_t)RESET))
{
bitstatus = SET;
}
else
{
bitstatus = RESET;
}
return bitstatus;
}
看到这个函数bitstaatus返回有两种 一个是reset 一个是set 而且reset=!set
于是我把if(EXTI_GetITStatus(EXTI_Line0)!=RESET)改成if(EXTI_GetITStatus(EXTI_Line0)=set)
结果报错了..............\HARDWARE\EXTI\exti.c(88): error: #137: expression must be a modifiable lvalue
不知道为什么会这样 请原子哥和论坛各位高手指教一二!
|