注册 登录
查看: 297|回复: 3

又发现了一个经常卡死的地方

[复制链接]
发表于 2014-3-17 12:12:33 | 显示全部楼层 |阅读模式
uart_putchar (UARTn_e uratn, char ch)函数里面的

//等待发送缓冲区空
        while(!(UART0_S1 & UART0_S1_TDRE_MASK));这一句

经常小车上电之后却不跑,STOP查看之后发现就停在向上位机发送数据里面这一句,

有什么原因会造成这种情况,有人碰到过么。
来自PC客户端 来自PC客户端
回复

使用道具 举报

发表于 2014-3-17 12:16:17 | 显示全部楼层
有可能是安全检测的,你根据调用栈看看是从哪里进去的啊
回复 支持 反对

使用道具 举报

发表于 2014-3-17 12:17:15 | 显示全部楼层
看看山外哥的IAR调试视频吧,你要把重要的代码告诉人家啊。

有可能是硬件上访,也有可能是你设置的参数有误等原因导致的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-17 12:22:16 | 显示全部楼层
谢谢提醒,具体的代码就是这里,我看看视频
void Send_Data(u8 *data)
{
    int i;
    for(i=0;i<TotalDataNum;i++)
    {
        uart_putchar(MYUART,*data);//经常卡在这一句
        data++;
    }
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部