两单片机间的多字节串口传输如何实现(要两单片机的接收与发送程序)
展开全部
//发送一个字符
int SendChar(int ch)
{
while (!(USART1->SR & USART_FLAG_TXE));
USART1->DR = (ch & 0x1FF);
return (ch);
}
/*-------------------------------------------------------
函数名:send_s()
功能:用户函数,发送一个字符串
----------------------------------------------------------*/
void UART_Send_Str(char *s)
{
int i;
for(i=0;i<n;i++)
{
SendChar(s[i]);
}
}
int SendChar(int ch)
{
while (!(USART1->SR & USART_FLAG_TXE));
USART1->DR = (ch & 0x1FF);
return (ch);
}
/*-------------------------------------------------------
函数名:send_s()
功能:用户函数,发送一个字符串
----------------------------------------------------------*/
void UART_Send_Str(char *s)
{
int i;
for(i=0;i<n;i++)
{
SendChar(s[i]);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<reg51.h>
unsigned char recive[16];
unsigned char get,put;
void ser_isr() interrupt 4
{
if(RI)
{
RI=0;
recive[put]=SBUF;
put++;
put&=0x0f;
}
}
main()
{
get=0;
put=0;
while(1)
{
if(get!=put)
{
SBUF=recive[get];
while(!TI);
TI=0;
get++;
get&=0x0f;
}
}
}
unsigned char recive[16];
unsigned char get,put;
void ser_isr() interrupt 4
{
if(RI)
{
RI=0;
recive[put]=SBUF;
put++;
put&=0x0f;
}
}
main()
{
get=0;
put=0;
while(1)
{
if(get!=put)
{
SBUF=recive[get];
while(!TI);
TI=0;
get++;
get&=0x0f;
}
}
}
追问
请问if(get!=put)的作用是什么啊??
追答
这是两个指针,分别是取数指针和存数指针,当相等时证明没有新存入数据。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询