完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
//设置CH0=VIN6-VIN1 ADC_Write(CH0_INPUTCN, 0x31); //设置CH1=VIN1-VIN0 ADC_Write(CH1_INPUTCN, 0x08); //设置CH2=VIN6-VIN3 ADC_Write(CH2_INPUTCN, 0x32); //设置CH3=VIN3-VIN2 ADC_Write(CH3_INPUTCN, 0x1A); //设置CH4=VIN7-VIN5 ADC_Write(CH4_INPUTCN, 0x3D); //设置CH5=VIN5-VIN4 ADC_Write(CH5_INPUTCN, 0x2B); ADC_Write(CH0_CONFIG, 0x01); ADC_Write(CH1_CONFIG, 0x01); ADC_Write(CH2_CONFIG, 0x01); ADC_Write(CH3_CONFIG, 0x01); ADC_Write(CH4_CONFIG, 0x01); ADC_Write(CH5_CONFIG, 0x01); ADC_Write(BGCALCN, 0x02); //CH0-CH5 ADC_Write(CH_SCAN, 0xA8); //使用内部时钟,电流=1mA ADC_Write(ADC_AUXCN, 0x2A); float PT_100_J15(void){ uint16_t ADC_Convert[2] = {0}; float Temperature = 0, Resistance = 0; //CH0 delay_us(72); if(ADC_Read(ADC_DONE, 0x00) != 0xFF) { ADC_Convert[0] = ADC_Read_ADCOUT(); } //CH1 delay_us(72); if(ADC_Read(ADC_DONE, 0x00) != 0xFF) { ADC_Convert[1] = ADC_Read_ADCOUT(); } Resistance = ((ADC_Convert[0] - ADC_Convert[1]) * ( 3.0 / 32768)) * 1000.0; Temperature = 0.001 * pow(Resistance, 2) + 2.3625 * Resistance - 246.06; u1_printf("J15_Temperature:%frn", Temperature); }float PT_100_J16(void){ uint16_t ADC_Convert[2] = {0}; float Temperature = 0, Resistance = 0; //CH2 delay_us(72); if(ADC_Read(ADC_DONE, 0x00) != 0xFF) { ADC_Convert[0] = ADC_Read_ADCOUT(); } //CH3 delay_us(72); if(ADC_Read(ADC_DONE, 0x00) != 0xFF) { ADC_Convert[1] = ADC_Read_ADCOUT(); } Resistance = ((ADC_Convert[0] - ADC_Convert[1]) * ( 3.0 / 32768)) * 1000.0; Temperature = 0.001 * pow(Resistance, 2) + 2.3625 * Resistance - 246.06; u1_printf("J16_Temperature:%frn", Temperature); }float PT_100_J19(void){ uint16_t ADC_Convert[2] = {0}; float Temperature = 0, Resistance = 0; //CH4 delay_us(72); if(ADC_Read(ADC_DONE, 0x00) != 0xFF) { ADC_Convert[0] = ADC_Read_ADCOUT(); } //CH5 delay_us(72); if(ADC_Read(ADC_DONE, 0x00) != 0xFF) { ADC_Convert[1] = ADC_Read_ADCOUT(); } Resistance = ((ADC_Convert[0] - ADC_Convert[1]) * ( 3.0 / 32768)) * 1000.0; Temperature = 0.001 * pow(Resistance, 2) + 2.3625 * Resistance - 246.06; u1_printf("J19_Temperature:%frn", Temperature); } 当把PT100用三线制插在CH0和CH1的时候可以输出,把PT100插在CH2-CH5输出错误 |
|
相关推荐
1个回答
|
|
从您提供的代码片段来看,您正在配置一个ADC(模拟数字转换器)的通道。代码中设置了CH0、CH1、CH2和CH3的输入配置。您提到将PT100(一种温度传感器)插在CH2-CH5时输出错误,这可能是由以下几个原因造成的:
1. **通道配置错误**:您提供的代码只配置了CH0、CH1和CH2,没有配置CH3、CH4和CH5。如果PT100传感器被错误地连接到了这些未配置的通道,那么输出错误是预期的。 2. **硬件连接问题**:确保PT100传感器正确连接到了ADC的相应通道。检查是否有接触不良、短路或连接错误。 3. **代码逻辑问题**:如果PT100传感器应该连接到CH2,但代码中CH2的配置不正确或者与传感器不兼容,也会导致输出错误。 4. **ADC参数设置问题**:ADC的采样率、分辨率、参考电压等参数设置不正确,也可能导致错误的输出。 5. **传感器损坏**:如果PT100传感器本身存在问题,那么无论怎么配置,输出都会是错误的。 6. **电源问题**:确保ADC和PT100传感器都得到了正确的电源供应。 为了解决这个问题,您需要: - 确认PT100传感器连接到了正确的通道。 - 检查所有硬件连接是否正确无误。 - 确保ADC的配置参数与PT100传感器的要求相匹配。 - 如果可能,使用示波器或多用电表检查传感器的输出,以确认传感器是否正常工作。 - 检查代码中是否有其他逻辑错误,比如是否正确地读取了ADC值并进行了适当的处理。 如果您能提供更多关于硬件连接和代码的详细信息,我可能能给出更具体的建议。 |
|
|
|
只有小组成员才能发言,加入小组>>
334 浏览 1 评论
528 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
773 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
649 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1126 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
56浏览 29评论
126浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
251浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
200浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
56浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 22:15 , Processed in 0.826657 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号