hehung
获得 334 次赞
帮助过788人
C语言的随机数本来就是一个伪随机数,是需要随机数种子的,一般开发的时候都用系统时间为随机数种子,因为时间是会随时变化的,但是如果你用单片机开发的话,就没有时间可以提供,这样的话你可以使用一个不接外设的空ADC,因为会有随机信号,可以把这个信号作为随机数种子产生时间,
汇编虽然可以提高单片机的运行速度,但是汇编的缺点很明显,就是代码编写困难,阅读困难,维护困难,并且不同的单片机的汇编语法还不一样需要对应的而汇编手册。C语言开发可以提高开发效率,移植性,并且方便阅读
其实没有太看懂你的问题,但是根据你的说话,我猜测你的问题是:你不知道怎么确定这三十次ADC采样的值。可以这样设计,用一个长度为30的数据保存采样值。然后使用一个标志位确定采样的次数,每采样一次标志位就+1.然后把采集的数据放到数组中,数组下标就用这个采样次数标志位就行了。当采样次数为30次之后,就可以开始计算了,找出数组中最大的5个和最小的5个们可以使用排序算法先排序,然后去去掉钱5个数和后5个数就行了,中间的数相加取平均就ok了,但是不要忘了把标志位清零,然后再循环操作就可以了
c语言不支持函数名相同的,c++是支持的,你需要更改其中一个delay函数的名字,改成delay_3X()就可以了,需要调用上面那个就使用delay_3x()调用就行了