python和c#函数中结果的差异
我正在用C#/Mono和Python玩树莓Pi。我目前正在将一些代码从Python转换为C#,返回的值不同 当调整电位计并重复对这些函数进行采样时,我在Python中得到0-1023,在C#中得到0-2047 是什么造成了这种差异?我对Python非常陌生 在python中,此函数生成0到1023之间的值(调整电位计时)python和c#函数中结果的差异,c#,python,raspberry-pi,C#,Python,Raspberry Pi,我正在用C#/Mono和Python玩树莓Pi。我目前正在将一些代码从Python转换为C#,返回的值不同 当调整电位计并重复对这些函数进行采样时,我在Python中得到0-1023,在C#中得到0-2047 是什么造成了这种差异?我对Python非常陌生 在python中,此函数生成0到1023之间的值(调整电位计时) def readadc(adcnum、时钟引脚、mosipin、misopin、cspin): 如果((adcnum>7)或(adcnum
def readadc(adcnum、时钟引脚、mosipin、misopin、cspin):
如果((adcnum>7)或(adcnum<0)):
返回-1
GPIO.output(cspin,True)
GPIO.输出(时钟引脚,假)#启动时钟低
GPIO.output(cspin,False)#使CS变低
commandout=adcnum
命令输出|=0x18#起始位+单端位
commandout在Python实现的末尾,您正在转换一点分辨率:
adcout >>= 1 # first bit is 'null' so drop it
return adcout
C#实现中不存在相同的代码:
return adcout;
右移一位相当于除以二。因此,C#版本将返回两倍高的值是有道理的。Doh!令人惊讶的是,第二双眼睛会做什么。谢谢
adcout >>= 1 # first bit is 'null' so drop it
return adcout
return adcout;