完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
你好
我目前使用CC2531 USB Dongle 軟體使用的是SampleRemote 而我想加入ADC的功能,想做到的目標如下: 1. 想利用ADC去讀取CC2531本身的電源電壓數值是多少 2. 當我額外接一個電壓輸出到P0_2上,並可從1V細微增加至2.5V,利用ADC去讀P0_2的數值時,讀到的數值會隨著我調整電壓值而跟著改變 我在hal_adc.c中有看到關於ADC的API 我增加了以下代碼在SampleRemote Project中的zllSampleRemote_Init尾端 uint16 adc_ain2=0; HalAdcSetReference(HAL_ADC_REF_125V); adc_ain2=HalAdcRead(HAL_ADC_CHN_AIN2,HAL_ADC_RESOLUtiON_10); 使用View -> Watch -> Watch1來監看adc_ain2的值,但出現了如下圖中的錯誤,請問代碼或是操作上有那裡出問題嗎? |
|
相关推荐
4 个讨论
|
|
|
vv 你好! 謝謝你的回覆 我將程式修改如下 uint16 adc_ain2=0; uint16 adc_battery = 0; /********************************************************************* * @fn zllSampleRemote_Init ... APCFG |= 0x04; HalAdcSetReference(HAL_ADC_REF_125V); adc_ain2=HalAdcRead(HAL_ADC_CHN_AIN2,HAL_ADC_RESOLUTION_10); adc_battery = HalAdcRead(HAL_ADC_CHN_VDD3, HAL_ADC_RESOLUTION_10); ] //zllSampleRemote_Init End 輸入至P0_2的電壓為1.2V,而CC2531的電源供應為3V 而watch窗口讀到的adc_ain2(輸入到P0_2的1.2V)、adc_battery(供應給CC2531的電源3V)分別為511和447 Q1 : 要如何將讀取到的數值轉換成電壓呢? 如上面提到的511和447 ? Q2 : 目前ADC讀取的動作只做一次,應該是我將程式放在zllSampleRemote_Init的關係。我需要將程式放在哪裡才能讓我調整輸入電壓值時,讓ADC可以即時讀取電壓??? |
|
|
|
|
|
|
|
|
preprocessor中加入HAL_ADC=TRUE 在zll-sampleRemote-CC2531EMK.c中加入下列程式 #include "hal_adc.h" float adc_ain2=0; float adc_battery = 0; float ain2 = 0; float power_voltage = 0; define READING_VOLTAGE_EVT 0x0004 zllSampleRemote_Init中加入 osal_start_timerEx( zllSampleRemote_TaskID, READING_VOLTAGE_EVT , 500 ); zclSample_event_loop中加入 if ( events & READING_VOLTAGE_EVT ) [ HalAdcSetReference(HAL_ADC_REF_AVDD); //Set the Reference Voltage to HAL_ADC_REF_AVDD (3V) adc_ain2=HalAdcRead(HAL_ADC_CHN_AIN2,HAL_ADC_RESOLUTION_10); //Read the input signal from AIN2(P0_2) ain2 = (float)adc_ain2*3/511; //Convert the input signal into voltage adc_battery = HalAdcRead(HAL_ADC_CHANNEL_VDD, HAL_ADC_RESOLUTION_10); //Read the input signal from VCC power_voltage = (float)adc_battery*3*3/511; //Convert the signal into voltage osal_start_timerEx( zllSampleRemote_TaskID, READING_VOLTAGE_EVT , 500 ); //Call the event every 0.5s return ( events ^ READING_VOLTAGE_EVT ); ] 可在power_voltage及ain2看到到CC2531電源供應的電壓值,以及HAL_ADC_CHN_AIN2輸入的電壓值 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
549 浏览 0 评论
1613 浏览 0 评论
2047 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1513 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1337 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1757浏览 29评论
2781浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1724浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1634浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1645浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 10:15 , Processed in 3.224406 second(s), Total 58, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1293