标题:
STC15w4k58s4单片机4串口同时收发例程
[打印本页]
作者:
CZP1234
时间:
2017-7-13 14:13
标题:
STC15w4k58s4单片机4串口同时收发例程
STC15w4k58s4 芯片的4串口同时收发例程
0.png
(53.99 KB, 下载次数: 132)
下载附件
2017-7-13 16:44 上传
单片机源程序如下:
#include "intrins.H"
#include "uart.H"
#define uchar unsigned char
#define uint unsigned int
uchar uart1buf[6]={0xa5,0x5a,0x4a,0xf8,0xff,0xff};
uchar uart2buf[6]={0xa5,0x5a,0x4a,0xf8,0xff,0xff};
uchar uart3buf[6]={0xa5,0x5a,0x4a,0xf8,0xff,0xff};
uchar uart4buf[6]={0xa5,0x5a,0x4a,0xf8,0xff,0xff};
uchar uart2_i,uart3_i,uart4_i;
bit flag2=0,flag3=0,flag4=0; //flag of reveived new packs 收到新数据包标志
void delay(uint k)
{
uint i,j;
for(i=0;i<k;i++)
{
for(j=0;j<121;j++)
{;}}
}
void main()
{
uchar i;
uint l1,l2,l3;
Uart1Init();
Uart2Init();
Uart3Init();
Uart4Init();
while(1)
{
if(flag3==1||flag2==1||flag4==1)
{
flag4=0;
flag3=0;
flag2=0;
for(i=0;i<6;i++)
uart1buf[i]=uart3buf[i];
l1=256*uart2buf[2]+uart2buf[3];
l1=l1/10*7;
l2=256*uart3buf[2]+uart3buf[3];
l2=l2/10*7;
l3=256*uart4buf[2]+uart4buf[3];
if(l1<=l2&&l1<=l3)
{
uart1buf[2]=l1/256;
uart1buf[3]=l1%256;
}
if(l2<=l1&&l2<=l3)
{
uart1buf[2]=l2/256;
uart1buf[3]=l2%256;
}
if(l3<=l1&&l3<=l2)
{
uart1buf[2]=uart4buf[2];
uart1buf[3]=uart4buf[3];
}
if(uart1buf[2]>=0xea)
{
uart1buf[2]=0xea;
uart1buf[3]=0x00;
}
for(i=0;i<6;i++)
UART1_SendData(uart1buf[i]);
}
// delay(500);
}
}
void Uart2() interrupt 8 using 1
{
if (S2CON & S2RI)
{
S2CON &= ~S2RI; //清除S2RI位
uart2buf[uart2_i]=S2BUF;
uart2_i++;
if(uart2_i==6)
{
uart2_i=0;
flag2=1;
if(uart2buf[2]==0&&uart2buf[3]==0)
{
uart2buf[2]==0x2a;
uart2buf[3]==0xf8;
}
}
}
if (S2CON & S2TI)
{
S2CON &= ~S2TI; //清除S2TI位
}
}
void Uart3() interrupt 17 using 1
{
if (S3CON & S3RI)
{
S3CON &= ~S3RI; //清除S2RI位
uart3buf[uart3_i]=S3BUF;
uart3_i++;
if(uart3_i==6)
{
uart3_i=0;
flag3=1;
if(uart3buf[2]==0&&uart3buf[3]==0)
{
uart3buf[2]==0x2a;
uart3buf[3]==0xf8;
}
}
}
if (S3CON & S3TI)
{
S3CON &= ~S3TI; //清除S3TI位
}
}
void Uart4() interrupt 18 using 1
{
if (S4CON & S4RI)
{
S4CON &= ~S4RI; //清除S2RI位
uart4buf[uart4_i]=S4BUF;
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
2017.06.23 四串口.rar
(77.06 KB, 下载次数: 298)
2017-7-13 14:13 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
HJHJH
时间:
2017-7-13 22:02
谢谢分享,好资料,51黑有你更精彩!!!
作者:
hxkun
时间:
2017-8-15 10:33
谢谢分享资料!
作者:
hack778
时间:
2017-9-9 19:34
好东西 谢谢
作者:
waitgrape
时间:
2017-11-9 10:46
多谢分享!
作者:
iceh
时间:
2018-2-8 10:14
多谢分享!
作者:
wuxishun
时间:
2018-2-8 21:55
谢谢分享
作者:
xhdzwzj
时间:
2018-2-13 16:18
谢谢分享,好好好
作者:
qjzyx
时间:
2018-2-13 20:32
谢谢分享!
作者:
ttianmei
时间:
2018-4-8 22:15
好资料,51黑有你更精彩!!!
作者:
yls0221
时间:
2018-4-27 16:46
学习一下!
作者:
18861190651
时间:
2018-9-17 16:10
好东西
作者:
hcec
时间:
2018-11-17 10:46
谢谢分享,
作者:
STC15W4K32S4
时间:
2018-11-30 21:34
学习了
作者:
Eric530
时间:
2019-1-21 22:37
正好在看这个 ,谢谢分享
作者:
Eric530
时间:
2019-1-21 22:40
很高兴看到这个,谢谢分享
作者:
wu‘kong
时间:
2019-3-17 15:41
刚好可以用到,谢谢楼主
作者:
liuz325
时间:
2019-3-18 20:25
希望有用,看不太全
作者:
jaypie
时间:
2019-4-14 21:21
谢谢分享!
作者:
jaypie
时间:
2019-4-16 00:58
谢谢分享
作者:
yulin3192
时间:
2019-7-8 11:56
代码注释太少了
作者:
雨后心空
时间:
2019-11-10 19:55
有用吗?
作者:
macag4
时间:
2019-11-12 00:44
这个程序有人测试过吗?
作者:
twetnr
时间:
2019-11-12 08:37
感谢分享!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1