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/CC2650MODA:printf 不会在控制台中创建输出

Guru**** 2581345 points
Other Parts Discussed in Thread: CC2650MODA, CC2650

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/648850/ccs-cc2650moda-printf-does-not-create-output-in-console

器件型号:CC2650MODA
Thread 中讨论的其他器件: CC2650

工具/软件:Code Composer Studio

您好!

我正在使用 CC2650moda 和 code composer v7。 我正在尝试将从连接到 cc2650 moda 的传感器获取的值显示到控制台、但无法使 printf 正常工作。 我删除了大部分代码,以查看是否可以在屏幕上显示“Hello World”,但它仍然不起作用。 这些是我到目前为止尝试过的一些东西

 

*确保启用 CIO 功能

*增加堆和堆栈大小(我使用了多个值,但仍然不起作用)

*使用 System_printf 并将函数作为 printf 的替代方法

*确保包含 stdio.h

*使用编译器5.2.6和16.9.3

 

我在任何时候都看不到 CIO 控制台出现。 有人能帮我使 printf 正常工作吗? 或者、如果您知道要打印到控制台的任何其他方法、请告诉我。

提前非常感谢!

此致、

Janelle

 

 以下是我的代码:

/* XDCtools 头文件*/
#include 
#include 

/* BIOS 头文件*/
#include 
#include 

/* TI-RTOS 头文件*/*#include
*/
#include 

/*示例/板头文件*/
#include "Board.h"

#include 
#include 

#include 

#include 


PIN_Config ledPinTable[]={

ioID_0 | PIN_GPIO_OUTP_EN | PIN_GPIO_HIGH | PIN_PushPull | PIN_DRVSTR_MAX、 //OE
ioID_1 | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MAX、 //MOSI (DIN)
ioID_3 | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MAX、 //CLK
ioID_4 | PIN_GPIO_OUTP_EN | PIN_GPIO_HIGH | PIN_PushPull | PIN_DRVSTR_MAX、 //LE


ioID_7 | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MAX、 //IN1
ioID_8 | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MAX、 //EN1
ioID_9 | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MAX、 //IN2
ioID_10 | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MAX、 //EN2
ioID_11 | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MAX、 //in3.
ioID_12 | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MAX、 //EN3.
ioID_14 | PIN_GPIO_OUTP_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MAX、 //nleep


PIN_TERMINATE

};


静态 PIN_Handle ledPinHandle;
静态 PIN_STATE ledPinState;

/*int age[5]={0、0、 1、0、0};

int age[5]={0、1、2、 3、4};

fresh2refresh.com/.../
age[0];0是访问
的年龄[1];1是访问的*/

/*=== main ==== */

int main (void)
{
printf ("Hello world\n");
volatile uint32_t i、j;

/*呼叫板初始化函数。*/
Board_initGeneral();
// Board_initGPIO();
// Board_initPWM();



/*=== adc====== */
/* ADC_Handle ADC;
ADC_Params 参数;
ADC_PARAMS_INIT (params);
ADC = ADC_open (IOID_14、params);
if (ADC!= NULL){
ADC_CLOSE (ADC);
}

int_fast16_t res;
uint_fast16_t adcValue;
RES = ADC_convert (ADC、&adcValue);
if (res == ADC_STATUS_SUCCESS){
//使用 adcValue
}

printf ("Hello world %d!\r\n"、ADC);*/
///////////////////////////////////////////////////////////////
printf ("Hello world\n");
PUs ("Hello、world!\n");
// Display_print0 ("嘿.\n");

// System_printf ("hello World!\n");



ledPinHandle = PIN_OPEN (&ledPinState、ledPinTable);

if (!ledPinHandle){

System_abort ("初始化板 LED 引脚时出错");

}

//return (0);
}

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

    您好!

    [引用用户="Janelle Duenas"]

    *确保启用 CIO 功能

    *增加堆和堆栈大小(我使用了多个值,但仍然不起作用)

    *使用 System_printf 并将函数作为 printf 的替代方法

    *确保包含 stdio.h

    *使用编译器5.2.6和16.9.3

    [/报价]

    您似乎已经涵盖了一些更常见的根本原因。 您是否看过以下文章? 还有更多建议:

    http://processors.wiki.ti.com/index.php/Tips_for_using_printf

    请注意 system_printf 的工作方式不同。 您可能需要查看以下主题:

    https://e2e.ti.com/support/embedded/tirtos/f/355/t/436740

    谢谢

    Ki

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

    感谢您的回答、我已经阅读了使用 printf 的提示、

    我通过此链接将 printf 值输出到 txt 文件中...
    www.youtube.com/watch

    (笑声) 但它只显示"Cortex_M3_0:GEL 输出:存储器映射初始化完成。
    Cortex_M3_0:GEL 输出:电路板复位完成。" 这是控制台输出的功能、但不是 printf 输出的功能。

    我尝试使用 System_printf 和上面提到的线程中建议的任务中的 System_flush

    我确保以下内容位于.cfg 文件中

    "VAR SysMin = xdc.useModule('xdc.runtime.SysMin');
    SYSMIN.bufSize = 128;
    System.SupportProxy = SysMin;"

    但还是什么都没有。

    每个其他函数都在 Code Composer 中工作、例如 ADC、PWM 和任务。

    您是否会建议另一个使 printf 正常工作的方向?

    非常感谢您的帮助!

    此致、
    Janelle Duenas
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将 PWM LED 示例导入到了我的工作区中、添加了 printf 语句、包含了 stdio.h、并将堆栈和 healp 增加到了每个都为0x300。 允许 printf 在我的示例中正常工作的示例。 您似乎已经对该示例进行了相当多的修改。 您能和我分享您的项目吗? 我想在我的环境中尝试一下。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ki、

    我刚刚重新导入了 PWM LED 示例、添加了 printf 语句并包含 stdio.h、并将堆栈和堆增加到0x300、但当我构建和调试时、我仍然看不到任何打印到控制台的内容。 CIO 控制台从未出现。

    我使用的是 code composer 7.01并经过测试的编译器5.2.6和16.9.3

    下面是 pwm.c 文件、所有其他内容保持不变、但仍然没有 CIO 控制台

    e2e.ti.com/.../pwmled2.c

    下面是我修改过的项目、但其行为与使用 print ff 的简单 PWM LED 项目相同非常感谢您对此进行的研究、PWM LED 文件很奇怪、它能为您工作、但不能为我工作。 请告诉我是否应该检查任何其他设置、我不确定要向什么方向解决此问题

    e2e.ti.com/.../0537.pwmled.c

    此致、

    Janelle

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

    您好!

    [引用用户="Janelle Duenas"]

    下面是 pwm.c 文件、所有其他内容保持不变、但仍然没有 CIO 控制台

    (请访问网站以查看此文件)

    [/报价]

    您是否也没有获取 pwmled2.c 的 CIO? 我已将您的文件添加到我的项目中、但它对我有效:

    您能否尝试加载我的*。out 文件并查看您是否获得 CIO 输出?

    /cfs-file/__key/communityserver-discussions-components-files/81/pwmled_5F00_CC2650_5F00_LAUNCHXL_5F00_TI.out

    谢谢

    Ki

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

    Ki、

    非常感谢您的帮助。 您的测试表明、这是我的 Code Composer 设置问题、而不是代码选择问题。 我意外地禁用了 CIO 控制台、并在运行时被认为是已启用的。 此外、我错误地运行了代码。 当我对它进行调试时、我会停止它、它会将代码加载到 CC2650、我希望出现 printf 语句。 但是、我应该使用"恢复"按钮来运行程序。 我对我的错误表示歉意、但非常感谢您的帮助和时间。 printf 和 System_printf 现在都可以正常工作。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很高兴听到您解决了问题、并感谢您为我们提供最新信息!

    谢谢
    Ki