完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,ADC P2.0对地短接就变成0,其它时间ADC采集到的ADC值一直是2048,我是用官网提供的历程
/*---------------------------------------------------------------------------------------------------------*/ /* */ /* Copyright(c) 2019 Nuvoton Technology Corp. All rights reserved. */ /* */ /*---------------------------------------------------------------------------------------------------------*/ //*********************************************************************************************************** // Website: http://www.nuvoton.com // E-Mail : //*********************************************************************************************************** //*********************************************************************************************************** // File Function: ML51 series ADC software trigger on shot demo code //*********************************************************************************************************** #include "ML51.h" unsigned int ADCRESULT; /****************************************************************************** * FUNCTION_PURPOSE: ADC interrupt Service Routine ******************************************************************************/ void ADC_ISR (void) interrupt 11 { clr_ADCCON0_ADCF; //clear ADC interrupt flag printf ("ADCRH = 0x%BX ",ADCRH); //include uart.c before use printf function. printf ("ADCRL = 0x%BX \n ",ADCRL); //include uart.c before use printf function. } /****************************************************************************** The main C function. Program execution starts here after stack initialization. ******************************************************************************/ void main () { /* For UART0 P0.5 TXD output setting * include gipo.c in Library for GPIO mode setting * include uart.c in Library Setting for UART0 */ MFP_P31_UART0_TXD; // UART0 TXD use P0.5 P31_QUASI_MODE; // set P0.5 as Quasi mode for UART0 trasnfer UART_Open(24000000,UART0_Timer3,115200); // Open UART0 use timer1 as baudrate generate and baud rate = 115200 ENABLE_UART0_PRINTF; /* ADCS to trig ADC convert * include adc.c in Library for ADC initial setting */ ADC_Open(ADC_SINGLE,5); //Enable ADC_CH4 ADC_ConvertTime(2,7); ADC_Interrupt(Enable,ADC_INT_SINGLE); //Enable ADC interrupt ENABLE_GLOBAL_INTERRUPT; // Enable global interrupt /* find ADC result in ADC interrupt*/ while(1) { set_ADCCON0_ADCS; // Software trig adc start Timer0_Delay(24000000,100,1000); ADCRESULT = (ADCRH<<4)+ADCRL; } }//ADCRESULT这个值一直是2048 ADC P2.0对地短接就变成0,其它时间ADC采集到的ADC值一直是2048,我是用官网提供的历程?? 其他时间是接哪儿了? |
|
相关推荐
1个回答
|
|
在ADC P2.0对地短接时,ADC的输入被短路,因而采集到的值为0。而在其它时间,ADC采集到的值一直是2048,这很可能是因为ADC精度为12位,即2的12次方等于4096,而2048为4096的一半,可能是由于输入电压与参考电压相等(即电压为参考电压的一半)时所产生的值。也有可能是其他因素导致的,需要进一步分析程序和硬件环境来确定具体原因。
|
|
|
|
只有小组成员才能发言,加入小组>>
772 浏览 0 评论
1148 浏览 1 评论
2527 浏览 5 评论
2858 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2709 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1064浏览 3评论
190浏览 2评论
453浏览 2评论
366浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
453浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 21:38 , Processed in 0.910668 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号