你好,
我已经安装了
SmartSnippets工作室v.16.3.918
和
SDK (DA1468x_DA15xxx_SDK_1.0.14.1081.zip)
(但不是SDK的补丁)
并运行中描述的示例
用户手册
DA1468x入门与
开发工具包
嗯- b - 047
所有的工作都在PDF文档中详细说明
但
虽然printf()工作良好,但getchar()不起作用
在文件中c在模板中的函数
system_init(void *pvParameters)
在行后添加
#如果定义CONFIG_RETARGET
retarget_init ();
# endif
行:
printf (" \ n > > % s % s % d \ n”,__FILE__, __FUNCTION__, __LINE__);。fflush (stdout);
c = getchar();
Printf ("%x %d %c\n", c,c,c);
第二个printf()永远不会发生
我已经上传了这个论坛主题的C文件,把它的文件扩展名从C改为PDF(唯一的上传方式)
非常感谢您的真知灼见。
最好的
支
设备:
嗨ramig972,
你能不能在调试模式下运行它,看看它在哪里卡住了?请分享截图。
不幸的是,我无法打开附加文件。能不能把它拉上,再绑上?
谢谢,PM_Dialog
在main.c文件中
system_init()函数
添加大胆的行:
#如果定义CONFIG_RETARGET
retarget_init ();
# endif
printf (" \ n > > % s % s % d \ n”,__FILE__, __FUNCTION__, __LINE__);。fflush (stdout);
c = getchar();
Printf ("%x %d %c\n", c,c,c);
如果您看到执行步骤的第二个printf()语句,请共享
嗨ramig972,
您不应该在system_init()中调用此代码片段,因为它会延迟系统初始化。请尝试在prvTemplateTask中执行它。您可能需要增加堆大小。
谢谢,PM_Dialog
这是最初的代码。
我再次尝试增加堆栈大小并移动:
/*在这里启动主任务(文本菜单可通过UART1控制应用程序)*/
OS_TASK_CREATE("Template", /*分配给任务的文本名称,for
调试;不被内核使用。*/
prvTemplateTask, /*实现该任务的函数。*/
NULL, /*传递给任务的参数。*/
2048年,
// 200 * OS_STACK_WORD_SIZE, /*分配给任务栈的字节数。*/
mainTEMPLATE_TASK_PRIORITY, /*任务分配的优先级。*/
task_h);/*任务句柄*/
OS_ASSERT (task_h);
和
/
static void prvTemplateTask(void *pvParameters)
{
OS_TICK_TIME xNextWakeTime;
静态uint32_t test_counter = 0;
/*初始化xNextWakeTime -这只需要做一次。*/
xNextWakeTime = OS_GET_TICK_COUNT ();
(,){
////////////////////////////////////////////////////////////////
printf (" \ n \ n > > > % s % s % d \ n”,__FILE__, __FUNCTION__, __LINE__);
。fflush (stdout);
//从键盘读取下一个字符。
c = getchar ();
。fflush (stdin);
printf (" > > > % s % s % d \ n”,__FILE__, __FUNCTION__, __LINE__);
。fflush (stdout);
如果(isprint ((int) c)) {
Printf (">>> %c %d %x\n", c,c,c);
其他}{
Printf (">>> %d %x\n", c,c);
}
。fflush (stdout);
//////////////////////////////////////////////////////////////////
仍然不能工作。只有
得到单一打印输出和闪烁测试不工作:
> > > . . / c prvTemplateTask 141
嗨ramig972
请修改bsp_defaults.h中的__HEAP_SIZE的值?
谢谢,PM_Dialog