我是靠谱客的博主 不安小蘑菇,最近开发中收集的这篇文章主要介绍z-stack2.5下的单通道ADC连续采集,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在学习ADC时,附件资料:《CC2530应用手册》。

//ADC初始化
static void Adc_Init(void)
{
  ADCH &= 0X00; 
  APCFG = 1;        //模拟I/O使能
  P0SEL |= 0X01;    //P0_0使用外设功能
  P0DIR &= ~0X01;   //P0_0输入方向
  ADCIF = 0;        //ADC中断标志位清0
  ADCCON3 = 0X90;   //AVDD5引脚3.3V作为AD参考电压;AD值12位有效,选择AIN0作为单个通道AD转换
  ADCCON1 = 0X30;   //停止AD转换
  ADCCON1 |= 0X40;  //开始AD转换
}


static void Get_Temperature(void)
{
    unsigned int temperature_value;
    float tempe_value;

    Adc_Init();
    while(!ADCIF);	//ADC中断完成

    temperature_value = ADCL;
    temperature_value |= (uint16)ADCH << 8;
    temperature_value >>= 4 ;
    tempe_value = (float)temperature_value *3.3 /  2048;
    
//    vspfunc("%05.2f",tempe_value);
	sprintf(temp,"%05.2f",tempe_value);
    HalUARTWrite(0,temp,sizeof(temp));
}

Adc_Init()函数初始化就放在GenerialApp_Init()用户任务初始化函数中即可。

最后

以上就是不安小蘑菇为你收集整理的z-stack2.5下的单通道ADC连续采集的全部内容,希望文章能够帮你解决z-stack2.5下的单通道ADC连续采集所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部