wsdymg 发表于 2018-4-27 00:06
1.问题中的数据处理是指把AD值转换成电压。
采集不同范围电压,都需要将采样值放大到合适量程,比如你 ...
十分感谢你的回复~~其实单片机编程学了挺久了.....说来也很惭愧,以前编程都是用例程拼凑出来的,真正懂了的少之又少。 看了你的回答,还有几个问题想请教一下:
1.ADC采样前端我做了放大滤波的硬件电路,-3dB的带宽是30HZ左右,但是如果输入电压频率越大,输出的电压放大倍数会变小,会产生挺大的误差的,我听说需要在程序里面添加软件补偿来减小误差。但是具体软件补偿是只需要通过放大倍数计算还是需要加入传递函数来计算。
2.需要的模块都单独调试成功了的,但是组合起来的时候就会卡死在某些功能函数的while循环中,有什么在ucos-iii系统下的组合技巧么?
3.按键任务如果放在一个任务中是通过按键扫描的形式还是按键中断的模式呢?按键扫描模式对系统的实时性会有影响么?如果是按键中断模式的话,我看了ucos-iii的中断例程,它是在中断服务函数中发送中断信号到相应任务里面去执行中断任务的,是否使用外部中断的形式就必须通过传输中断信号的形式来执行任务?
4.电压的采集与显示曲线这一块,按流程来说应该是先采集数据,再显示曲线,这两个语句是应该写在一个任务中是么?
5.读取DMA的传输标志位,判断数据是否传输完毕这一个块重要么?程序里面加入了这一块就会卡死。