你好,
我已经安装了
SmartSnippets工作室v.16.3.918
和
SDK (DA1468x_DA15xxx_SDK_1.0.14.1081.zip)
(但不是SDK的补丁)
运行中描述的示例
用户手册
DA1468x入门
开发工具包
嗯- b - 047
所有的工作细节都在PDF文档中
但
虽然printf()工作得很好,但getchar()不工作
在文件中c在函数的模板中
static void system_init(void *pvParameters)
行后添加
#如果定义CONFIG_RETARGET
retarget_init ();
# endif
行:
printf (" \ n > > % s % s % d \ n”,__FILE__, __FUNCTION__, __LINE__);。fflush (stdout);
Char 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);
Char 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);
//从键盘读取下一个字符。
Char 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