我会在这里走出困境,因为我不确定你需要看什么代码。
我正在研究一些具有串行用户界面的嵌入式代码。当我移动到新的以太网驱动程序时,只有一半用于通过连接发送文本的printf()语句工作,所以我有很多空白命令输出。知道会导致这种情况的任何想法吗?
我在网上看到这个可能与堆栈大小有关吗?
我很乐意发布更多信息,以便在任何需要的地方澄清。
谢谢!
示例1:
// List commands and their summary
// It is assumed that a command with an empty summary does not
// actually exist (helpful for conditional compilation)
printf( "Shell commands:\n" ); **This line Prints**
while( 1 )
{
if( ph->cmd == NULL )
break;
if( strlen( ph->help_summary ) > 0 )
printf( " %-6s - %s\n", ph->cmd, ph->help_summary ); **This does not**
ph ++;
}
printf( "For more information use 'help <command>'.\n" ); **This line prints**
}
当我单步执行代码时,到达printf()并实际上运行,但没有输出通过串行连接。
回答,懒惰滚动:
我的驱动程序有一些填充了printf()的调试代码,这些代码在发布时没有被注释掉......我已经删除它并且问题已经消失了。不知何故,这必定会在记忆中造成一些问题。
答案 0 :(得分:0)
我的驱动程序有一些填充了printf()的调试代码,这些代码在发布时没有被注释掉......我已经删除了它,问题就消失了。不知何故,这必定会在记忆中造成一些问题。