-
求助 HC32L136K8TK ADC 引脚,采集不到电压,无变化
/*******************************************************************************Copyright(C)2017,XiaohuaSemiconductorCo.,LtdAllrightsreserved.**此软件为小华半导体股份有限公司所有并发布。*/#include"adc.h"//ADC相关头文件#include"gpio.h"//GPIO相关头文件#include"bgr.h"//BGR(带隙基准)相关头文件#include"stdio.h"//标准输入输出(printf)#include"uart.h"//UART(串口)相关头文件#include"sysctrl.h"//系统控制相关头文件(时钟等)#defineVCC3.3f//供电电压//全局变量,用于存储ADC转换结果(声明为volatile,防止优化)volatileuint32_tu32AdcRestult0;//PC00volatileuint32_tu32AdcRestult1;//PC01//函数声明voidApp_AdcPortInit(void);//初始化ADC端口(GPIO)voidApp_AdcInit(void);//初始化ADC模块voidApp_AdcJqrCfg(void);//配置ADC队列扫描模式(JQR)voidApp_PortInit(void);//初始化UART端口(GPIO)voidApp_UartCfg(void);//配置UART模块floatConvertToVoltage(uint32_tsensorValue);//将ADC值转换为电压voiddelay_ms(uint32_tms);//简单的毫秒延时函数//主函数intmain(void){App_AdcPortInit();//初始化ADC端口App_AdcInit();//初始化ADC模块App_AdcJqrCfg();//配置ADC队列扫描App_PortInit();//初始化UART端口App_UartCfg();//配置UART模块__enable_irq();//使能全局中断while(1){Adc_JQR_Start();//启动ADC队列扫描转换delay_ms(500);//延时500毫秒floatvoltage0=ConvertToVoltage(u32AdcRestult0);//转换通道0电压(PC00)floatvoltage1=ConvertToVoltage(u32AdcRestult1);//转换通道1电压(PC01)//打印ADC值和对应的电压值printf("ADCChannel0(PC00):%lu->Voltage:%.3fV\n",u32AdcRestult0,voltage0);printf("ADCChannel1(PC01):%lu->Voltage:%.3fV\n",u32AdcRestult1,voltage1);}}//ADC中断处理函数voidAdc_IRQHandler(void){if(TRUE==Adc_GetIrqStatus(AdcMskI
2025-02-11 1