请教简单的单片机串行通信程序,uPSD33xx大侠们一定要进来看看,

sdu509 2011-07-05 04:02:35
这是我写的一个小程序,单片机发送高低电平:

#include "upsd3300.h"
#include "upsd3300_hardware.h"

#define uchar unsigned char
#define uint unsigned int


void uart_init()
{
TMOD|=0x20; //0010,0000 定时器1,定时方式2 自动重装装计数器
SCON|=0x50; //0101,0000 串口方式1,允许接收,无奇偶校验位
PCON = 0x00; //SMOD=0;波特率bu加倍
TL1 = 0x1D;
TH1 = 0x1D; //0x1d设置波特率为137.5bps;
TR1 = 1;

}

void Delay(unsigned int a)
{
unsigned char i;
while( --a != 0)
{
for(i = 0; i < 3; i++);
}
}

void main(void)
{
unsigned char i=0;
WDKEY=0x55;
uart_init();
Delay(5000); //上电延时
while(1)
{
while(i<100)
{ SBUF = 0x00;
while(TI ==0); //等待发送完成
TI = 0; //清零串口发送完成中断请求标志
i++;
}
while(i<200)
{
SBUF = 0xff;
while(TI ==0); //等待发送完成
TI = 0; //清零串口发送完成中断请求标志
i++;
}
i=0;

}
}

同样的程序,我改一下头文件在STC89C52中可以正常运行,在TXD脚上可以测得高低电平,但是下载到uPSD3334D中,TXD引脚

上的电平就没有变化,总是保持在3.3V,我已经在PSDsoftExpress中将P3.0,P3.1设置为串行输入输出了,还有别的地方需要配

置吗?或是程序有问题?已经被这个问题纠结很多天了,谢谢诸位啦
...全文
57 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen521r 2011-07-07
  • 打赏
  • 举报
回复
是什么问题能详细说一下吗?
xuhaoran121 2011-07-05
  • 打赏
  • 举报
回复
谢谢!
asd1314asd 2011-07-05
  • 打赏
  • 举报
回复
还好啦
sdu509 2011-07-05
  • 打赏
  • 举报
回复
问题已经解决了,只要回复就给分啦,求顶啊

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧