杂项——电阻式角度传感器使用

三个引脚,分别接3.3V,GND,ADC引脚。12位ADC有4096份,将360分成4096份,再乘以单片机返回的模拟量的值,即可得到角度。

M0代码


#include "ti_msp_dl_config.h"

volatile bool gCheckADC;
volatile float gAdcResult;
float angle;

int main(void)
{
    SYSCFG_DL_init();

    NVIC_EnableIRQ(ADC12_0_INST_INT_IRQN);
    gCheckADC = false;



    while (1) {
        DL_ADC12_startConversion(ADC12_0_INST);         //启动ADC转换

        while (false == gCheckADC)
        {
          
        }

        gAdcResult = DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_0);       //返回所选内存索引的转换结果。

        //根据返回的gAdcResult计算出角度angle
        
        angle= (0.088*gAdcResult);     //gAdcResult范围是0到4096,有4096格。求出每一格多少度,再乘以格数即可。

        gCheckADC = false;                     
        DL_ADC12_enableConversions(ADC12_0_INST);           //允许转换


    }
}

void ADC12_0_INST_IRQHandler(void)
{
    switch (DL_ADC12_getPendingInterrupt(ADC12_0_INST)) {
        case DL_ADC12_IIDX_MEM0_RESULT_LOADED:
            gCheckADC = true;
            break;
        default:
            break;
    }
}

 

 

 相关配置

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值