内部晶振
只要确认串口能工作。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');
}
串口调试助手没有任何反应:
是不是内部晶振不稳定? IO口配置错误?
啊? 不是定时器、串口的寄存器配置错误?
我觉得发送函数有问题
有仿真器么?
while (TI == 0); 后面加一个断点试试?
配置没有办法看。
不知道哪颗IC
应该不是不稳的的问题吧
IO配置OK;
Uart好像也行的,timer2也行啊 嗯,你用示波器看看有否波形?
测试过中颖内建振荡,很准确,不漂移,但我没试很久
首先内部不是晶振,是RC振荡。
主要受环境温度及电压变化的影响
嗯,我再好好缕一缕吧,有了好消息及时通知大家
页:
[1]