【先楫HPM6750EVK2测评】体验ADC功能
<p>1、新建RTT工程,工程中添加对ADC的驱动:<br /> </p>
<p>2、保存工程后,添加测试代码。<br />
3、我们根据原理图上的J10接个,只有PE29是ADC3的输出通道<br />
<br />
4、先定义通道、任务</p>
<p>```<br />
#define ADC_DEV_NAME "adc3" /* ADC 设备名称 */<br />
#define ADC_DEV_CHANNEL 2 /* ADC 通道 */<br />
#define REFER_VOLTAGE 330 /* 参考电压 3.3V,数据精度乘以100保留2位小数*/<br />
#define CONVERT_BITS (1 << 16) /* 转换位数为16位 */<br />
```</p>
<p>5、添加任务:</p>
<p>```<br />
static void Adc_entry(void* paremeter)<br />
{<br />
rt_adc_device_t adc_dev;<br />
rt_uint32_t value,vol;<br />
rt_err_t ret = RT_EOK;</p>
<p> adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME);<br />
if (adc_dev == RT_NULL)<br />
{<br />
rt_kprintf("adc sample run failed! can't find %s device!\n", ADC_DEV_NAME);<br />
}<br />
/* 使能设备 */<br />
ret = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL);<br />
if(ret == RT_EOK)<br />
{<br />
rt_kprintf("adc sample run success! find %s device!\n", ADC_DEV_NAME);<br />
}<br />
while(1)<br />
{<br />
/* 读取采样值 */<br />
value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL);<br />
rt_kprintf("the value is :%d \n", value);<br />
/* 转换为对应电压值 */<br />
vol = value * REFER_VOLTAGE / CONVERT_BITS;<br />
rt_kprintf("the voltage is :%d.%02d \n", vol / 100, vol % 100);</p>
<p> rt_thread_delay(500);<br />
}<br />
}<br />
```</p>
<p>7、在主函数里启用任务</p>
<p>```<br />
Adc_thread = rt_thread_create("adc1",<br />
Adc_entry,<br />
RT_NULL,<br />
512,<br />
16,<br />
20);<br />
if(Adc_thread != RT_NULL)<br />
rt_thread_startup(Adc_thread);<br />
else<br />
return -1;<br />
```<br />
下载到开发板后,效果如下:</p>
<p> </p>
<p>【总结】</p>
<p>HPM6750拥用16位ADC以及12位ADC。经过试验后效果非常好。</p>
<p>精度怎么样,外部的分压电阻的精度是多少的</p>
LitchiCheng 发表于 2024-2-18 09:24
精度怎么样,外部的分压电阻的精度是多少的
<p>还有进行精度测试,我现在只学习如何把数据读出来,下一篇跑跑这方面的测试。</p>
lugl4313820 发表于 2024-2-18 09:26
还有进行精度测试,我现在只学习如何把数据读出来,下一篇跑跑这方面的测试。
<p>好的,ADC的功能都有,但是各家的精度都有差异</p>
LitchiCheng 发表于 2024-2-18 11:46
好的,ADC的功能都有,但是各家的精度都有差异
<p>费工说没有16位</p>
<table cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td id="postmessage_3370081">
<p id="contents">小伙伴们一定要注意,如果购买JLINK调试器,一定要JLINK V11以上的,别问我怎么知道的,也老贵了。</p>
<p>对于HPM6750EVK2没有板载调试器的小伙伴,不妨试试板载那种FT2232HL的,可以采用淘宝上这个FT2232HL调试器,与官方板载的功能一样,价格感人,详见购买链接http://e.tb.cn/h.gx7VTHWCvoFnNkN?tk=fCJQ3n9ZOAF</p>
<p><img file="" height="88" initialized="true" inpost="1" lazyloaded="true" loading="lazy" onclick="zoom(this, this.getAttribute('zoomfile'), 0, 0, '0')" onmouseover="showMenu({'ctrlid':this.id,'pos':'12'})" src="https://i0.hdslb.com/bfs/new_dyn/9f9b0621e29f57c1d6bd891f19ef501740764353.png@176w_176h_1c_1s.avif" width="88" zoomfile="" /><img file="" height="88" initialized="true" inpost="1" lazyloaded="true" loading="lazy" onclick="zoom(this, this.getAttribute('zoomfile'), 0, 0, '0')" onmouseover="showMenu({'ctrlid':this.id,'pos':'12'})" src="https://i0.hdslb.com/bfs/new_dyn/77f7b3f681f5766dd6cc06093c559aa640764353.png@176w_176h_1c_1s.avif" width="88" zoomfile="" /></p>
</td>
</tr>
</tbody>
</table>
页:
[1]