gjxstc89c52 发表于 2024-10-3 17:02:59

channel在那里赋3的

各位大神,知道不知道,梁工的三相无刷电机驱动STC8H-带HALL这几句最下面的channel有赋值吗?如有在那里赋的值。
u16        Get_ADC10bitResult(u8 channel)        //channel = 0~15
{
        u8 i;
        ADC_RES = 0;//清转换结果寄存器高8位
        ADC_RESL = 0;//清转换结果寄存器低8位
        ADC_CONTR = 0x80 | ADC_START | channel; //打开ADC电源,启动ADC转换,指定通道P0.3(32脚1011值

soma 发表于 2024-10-3 17:44:52

这个要自己赋值的,ADC通道0-15

王昱顺 发表于 2024-10-3 18:30:42

是最后一句最右边的channel赋值的,来自于函数参数传入。
具体可以查找寄存器手册的ADC_CONTR项,bit0~bit3为通道配置选项

gjxstc89c52 发表于 2024-10-4 21:31:54

梁工的三相无刷电机驱动STC8H-带HALL这个程序,在那给ADC_CONTR寄存器的(0位,1位)置1的。那位高人讲下。谢了!!

王昱顺 发表于 2024-10-4 22:06:36

gjxstc89c52 发表于 2024-10-4 21:31
梁工的三相无刷电机驱动STC8H-带HALL这个程序,在那给ADC_CONTR寄存器的(0位,1位)置1的。那位高人讲下。 ...

数字3就是二进制0011
直接给contr寄存赋值
ADC_CONTR=|3;就可以了

gjxstc89c52 发表于 2024-10-7 13:53:59

                        YouMen= (u8)(Get_ADC10bitResult(11) >> 2);       

gjxstc89c52 发表于 2024-10-7 13:55:30

{:biggrin:}
页: [1]
查看完整版本: channel在那里赋3的