当前位置: 首页 > news >正文

CH572ADC采集供电电压

前言:

该方法可以采集给到芯片供电引脚的电压,代码配置模式,需要配置CMP_N为CMP_VERF。

CMP_Init( cmp_sw_3, cmp_nref_level_800 );// CMP_P0(PA7),CMP_N(CMP_VERF)
 
计算公式:1023/采集值 = V供/800mv //800mv是比较器负端参考电平
可以计算出V供值,即供电电压。
image

代码:

基于peripheral例程添加ADC采集供电电压,并通过蓝牙将数据发送出来。

uint16_t adc_data[4] = {0,0,0,0};
char adc_data_str[20];
char adc_data_str1[20];/********************************************************************** @fn      ADC_8bit_Sample** @brief   PWM模拟8位ADC采样,采样脚(PA2)采样范围(0 ~ (VDD-800)mV)** @return  采样值,对应电压的计算公式为:(采样值*VDD/512)*/
uint32_t ADC_8bit_Sample()
{uint32_t vref=0;uint32_t cmp_count=1;/* 配置GPIO */GPIOA_ModeCfg(GPIO_Pin_4, GPIO_ModeOut_PP_5mA);  // PA4 - PWM4
    PWM_16bit_CycleDisable();PWMX_CLKCfg(1);                                  // cycle = Fsys
    PWMX_CycleCfg(PWMX_Cycle_256);CMP_Init( cmp_sw_3, cmp_nref_level_800 );// CMP_P0(PA7),CMP_N(PA2)
    CMP_Enable();vref = 128;while(1){uint8_t cmp_out=0;uint8_t cmp_out_1ast=0;PWMX_ACTOUT(CH_PWM4, vref, High_Level, ENABLE);DelayUs(760);cmp_out_1ast = CMP_ReadAPROut();while(1){DelayUs(20);cmp_out = CMP_ReadAPROut();if(cmp_out == cmp_out_1ast){break;}cmp_out_1ast = cmp_out;}if(cmp_count==128){if (cmp_out){return (vref*2-1);}else{return (vref*2+1);}}else{cmp_count<<=1;if (cmp_out){vref -= 128/cmp_count;}else{vref += 128/cmp_count;}}}
}uint32_t ADC_9bit_Sample()
{uint32_t vref=0;uint32_t cmp_count=1;/* 配置GPIO */GPIOA_ModeCfg(GPIO_Pin_4, GPIO_ModeOut_PP_5mA);  // PA4 - PWM4PWMX_CLKCfg(1);                                  // cycle = FsysPWM_16bit_CycleEnable();                          // 16位宽使能PWMX_16bit_CycleCfg(CH_PWM4, 512);           // 16 数据宽度时的PWM时钟周期CMP_Init( cmp_sw_3, cmp_nref_level_800 );// CMP_P0(PA7),CMP_N(PA2)
    CMP_Enable();vref = 256;while(1){uint8_t cmp_out=0;uint8_t cmp_out_1ast=0;PWMX_16bit_ACTOUT(CH_PWM4, vref, High_Level, ENABLE);DelayUs(230);cmp_out_1ast = CMP_ReadAPROut();while(1){DelayUs(20);cmp_out = CMP_ReadAPROut();if(cmp_out == cmp_out_1ast){break;}cmp_out_1ast = cmp_out;}if(cmp_count==256){if (cmp_out){return (vref*2-1);}else{return (vref*2+1);}}else{cmp_count<<=1;if (cmp_out){vref -= 256/cmp_count;}else{vref += 256/cmp_count;}}}
}if(events & ADC_CAP_EVT)    //周期采集
{adc_data[0] = 511*800/ADC_8bit_Sample();    //计算公式:1023/采集值 = V供/800mv //800mv是比较器负端参考电平 //此处实际采集是9bitadc_data[1] = 1023*800/ADC_9bit_Sample();   //此处实际采集是10bitPRINT ("ADC_8bit_Sample %d, %dmv\n",ADC_8bit_Sample(),adc_data[0]);PRINT ("ADC_9bit_Sample %d, %dmv\n",ADC_9bit_Sample(),adc_data[1]);tmos_start_task(Peripheral_TaskID, ADC_CAP_EVT, 800);return (events ^ ADC_CAP_EVT);
}static void performPeriodicTask(void)    //蓝牙发送数据
{sprintf(adc_data_str, "%d", adc_data[0]);sprintf(adc_data_str1, "%d", adc_data[1]);uint8_t notiData[SIMPLEPROFILE_CHAR4_LEN] = {   adc_data_str[0],adc_data_str[1],adc_data_str[2],adc_data_str[3],',',adc_data_str1[0],adc_data_str1[1],adc_data_str1[2],adc_data_str1[3],'/','/','/'};adc_data[0] = 0;adc_data[1] = 0;peripheralChar4Notify(notiData, SIMPLEPROFILE_CHAR4_LEN);
}

采集值:

image

通过char4 noti方式将采集值发送出来,如图是2477/2472mv,分别用的9bit/10bit。

可以用打印观察,但是如果供电电压较低,串口工具可能不工作,因此建议用蓝牙的方式将日志发送出来。

http://www.jsqmd.com/news/360340/

相关文章:

  • 浮点数float32
  • 可持久化 Trie
  • SHP数据修复
  • 清华解聘50岁副教授,“非升即走”引热议!
  • 吐血推荐!降AI率软件 千笔 VS speedai,自考党必备神器!
  • 结合这段代码“对象属性变化自动同步到CSV(本地文件)”的核心特性,除了WinForm .NET 4.8界面开发,以下这些场景也非常适配,且能最大化发挥其价值:
  • 必应壁纸图片缓存路径
  • 摆脱论文困扰! 降AI率平台 千笔·降AI率助手 VS 文途AI,MBA专属首选
  • 论文开题季降AI工具实测:10款主流工具对比与选择指南 - 老米_专讲AIGC率
  • 对比一圈后!风靡全网的AI论文工具 —— 千笔·专业论文写作工具
  • 瑞祥商联卡回收平台哪个好?帮你找到最划算的选择! - 团团收购物卡回收
  • 一站式管理!新一代大模型网关神器!
  • 2026年口碑好的COD水质分析仪,在线水质分析仪厂家选购参考名录 - 品牌鉴赏师
  • 协方差矩阵自适应进化策略(CMA-ES)详解:从基础原理到优化算法
  • 一个生成图片的网址
  • 瑞祥商联卡回收平台正规吗?避开骗局看这篇就够了 - 团团收购物卡回收
  • 2026.02.09
  • 建议收藏|专科生专用AI论文工具 —— 千笔写作工具
  • 构建工业级图像分割组件:从模块化设计到高效部署
  • 文化算法(CA)详解:从文化进化到全局优化
  • 一套基于 Redis 分桶 + DB 明细驱动的强一致性库存扣减方案,实现零超卖、零少卖,支持 Redis 宕机自动降级
  • 瑞祥商联卡折现攻略:教你如何找到高价回收平台 - 团团收购物卡回收
  • AI写论文大比拼!4款AI论文生成神器,谁能成为你的写作首选?
  • 基于Java+Springboot+Vue开发的医院门诊预约挂号系统源码+运行步骤+计算机科学与技术
  • 瑞祥商联卡去哪回收?精选高信誉平台识别之道 - 团团收购物卡回收
  • AI写论文秘籍,4款AI论文写作工具助你轻松完成毕业论文!
  • 深度评测:主流图生视频软件服务商核心能力对比
  • AI写论文的宝藏工具!4款AI论文写作神器,搞定各类论文写作!
  • Zen Browser v1.18.4b 丨开源跨平台浏览器
  • AI写论文好帮手!4款AI论文生成工具,助你顺利完成论文!