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.

[参考译文] TMS570LS1224:TI ADC 示例不起作用

Guru**** 2544130 points
Other Parts Discussed in Thread: LAUNCHXL2-TMS57012, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1001524/tms570ls1224-ti-adc-example-not-working

器件型号:TMS570LS1224
主题中讨论的其他器件:LAUNCHXL2-TMS57012HALCOGEN

我在  halcogGen 和 CCS 软件中使用 launchpad LAUNCHXL2-TMS57012运行此示例 training.ti.com/hercules-how-tutorial-12bit-adc 但是、我在运行示例代码时得到的结果。  

请告诉我我需要在 halcogGen 项目和 CCS 项目中更改什么。  

>>编译失败
source/subdir_rules.mk:9:目标'source/sys_main.obj'的配方失败
"./source/sys_main.c "、第90行:错误#19:预期数字末尾后的额外文本
"./source/sys_main.c "、第90行:错误#110:视在调用圆括号之前的表达式必须具有(指针到)函数类型
在编译"../source/sys_main.c 中检测到2个错误。
gmake:***[source/sys_main.obj]错误1.
gmake:目标"全部"不会由于错误而重新生成。

主代码


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

/*用户代码结束*/

/*包含文件*/

#include "sys_common.h"
#include "system.h"

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

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

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

void main (void)

/*用户代码开始(3)*/
adcData_t adc_data;
adcData_t * adc_data_ptr =&adc_data;
unsigned int NumberOfChars、value;

sciInit();
adcInit();

while (1)

adcStartConversion (adcREG1、adcGROUP1);
while (!adcIsConversionComplete (adcREG1、adcGROUP1))
adcGetData (adcREG1、adcGROUP1、adc_data_ptr);
值=(unsigned int) adc_data_ptr ->值;
NumberOfChars = 1toa (value、(char *)命令);
sciSend (scilinREG、2、(unsigned char*)"0x");
sciSend (scilinREG、NumberOfChars、command);
sciSend (scilinREG、2、(unsigned char *)"\r\n");

/*用户代码结束*/



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

void adcNotification (adcbase_t * adc、无符号组)

返回;

void sciNotification (sciBASE-t * sci、无符号标志)

返回;

void esmGroup1通知(int 位)

返回;

void esmGroup2Notification (int 位)

返回;

/*用户代码结束*/

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="470560" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1001524/tms570ls1224-ti-adc-example-not-working ]NumberOfChars = 1toa (value、(char *)命令);[/quot]

    错误是在上面使用了1toa (以1开头、而应在其中使用 ltoa (以 ell 开头)。 例如、尝试将行更改为:

    NumberOfChars = ltoa(value,(char *)command);

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

    我尝试更改该语句、但遇到了以下错误。

    >>编译失败
    source/subdir_rules.mk:9:目标'source/sys_main.obj'的配方失败
    "./source/sys_main.c "、第90行:错误#167:函数调用中的参数太少
    "./source/sys_main.c "、第90行:警告#515-D:无法将类型"char *"的值分配给类型为"unsigned int"的实体
    1在编译"../source/sys_main.c 时检测到错误。
    gmake:***[source/sys_main.obj]错误1.
    gmake:目标"全部"不会由于错误而重新生成。

    ****构建完成****

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="470560" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1001524/tms570ls1224-ti-adc-example-not-working/3700093 #3700093"]../source/sys_main.c,第90行:错误#167:函数调用中的参数太少

    屏幕截图显示使用的是 TI ARM 编译器 v20.2.4.LTS。

    处理 ltoa 中的更改 说明、从 TI ARM 编译器 v19.6.0.STS 开始、向 ltoa 函数添加了第三个参数、参考页面提供了一些有关如何更改代码的指导。

    [引用 userid="470560" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1001524/tms570ls1224-ti-adc-example-not-working ]sciSend (scilinREG、2、(unsigned char*)"0x");
    sciSend (scilinREG、NumberOfChars、命令);

    是否希望输出显示为十进制或十六进制值?

    在命令前输出"0x"表示十六进制值。

    如果要十六进制指定一个16的基数:

    NumberOfChars = ltoa(value,(char *)command, 16);

    或对于十进制、指定一个10的基数:

    NumberOfChars = ltoa(value,(char *)command, 10);

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

    您好、Sakthi、

    NumberOfChars = 1toa (value、(char *)命令);

    我认为 func 是 ltoa(.) 而不是1toa(.)。 正如切斯特所说,ltoa(.)需要3个参数。 功能。

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

    此错误现已消失。 现在、它显示一条警告、当我 将代码转储到 launchpad 时、终端屏幕上的输出不正确。  

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

    我已经为映射到 J11上 PIN49的 ADC 引脚9提供了62Hz 的 PWM。 但是、终端不显示数字等效值。  

      

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="470560" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1001524/tms570ls1224-ti-adc-example-not-working/3701288 #3701288"]它显示警告

    ltoa()的返回值为 char 而不是 int。 您是否获得正确的采样 ADC 值:adc_data_ptr ->值?

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

    您可以尝试 HALCOGen 示例中使用的文本显示函数吗?

     e2e.ti.com/.../example_5F00_adcDisplay.c