尽量说明白一点!谢谢
uchar num[10]={'0','1','2','3','4','5','6','7','8','9'};
定义了字符串,然后后面
senddata(num[adc_result/1000]);
senddata(num[adc_result%1000/100]);
senddata(num[adc_result%100/10]);
senddata(num[adc_result%10]);
adc_result是一个10位二进制数。我不明白的是这四句函数计算出来的值是多少,以及怎么计算的。请举例说明一下,就比如adc_result是1111111111,然后就算出来是什么。万分感谢!
10位的二进制数,最大是2的10次方,也就是1024。
这个代码其实没有太大必要这么做。功能是将数字转换为对应的字符。比如 1转换为'1'
可以不用num数组,改为
senddata(adc_result/1000+'0');就可以了
这里你只要知道了除法和求余就可以理解了
把这两个知识点套进你的例子 1111111111中就得到了