串口调试助手没有任何反应

[复制链接]
2316|12
 楼主| wangpe 发表于 2012-12-23 11:20 | 显示全部楼层 |阅读模式
只要确认串口能工作。T2波特率发送器,串口工作方式1,代码如下。
时钟初始化
void ClockInit (void)
{
     uint16 i;

    CLKCON &= 0x9F;                                 // 不分频
     CLKCON |= 0x08;                                 // 打开高频振荡器
     for (i = 0; i < 1000; i++);                     // 延时2ms以上
     CLKCON |= 0x04;                                 // 选择内部16.6MHz高频振荡器
}

串口初始化
void UartInit (void)
{
     P1CR = 0x04;
     P1PCR = 0x02;
     P1 |= 0x04;
     TR2 = 0;
     T2MOD = 0x80;
     T2CON = 0x30;
     PCON = 0x00;
     SCON = 0x50;
     TH2 = 0xFF;
     TL2 = 0xCA;
     RCAP2H = 0xFF;
     RCAP2L = 0xCA;
     TR2 = 1;
}

发生一字节函数
void UartSendOne (uint8 dat)
{
     SBUF = dat;
     while (TI == 0);
     TI = 0;
}


主程序

    while (1)
     {
         UartSendOne('z');
     }

串口调试助手没有任何反应:
是不是内部晶振不稳定?
langgq 发表于 2012-12-23 11:22 | 显示全部楼层
IO口配置错误?
 楼主| wangpe 发表于 2012-12-23 11:23 | 显示全部楼层
啊? 不是定时器、串口的寄存器配置错误?
wangzsa 发表于 2012-12-23 11:24 | 显示全部楼层
我觉得发送函数有问题
zhanglli 发表于 2012-12-23 11:26 | 显示全部楼层
有仿真器么?
zhuww 发表于 2012-12-23 11:29 | 显示全部楼层
while (TI == 0); 后面加一个断点试试?
lium 发表于 2012-12-23 11:30 | 显示全部楼层
配置没有办法看。
guoyt 发表于 2012-12-23 11:32 | 显示全部楼层
不知道哪颗IC
hanwe 发表于 2012-12-23 11:49 | 显示全部楼层
应该不是不稳的的问题吧
 楼主| wangpe 发表于 2012-12-23 11:51 | 显示全部楼层
yufe 发表于 2012-12-23 11:52 | 显示全部楼层
IO配置OK;
Uart好像也行的,timer2也行啊
llia 发表于 2012-12-23 11:55 | 显示全部楼层
嗯,你用示波器看看有否波形?
 楼主| wangpe 发表于 2012-12-23 11:56 | 显示全部楼层
搞定了,哈哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

938

主题

9837

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部