在做某个单片机的bootloader时定义了一个函数,但是忘记写最后一行的返回值如下:
static int ft_open_uart1(void)
{
if (g_nUArt1Handle != -1)
{
ft_close_uart1();
}
g_nUArt1Handle = cfe_open("uart1");
if (g_nUArt1Handle < 0)
{
return CFE_ERR_DEVNOTFOUND;
}
// return g_nUArt1Handle; 这行一开始忘记了
}
每次都是返回CFE_ERR_DEVNOTFOUND。。。
直到添加了最后一行后,才正确,晕死,编译器也不会提示下。。。
在实现单片机Bootloader时,因遗漏函数的返回值导致每次调用都返回错误代码。通过补充正确的返回值解决了问题。
5467

被折叠的 条评论
为什么被折叠?



