[MSPM0L130x]可配置的内部 ADC 电压基准
<div class='showpostmsg'> 本帖最后由 hsh007 于 2024-3-15 09:00 编辑# 概述
根据MSPM1L130X的规格书,ADC支持1.4V和2.5V的内部参考电压。
我们今天来实际测试一下。
# 内部电压基准2.5V
## 硬件配置
### 需要如下硬件
- TI的MSPM0L1306 LaunchPad
- 直流电源
### 根据MSPM0L1306 LaunchPad的原理图如下部分,如果用到PA25,那么需要将J4断开。
## SYSCFG配置
### 配置SWD
### 选用时钟SYSOSC,采样时钟4MHz,转换模式是单次,软件触发转换
### 板载芯片的具体型号是MSPM0L1306SRHB,这里ADC对应的PIN脚是PA25
### 参考电压VREF设置为内部2.5V
## 用户代码adc12_single_conversion_vref_internal.c
在一个while循环中采集ADC12_0的值,当值大于0x7ff(即电压大于0.5*2.5V=1.25V)的时候,点亮LED1,否则熄灭LED1
```c
while (1) {
DL_ADC12_startConversion(ADC12_0_INST);
while (false == gCheckADC) {
__WFE();
}
adcResult = DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_0);
if (adcResult > 0x7ff) {
DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN);
} else {
DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN);
}
gCheckADC = false;
DL_ADC12_enableConversions(ADC12_0_INST);
}
```
## 在PA25接上2V电
LED1亮起,如下图:
watch看到的值如下:
## 在PA25接上1V电
LED1熄灭,如下图:
watch看到的值如下:
# 内部电压基准1.4V
## SYSCFG配置
### 基于上面测试修改VREF为1.4
### 用户代码adc12_single_conversion_vref_internal.c
基于上面的代码,不用修改
当值大于0x7ff(即电压大于0.5*1.4V=0.7V)的时候,点亮LED1,否则熄灭LED1
## 在PA25接上1V电
LED1亮起,watch看到的值如下:
## 在PA25接上0.5V电
LED1熄灭,watch看到的值如下::
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>
页:
[1]