This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMS570LS1227:读取多个 ADC 引脚

Guru**** 2350610 points
Other Parts Discussed in Thread: HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/613696/ccs-tms570ls1227-reading-several-adc-pins

器件型号:TMS570LS1227
主题中讨论的其他器件:HALCOGEN

工具/软件:Code Composer Studio

大家好、

我刚刚完成了12位 ADC 教程、可以在以下位置找到: https://www.youtube.com/watch?v=YOBWhFE0LZg 、现在我想展开代码、以便我可以读取两个 ADC 引脚并通过 SCI 发送读数。

您可以在下面看到我的 ADC 组1配置 Halcogen 设置是什么。 我使用引脚15来监控电压。

我想第一步是选择要监控第二个电压源(比如引脚23)的另一个引脚,并将 FIFO 大小增加到2,对吧?

在下面、我的 main()就其本身而言、仅适用于1引脚 ADC。 问题是、我不知道如何更改对 adcGetData 的调用 、以便从两个 ADC 引脚获取信息。 如果有任何指导、我们将不胜感激!

/*用户代码开始(0)*/
#include "sci.h"
#include "adc.h"
#include "stdlib.h"
/*用户代码结束*/

*包含文件*/

#include "sys_common.h"

/*用户代码开始(1)*/
unsigned char 命令[8];
/*用户代码结束*/**

@fn void main (void)
*@简短应用程序主函数
*@注意默认情况下,此函数为空。
*
*此函数在启动后调用。
*用户可以使用此函数来实现应用程序。
*/

/*用户代码开始(2)*/
/*用户代码结束*/

int main (void)
{//
*用户代码开始(3)*/

adcData_t ADC_DATA;//ADC 数据结构
adcData_t * adc_data_ptr =&adc_data;//adc 数据指针
unsigned int NumberOfChars、value;

sciInit();
adcInit();

while (1)//通过 SCI (UART)获取和发送 ADC 采样数据的无限循环
{
adcStartConversion (adcREG1、adcGROUP1);//启动 ADC 转换
while (!adcIsConversionComplete (adcREG1、adcGROUP1));//等待 ADC 转换
adcGetData (adcREG1、1U、ADC_DATA_PTR);//将转换存储到 ADC 指针
Value=(unsigned int) adc_data_ptr ->值;
NumberOfChars = ltoa (value、(char *) command);//将"value"转换为字符串并将其存储在"command"中。

//串行传输

sciSend (scilinREG、2、(unsigned char *)"0x");
sciSend (scilinREG、NumberOfChars、command);
sciSend (scilinREG、2、(unsigned char *)"\r\n");
}


/*用户代码结束*/

返回0;
}//*


用户代码开始(4)*/*

用户代码结束*/

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sofia、

    在 HALCoGen 中、选择需要在组1中转换的通道(引脚15和引脚23)

    2.在 main()函数中,执行以下修改:

    adcData_t adc_data[2];
    (笑声)
    adcGetData (adcREG1、adcGROUP1、&ADC_DATA[0]);
    转换结果存储在 ADC_DATA[]中:

    ADC_DATA[0]->应具有 Group1通道1的转换  

    ADC_DATA[1]->应该具有组1通道2的转换  

    ID[0]   = ADC_DATA[0].id;
    值[0]= ADC_DATA[0].value;

    ID[1]   = ADC_DATA[0].id;
    值[1]= ADC_DATA[0].value;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Sofia、

    在 HALCoGen 中、选择需要在组1中转换的通道(引脚15和引脚23)

    2.在 main()函数中,执行以下修改:

    adcData_t adc_data[2];
    (笑声)
    adcGetData (adcREG1、adcGROUP1、&ADC_DATA[0]);

    转换结果存储在 ADC_DATA[]中:
    ADC_DATA[0]->应具有 Group1通道1的转换

    ADC_DATA[1]->应该具有组1通道2的转换

    ID[0] = ADC_DATA[0].id;
    值[0]= ADC_DATA[0].value;

    ID[1] = ADC_DATA[0].id;
    值[1]= ADC_DATA[0].value;
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 QJ、

    最后一个澄清是、ADC_DATA[0]是否会存储引脚15上转换的数据以及来自引脚23的 ADC_DATA[1]数据?

    此致、

    索非亚