早教吧 育儿知识 作业答案 考试题库 百科 知识分享

stc12c5a60s2中ADC转换的c语言问题以下是一段利用单片机(stc12c5a60s2)内部自带模数转换功能进行的模数转换函数BYTEGetADCResult(BYTEch){ADCCONTR=ADCPOWER|ADCSPEEDLL|ch|ADCSTART;nop();//Mustwaitbef

题目详情
stc12c5a60s2中ADC转换的c语言问题
以下是一段利用单片机(stc12c5a60s2)内部自带模数转换功能进行的模数转换函数
BYTE GetADCResult(BYTE ch)
{
ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;
_nop_(); //Must wait before inquiry
_nop_();
_nop_();
_nop_();
while (ADC_CONTR & ADC_FLAG)); //Wait complete flag
ADC_CONTR &= ADC_FLAG; //Close ADC
return ADC_RES; //Return ADC result
}
这段话在keil编译的时候显示在 ADC_CONTR=ADC_POWER | ADC_SPEEDLL | ch | ADC_START;出现了两个错误syntax error near“|”.在 while (ADC_CONTR & ADC_FLAG));也是如此,请问高手这是怎么回事?
▼优质解答
答案和解析
ADC_CONTR、ADC_POWER 、ADC_SPEEDLL 等,是宏定义.你需要在你的.c文件中添加相关的头文件.