我看过,没有错,是串口的初始化设置有问题吗,但改了好几次 还是不行,
你有关于这类的串口程序吗?分享一下
#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
/******************************************************************/
/* 主函数 */
/******************************************************************/
void main (void)
{
SCON = 0x50; /* SCON: 模式 1, 8-bit UART, 使能接收 */
TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
TH1 = 0xFD; /* TH1: reload value for 9600 baud @ 11.0592MHz */
TR1 = 1; /* TR1: timer 1 run */
EA = 1; /*打开总中断*/
ES = 1; /*打开串口中断*/
while (1) /*主循环不做任何动作*/
{
}
}
/******************************************************************/
/* 串口中断程序 */
/******************************************************************/
void UART_SER (void) interrupt 4 //串行中断服务程序
{
unsigned char Temp; //定义临时变量
if(RI) //判断是接收中断产生
{
RI=0; //标志位清零
Temp=SBUF; //读入缓冲区的值
P1=Temp; //把值输出到P1口,用于观察
SBUF=Temp; //把接收到的值再发回电脑端
}
if(TI) //如果是发送标志位,清零
TI=0;
}
串口线和51单片机连接有时可以下载,但是有时下载不了程序,老是提示...
1、你要是用USB转的会出这个问题,另外如果是USB转的232,他会提供一个电压,这点你要注意!2、晶振不好或是没接的话也会出这个问题 3、串口线是不是正确连接了,2,3,5这3跟线对吗 4、RS232那个接口芯片对不对,如果你自己焊接的话有时电容容量不对,也不能通讯。5、最诡异,曾经一直用...
51 单片机,写的一个与电脑通讯的小程序,用 ISP 烧录入 STC12C5608AD...
因为你下载程序时选择单片机使用的是内部时钟 内部时钟是不稳定的,会影响到你的波特率,波特率不对,当然不能通讯了
51单片机串口通信时不能处理大于0x0f(1111)的数据
检查上位机的波特率是否19200,帧格式设置是否与你一致。检查你板子的晶振是否11.0592M。
利用LabVIEW的串口通信,为什么上位机发送一个字符串,而单片机只接收到前...
看下位机是否接收正常,如果不正常,那么就一定是你的程序出错;如果一切正常,那么你再看labvIEW的发送命令程序,因为发送的时候应该是字符串格式(看你的描述),那么你要确定字符串的长度,如果有buffer的话还要确定它的长度是否正常,
串口通讯时,向下位机发送指令,下位机可以正确解析,但是下位机向上位...
有一种可能是上位机串口设置成了只接收TEXT而不接收二进制数。由此一来,0x55是ASCII字符的85,而0xAA则超出了可打印范围而产生错误数据0x95。没测试过,是臆想的。
信捷OP320-A文本显示器(触摸屏)与51单片机通讯电缆接法问题。
触摸屏端4和5不要短接,一般的接法是2-3、3-2、5-5,单片机的5要接地。触摸屏(touch screen)又称为“触控屏”、“触控面板”,是一种可接收触头等输入讯号的感应式液晶显示装置,当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置,可用以取代机械式的按钮...
用力特(Z-TEK)的usb转RS232串口线可以与51单片机通讯烧程序么?
当然可以的,出现你现在这个状况很常见,一是USB驱动或设备与操作系统不匹配。二是你的操作顺序是否正确?先点下载再给单片机上电。
c51单片机程序编译时错误:error c236:‘——display’:different length...
楼上两位说的是同一个问题。“子函数里的形参声明的方式不对,需要每个参数都定义一下类型 。”===不需要,这一点,你的没错。count是uchar,还是uint?我猜想,你的count是uint。很可能问题在这里。
单片机串口通信时出现“96”是什么意思?
“96”表示的是通信波特率为 9600。串口通信中通常使用的是异步串口通信,既没有时钟线,所以两个设备要通信,必须要保持一致的波特率,当然,波特率常用值还有 4800、115200 等。“N”表示的是无校验位,由于串口通信相对更容易受到外部干扰导致传输数据出现偏差,可以在传输过程加上校验位来解决这个问题。
单片机串口死机,发送一个命令进去执行一次就没反应了,必须重启单片机,这...
2、你滴单片机串口收\/发中断是能分开设置是否中断滴么?看你程序收用中断发用查询,51不能分设吧?3、在没有FIFO的单片机里,一般串口收\/发完成1个字节会中断一次,看你程序貌似是发完一串字符才置位TI,这样用当然是不对滴。正确的方法是发完一个字节中断后再发下一个字节(有点烦是吧^_^);...