从CCS中的引脚读取模拟值

时间:2019-02-11 21:06:16

标签: c embedded

我现在正在使用CC1310设备在CCS(Code Composer Studio)中进行项目。 我认为值得一提的是,我对CCS比较陌生。

我很难找到一种简单的方法来从板上的PINS读取模拟值。 (类似于Arduino:int x = AnalogRead(A1))

问题:如何从板上的引脚存储和读取模拟值?

感谢所有答案

种种问候//陷入困境的工程专业学生

2 个答案:

答案 0 :(得分:0)

如果您询问数字I / O(开或关),那么您应该在MCU的数据表和技术参考手册中研究的术语是“ GPIO”。如果您有开发套件(例如LaunchPad),请研究开发套件的SDK随附的GPIO示例。 SDK可能包含一个外围设备驱动程序库,该库提供了到GPIO外围设备的更高级别的接口。如果是这样,则可以将您的应用程序与库链接,并使用库API来设置/获取GPIO数据值。或者,如果您想以最低级别进行操作,则需要研究与GPIO寄存器的内存映射接口,这在《技术参考手册》中有介绍。例如,DIN31_0寄存器用于读取GPIO输入值。

您可以找到我在http://www.ti.com/product/CC1310上提到的所有内容的链接

答案 1 :(得分:0)

ADC标头文件应如下包含在应用程序中

#include <ti/drivers/ADC.h>

操作

ADC驱动器作为简化的ADC模块运行,仅支持单通道采样。它还在仅阻止模式下运行,这意味着用户必须等待当前采样完成才能开始另一个采样。在调用 ADC_convert()之前,需要在 ADC_open()中指定采样通道。

此驱动程序中的API用作典型TI-RTOS应用程序的接口。特定的外设实现负责创建所有SYS / BIOS特定的原语,以允许线程安全操作。用户可以使用具有更多功能的ADC驱动器或ADCBuf驱动器。但是ADC和ADCBuf不能在应用程序中一起使用。

打开驱动程序

ADC_Handle adc;
ADC_Params params;
ADC_Params_init(&params);
adc = ADC_open(Board_ADCCHANNEL_A1, &params);
if (adc == NULL) {
    // ADC_open() failed
    while (1);
}

转化

通过调用ADC_convert()启动具有ADC外设的ADC转换。转换完成后, ADC_convert()返回结果值

int_fast16_t res;
uint_fast16_t adcValue;
res = ADC_convert(adc, &adcValue);
if (res == ADC_STATUS_SUCCESS) {
    //use adcValue
}