#includereg51.h
#definefosc18432000l
#definebaud115200
#definenone_parity0//无校验位
#defineodd_parity1//奇校验
#defineeven_parity2//偶校验
#definemark_parity3//标记校验
#definespace_parity4//空校验
#defineparitybiteven_parity
#defines2ri0x01
#defines2ti0x02
#defines2rb80x04
#defines2tb80x08
sfrauxr=0x8e;
sfrs2con=0x9a;
sfrs2buf=0x9b;
sfrbrt=0x9c;
sfrie2=0xaf;
bitbusy;
voidsenddata(chardat);
voidsendstring(char*s);
voidmain()
{
#if(paritybit==none_parity)
s2con=0x5a;//8位可变波特率(无校验位)
#elif(paritybit==odd_parity)||(paritybit==even_parity)||(paritybit==mark_parity)
s2con=0xda;//9位可变波特率,校验位初始为1
#elif(paritybit==space_parity)
s2con=0xd5;//9位可变波特率,校验位初始为0
#endif
brt=-(fosc/32/baud);//设置独立波特率发生器的重载初值
auxr=0x14;//独立波特率发生器工作在1t模式
ie2=0x01;//使能串口2中断
ea=1;//开总中断
sendstring(stc12c5a60s2\r\nuart2test!\r\n);
while(1);
}
voiduart2()interrupt8using1
{
if(s2con&s2ri)
{
s2con&=~s2ri;//清除接收完成标志
p0=s2buf;//p0显示串口数据
p2=(s2con&s2rb8);//p2.2显示校验位
}
if(s2con&s2ti)
{
s2con&=~s2ti;//清除发送完成标志
busy=0;
}
}
voidsenddata(chardat)
{
while(busy);//等待上个数据发送完成
acc=dat;//取得偶校验位p
if(p)//根据p来设置串口数据的校验位
{
#if(paritybit==odd_parity)
s2con&=~s2tb8;//置校验位为0
#elif(paritybit==even_parity)
s2con|=s2tb8;//置校验位为1
#endif
}
else
{
#if(paritybit==odd_parity)
s2con|=s2tb8;//置校验位为1
#elif(paritybit==even_parity)
s2con&=~s2tb8;//置校验位为0
#endif
}
busy=1;
s2buf=acc;//发送数据
}
voidsendstring(char*s)
{
while(*s)//判断字符串结束标志
{
senddata(*s++);//发送字符
}
}
全志D1/D1s平台支持即将进入Linux主线
金鸽R40工业4G路由网关成功通过华为云、亚马逊云双认证
FPGA进行静态时序分析
2020年蓝牙耳机排名 最新主动降噪蓝牙耳机品牌
乐视在美国还有多少机会?
STC12C5A60S2串口演示程序(C语言版)
集中抄表系统的构造与组建方案的探讨
数字电路基础知识之加法器、减法器
声控鸟电路
基于方向引导优化的主动视觉导航参量计算方法
CR-AG24/1505蓄电池综合测试仪
浪涌抑制器的应用及注意事项?
图示均衡器的使用技巧
摩托罗拉Moto E7发布:Helio G25处理器
PC机串口驱动器12位A / D转换器-PC Serial
上海高研院等在单细胞红外成像技术的数据处理方法等研究中获进展
无线网络信号不好,如何快速提升WiFi信号
Hitachi Vantara扩展Hitachi VSP E系列,推出VSP E590和VSP E790
IGBT会用到哪些陶瓷基板?IGBT增长将拉动陶瓷基板需求?
超低噪声测量利器,cascade 探针台CM300xi-ULN