偶然发现一个问题,ADC2读取转换值的代码如下:
while(ADC2_GetFlagStatus()==SET); //等待ADC转换结束
这个是不是有问题??
ADC2_GetFlagStatus()这个是stm8s的库函数,实现如下:
FlagStatus ADC2_GetFlagStatus(void)
{
/* Get EOC flag status */
return (FlagStatus)(ADC2->CSR & ADC2_CSR_EOC); //疑问??==>这个地方将uint8_t强制转换成了枚举类型!!但是最后转换完成,我打印出来的值并不是1,而是128!
}
typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus, BitStatus, BitAction;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>