GetChar()支持(DA14683 / SmartSnippets / UM-B-047 / Blinky

了解更多常见问题解答教程

6个帖子/ 0新
最后一篇
Ramig972
离线
最后一次露面:8个月1周前
加入:2020-05-06 20:31
GetChar()支持(DA14683 / SmartSnippets / UM-B-047 / Blinky

你好,

我已经安装了

Smartsnippets Studio v.16.3.918.

SDK(da1468x_da15xxx_sdk_1.0.14.1081.zip)

(但不是SDK的补丁)

并运行描述的示例

用户手册
da1468x入门
开发套件
UM-B-047

一切都在PDF文件中详述

虽然printf()效果很好,但getchar()没有工作

在文件中main.c在功能中的模板中

静态void system_init(void * pvparameters)

添加后添加

#if定义了config_retarget.
retarget_init();
#万一

线条:

printf(“\ n >>%s%s%d \ n”,__file__,__f功能__,__line__);fflush(stdout);
char c = getchar();
printf(“%x%d%c \ n”,c,c,c); fflush(stdout);

第二种printf()永远不会发生

我已经通过将文件Extenstion从C从C转到PDF(只有上传方式)来上传了这个论坛主题中的C文件

您的见解最为夸张。

最好,

拉米

依恋:
设备:
PM_DIALOG.
离线
最后一次露面:22分22秒前
职员
加入:2018-02-08 11:03
嗨ramig972,

嗨ramig972,

您能否在调试模式下运行它并检查它卡住的地方?请分享截图..

不幸的是,我无法打开附件。是否有可能zip zip并再次附加它?

谢谢,PM_DIALOG.

Ramig972
离线
最后一次露面:8个月1周前
加入:2020-05-06 20:31
在文件main.c中

在文件main.c中

function system_init()

添加大胆的线条:

#if定义了config_retarget.
retarget_init();
#万一

printf(“\ n >>%s%s%d \ n”,__file__,__f功能__,__line__);fflush(stdout);
char c = getchar();
printf(“%x%d%c \ n”,c,c,c); fflush(stdout);

如果您看到第二种PrintF()对退出步骤的声明分享

PM_DIALOG.
离线
最后一次露面:22分22秒前
职员
加入:2018-02-08 11:03
嗨ramig972,

嗨ramig972,

您不应该在System_Init()中调用此代码片段,因为它将延迟系统初始化。请尝试在prvtemplateask中执行它。可能您可能需要增加堆大小。

谢谢,PM_DIALOG.

Ramig972
离线
最后一次露面:8个月1周前
加入:2020-05-06 20:31
那是原始代码,。

那是原始代码,。

我再次尝试了堆栈大小和移动:

/ *在此处启动主要任务(通过UART1可提供文本菜单来控制应用程序)* /
OS_TASK_CREATE(“模板”,/ *分配给任务的文本名称,
只调试;内核不使用。* /
prvtemblateask,/ *实现任务的函数。* /
null,/ *传递给任务的参数。* /
2048年,
// 200 * os_stack_word_size,/ *要分配给任务堆栈的字节数。* /

maintemplate_task_priority,/ *分配给任务的优先级。* /
任务_h);/ *任务句柄* /
os_assert(task_h);

/

静止void prvtemplateTask(空白* pvParameters)
{
os_tick_time xnextwaketime;
静态UINT32_T test_counter = 0;

/ * initialise xnextwaketime - 这只需要完成一次。* /
xnextwaketime = os_get_tick_count();

为了( ;; ) {

//////// ///////////////////////////////////////////////////////////////////////////////////////////
Printf(“\ n \ n >>>%s%s%d \ n”,__file__,__f功能__,__line__);
fflush(stdout);

//从键盘上读取下一个字符。
char c = getchar();
fflush(stdin);

Printf(“>>>%s%s%d \ n”,__file__,__f功能__,__line__);
fflush(stdout);
if(Isprint((int)c)){
Printf(“>>>%C%C%d%x \ n”,c,c,c);
} 别的 {
Printf(“>>>%d%x \ n”,c,c);
}
fflush(stdout);

//////// /////////////////////////////////////////////////////////////////////////////////////////////

仍然不起作用。只要

获取单一打印输出和Blinky测试不起作用:

>>> ../ main.c prvtemplateTask 141

PM_DIALOG.
离线
最后一次露面:22分22秒前
职员
加入:2018-02-08 11:03
嗨ramig972

嗨ramig972

您能否在BSP_Defaults.h中更改__heap_size的值?

谢谢,PM_DIALOG.