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

[K60] 程序停在while(!(UART_S1_REG(UARTx[uratn]) & UART_S1_TDRE_MASK));

[复制链接]
发表于 2013-6-18 11:21:17 | 显示全部楼层 |阅读模式
程序停在while(!(UART_S1_REG(UARTx[uratn]) & UART_S1_TDRE_MASK));
怎么回事
回复

使用道具 举报

发表于 2013-6-18 11:31:47 | 显示全部楼层
我们提供的例程是正常的,不会出现这种情况。

你反馈的信息太少,没法判断原因,请检查是否初始化了。可以通过排除法来找原因,把不相关的代码都删掉了。
回复 支持 反对

使用道具 举报

发表于 2016-3-3 20:22:58 | 显示全部楼层
山外メ雲ジ 发表于 2013-6-18 11:31
我们提供的例程是正常的,不会出现这种情况。

你反馈的信息太少,没法判断原因,请检查是否初始化了。可 ...

是有时卡住  有时又不会  mi初始化全都屏蔽了都还是会卡住
*  函数名称:uart_putchar
*  功能说明:串口发送一个字节
*  参数说明:UARTn       模块号(UART0~UART5)
*  函数返回:无
*  修改时间:2012-1-20
*  备    注:官方例程,printf会调用这函数
*************************************************************************/
void uart_putchar (UARTn uratn, char ch)
{
    //等待发送缓冲区空
    while(!(UART_S1_REG(UARTx[uratn]) & UART_S1_TDRE_MASK));
    //发送数据
    UART_D_REG(UARTx[uratn]) = (u8)ch;
}


回复 支持 反对

使用道具 举报

发表于 2016-4-8 16:02:28 | 显示全部楼层
楼主解决了吗 我的也是 数据总是有时卡住
回复 支持 反对

使用道具 举报

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

本版积分规则

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