首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

应用单片机测试PC或ARM的串口校验方式

2012-11-11 
使用单片机测试PC或ARM的串口校验方式 在普通的51单片机中下载以下程序:#include reg52.hsbit LEDP3^7

使用单片机测试PC或ARM的串口校验方式

 在普通的51单片机中下载以下程序:

#include <reg52.h>sbit LED=P3^7;//////////////////////串口初始化////////////////////////////////////////void UartInit(){     TMOD=0X21; //定时器T1设为方式2    TH1= 0xfd; //波特率设为9600   TL1= 0xfd;  //    SCON=0xd0; //方式3允许接收   SM2 = 1;   TR1=1;   EA=1;   ES=1; }/////////////////////////主函数///////////////////////////////////void main(){UartInit();while(1){}}////////////////////串口中断服务子程序////////////////////////void uart() interrupt 4{RI=0;LED=~LED;}/////////////////////////////end/////////////////////////////////////////////

这个程序大概介绍一下:SM2=1代表,上位机发的是 校验位 为1才会进中断,

这有两种情况

1,上位机 无奇偶校验 位 能进中断 

2,上位机 有 奇偶校验位 则 校验位为1是才能进中断即LED会闪烁!

上位机设置为奇校验时:发送 0x01 0x02能进入中断(校验位为1),发送0x03时不能进入中断(校验位为0),这样可以判断是否是 奇校验

同理可以判断偶校验!

上位机设置为mark校验时:上位机无论发 0x01,0x02,0x03都进入中断,LEC闪烁----这可以验证 是否为 mark校验

上位机设置为space校验时:上位机无论发0x01,0x02,0x03都不能进入中断,即LED不变化,----这可以验证是否为 space校验

2012年10月18日21:58:18

热点排行