查看: 710|回复: 0

[经验] CC2640R2F之ADC篇

[复制链接]

该用户从未签到

发表于 2020-12-22 23:16:49 | 显示全部楼层 |阅读模式
分享到:

现在提供一个自己写的ADC子程序,多人验证过都可以使用。
子程序如下:

  1. #include "AppAdc.h"
  2. #include <inc/hw_types.h>
  3. #include <ti/sysbios/family/arm/m3/Hwi.h>
  4. #include <inc/hw_memmap.h>
  5. #include <driverlib/aux_wuc.h>
  6. #include <driverlib/aux_adc.h>
  7. #include <inc/hw_aux_evctl.h>
  8. #include <inc/hw_adi.h>
  9. #include <inc/hw_adi_4_aux.h>
  10. #include <inc/hw_aux_anaif.h> // Will change name to anaif
  11. uint32_t AdcOneShotRead(uint8_t auxIo,uint8 reg)
  12. {
  13.     uint32_t turnedOnClocks = 0;
  14.     //////////// Config clock/////////////////////
  15.     // Only turn on clocks that are not already enabled. Not thread-safe, obviously.
  16.     turnedOnClocks |= AUXWUCClockStatus(AUX_WUC_ADC_CLOCK) ? 0 : AUX_WUC_ADC_CLOCK;
  17.     turnedOnClocks |= AUXWUCClockStatus(AUX_WUC_ADI_CLOCK) ? 0 : AUX_WUC_ADI_CLOCK;
  18.     turnedOnClocks |= AUXWUCClockStatus(AUX_WUC_ANAIF_CLOCK) ? 0 : AUX_WUC_ANAIF_CLOCK;
  19.     // Enable clocks and wait for ready
  20.     AUXWUCClockEnable(turnedOnClocks);
  21.     while(AUX_WUC_CLOCK_OFF == AUXWUCClockStatus(turnedOnClocks));
  22.     /////// Seclect auxIO  /////////////
  23.     AUXADCSelectInput(auxIo);
  24.     ////////// Enable ///////////
  25.     AUXADCEnableSync(AUXADC_REF_FIXED, AUXADC_SAMPLE_TIME_2P7_US, AUXADC_TRIGGER_MANUAL);
  26. //    delay(10);
  27.     //Scaling disable
  28.     if(reg) AUXADCDisableInputScaling();    //本条没屏蔽,最大的ADC电压为1.49V,适合低电压检测
  29.     AUXADCGenManualTrigger();       // Trigger sample
  30. //    HWREG(AUX_ANAIF_BASE + AUX_ANAIF_O_ADCTRIG) = (1 << AUX_ANAIF_ADCTRIG_START_S);
  31.     uint32_t adcValue = AUXADCReadFifo();
  32.     AUXADCDisable();//Power_Saving
  33.     return adcValue;
  34. }
复制代码



第一行是自己定义的一个头文件。
函数返回4字节的AD结果。
函数形参auxIo,代表对哪个通道进行采集。


回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条



手机版|小黑屋|与非网

GMT+8, 2024-11-23 08:16 , Processed in 0.100071 second(s), 15 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.