首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

菜菜地问一个单片机与pc串口通讯地问题

菜菜地问一个单片机与pc串口通讯地问题

想通过串口在pc端的串口调试软件上输出一个字符串,程序在软件上模拟调试没问题,但烧写到片子上后,灯能亮,却不能输出字符串,请问是那方面的问题?


程序如下:


#include <at89x52.h>
#include <stdio.h>
void delay100us(unsigned char count)
{
unsigned i,j,k;
for(i=0;i<count;i++)
for(k=0;k<100;k++)
for(j=0;j<125;j++)
;
}


void ledon(void)
{P2_0=0;}
void ledoff(void)
{P2_0=1;}


void main(void)
{
unsigned char a=0;
SCON=0x50;
TMOD=0x20;
TCON=0x40;
TH1=0xfd;
TL1=0xfd;
TI=1;
TR1=1;


 



while(1)
{
printf("Hello World!\n");


ledon();
delay100us(10);
ledoff();
delay100us(10);


}
}


 


还有就是串口调试软件的接受计数只有在上电的瞬间加1,稳定后没有变化,这是什么问题?

你先用SBUF寄存器发单个数据试一下,看是否正确。
开学了
 回来版面了
单片机在与计算机串口通信时,要考虑一下发送数据的时间问题,如果太慢或是太快的话上位机是收不到
不知道lz考虑硬件上的问题没有?
单片机是不能直接与pc通信的,他们两个的电平根本就不一致,需要rs232或者rs485之类接口转换芯片
美梦成真-->噩梦降临!

MCU一般输出TTL电平,与串口电平不一致,需进行接口转换

返回列表