智能车制作
标题:
dac实验adc检测时,串口显示会有50的误差,这怎么解释啊
[打印本页]
作者:
回忆的沙漏
时间:
2013-11-11 14:44
标题:
dac实验adc检测时,串口显示会有50的误差,这怎么解释啊
看野火三天入门 dac实验adc检测时,串口显示会有50的误差,这怎么解释啊
void main(void)
47. {
48. u16 i=0;
49. u16 ADresult;
50. u8 com=0;
51.
52. dac_once_init(DAC0,VDDA); //初始化DAC0
53.
54. adc_init(ADC0,SE14); //初始化ADC0_SE14 ,从adc.h里的表格就可以看到ADC0_SE14对应为PTC0
55.
56. while(1)
57. {
58. printf("\n请发送 '+' 或 '-' 来控制电压增减。发送其他则保存不变");
59. com = uart_getchar(FIRE_PORT); //等待串口命令
60.
61. switch(com) //通过串口来控制
62. {
63. case '+':i+=500;break;
64. case '-':i-=500;break;
65. default:break;
66. }
67.
68. if(i>=0x1000) i=0; //12bit
69.
70. dac_once_convert(DAC0,i); //DAC转换
71. printf("\nDAC转换的值为:%d",i); //串口打印转换值
72.
73. ADresult = ad_once(ADC0,SE14,ADC_12bit); //读取 ADC0_SE14 ,12位精度
74. printf("\n读取到ADC值为:%d \n",ADresult); //串口打印转换值
75. }
76. }
为什么会约50的误差? 这怎么解释啊
作者:
CRFX
时间:
2014-8-5 14:45
同求! 找到了吗?
作者:
天翊
时间:
2014-8-5 16:26
作者:
horizon_z40
时间:
2014-8-5 16:39
12位模式,50的误差也正常。。并不是那么精确的
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2