1、2、3三个电压读取通道,
写入0xXX70XX,使能AIN1-AINCOM,AIN2-AINCOM,AIN3-AINCOM.
但是通道1、2、3读取顺序无法控制,上电后第一次读取顺序是1、2、3,后面再读取时就变成2、3、1或者3、1、2..............了
/ 初始 ADC , 选择频道 1
无效 init_adc( 无效)
{
ADC_WR_ 8Byte( 0x08); // 与该部分的所有
通信都必须从通信登记册的写作操作开始, 将下一次操作设为模式登记册的写作
ADC_WR_24Byte( 0x00018); // write 模式登记 / * - 选择外部时钟 - * /
ADC_WR_ 8Byte( 0x10) ; // 与该部分的所有通信都必须从通信登记册的写作操作开始, 将下一个操作设为配置登记册的写作
ADC_WR_24Byte( 0x7008);////write配置登记册/*-选择 AI1-AICOM,单极-*-
ADC_WR_ 8Byte( 0x5C); / / 持续读取数据
/ GPIO_ 重置封口( GPIOC, GPIO_ Pin_ 1);//din=0
}
if(string_point==5)//"WM"
{ { {
nvic_disableirq(usart1_irqn); (usart1_irqn) ; nvic_disableirq(usart1_irqn) ;
如果(挂牌)
{ { {
init_adc () ;
延迟(0x00100);
for(i=0;i<50;i++)
{ { {
rev_v[i*3] = get_adc(); //读取电压值
rev_v[i*3+1] = get_adc(); //读取电压值
rev_v[i*3+2] = get_adc(); //读取电压值
时 时
for(i=0;i<150;i++)
printf("%frn",rev_v
);
时 时
}
flat_adc( 避免)
{
5int8_t adc_res[3]_0};
32_t conv; 32_t conv; 32_t conv; 32_t conv; 32_t conv; 32_t conv; 32_t conv; 32_t conv; 32_t conv; 32_t conv; 32_t conv; 32_t conv; 32_t conv; 32_t conv;
浮动温度;
(GPIO_ReadInputDataBit (GPIOC, GPIO_Pin_0) = 1); / 等待转换
adc_rd_24byte( 3, adc_ res); adc_rd_ 24byte( 3, adc_ res);
conv = (adc_res[0] << 16)+(adc_res[1] << 8)+adc_res[2];
temp = (float)conv*0.000244140625/*(4096>>24)*/;
温度 = ym*4.1/4096;
返回时间;
}