发送:
#include
<reg52h>
#include<intrinsh>
#include<stringh>
#define
uchar
unsigned
char
uchar
data
i,j,p,TEST;
sbit
INTT0=P3^2;
uchar
code
V_35[10]={'V','o','l','t','
','3','','5',13,10};
void
Init();
void
Delay();
void
Volt_35();
void
main()
{
Init();
while(1)
{
if(TEST)
{
Volt_35();
TEST=0;
}
}
}
void
Init()
{
P0=0XFF;
//I/O口初始化
P1=0xFF;
P2=0XFF;
P3=0xFF;
SCON=0x50;
//设置成串口方式1
T2CON=0x34;
TH2=0xff;
//晶振110592MHZ,波特率9600
TL2=0xdc;
RCAP2H=0XFF;
RCAP2L=0XdC;
EA=1;
EX0=1;
IT0=1;
TEST=0;
}
void
Delay()
{
for(i=0;i<100;i++)
for(j=0;j<100;j++);
}
void
Volt_35()
{
for(p=0;p<10;p++)
{
SBUF=V_35[p];
while(!TI);
TI=0;
}
}
void
int0svr(void)
interrupt
0
using
1
{
Delay();
if(!INTT0)
{
while(!INTT0);
TEST=1;
}
}
接收:
#include
<reg52h>
#include<intrinsh>
#include<stringh>
#define
uchar
unsigned
char
uchar
data
i;
void
Init();
void
main()
{
Init();
while(1)
{
for(i=0;i<10;i++)
{
while(!RI);
P1=SBUF;
RI=0;
}
}
}
void
Init()
{
P0=0XFF;
P1=0xFF;
P2=0XFF;
P3=0xFF;
SCON=0x50;
T2CON=0x34;
TH2=0xff;
TL2=0xdc;
RCAP2H=0XFF;
RCAP2L=0XdC;
}
void Send_Byte(uchar i)
{
WDI = ~WDI;
TI = 0;
SBUF = i;
while(TI==0)
WDI = ~WDI;
TI = 0;
}
void Send_String(uchar string)
{
while(string!=0)
{
Send_Byte(string);
string ++;
}
}
void Com_A_Int() interrupt 4
{
uchar idata status;
status = SBUF;
RI = 0;
if (status == 0x02)
Send_String("HELLO")
if (status == 0x55)
Send_String("THIS IS A WELL BEGIN!")
}
这是串口中断程序,其他的你可以自己根据实际情况编写
是函数库。
C语言中的 stdout 是一个定义在的宏(macro),它展开到一个 FILE (“指向 FILE 的指针”)类型的表达式(不一定是常量),这个表达式指向一个与标准输出流(standard output stream)相关连的 FILE 对象。
以上就是关于单片机串行口通信程序C语言全部的内容,包括:单片机串行口通信程序C语言、用C语言实现89C51串口通信程序、如何使用C++中的stdin和stdout在两个程序中通讯等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)