当前位置:首页 » 编程软件 » uart编程

uart编程

发布时间: 2023-04-08 10:58:27

1. 编写单片机串口收发数据的完整程序(C语言编写)

我用的新唐芯片,8051内核,跟51差不多,望采纳
void UART_Initial (void)
{
P02_Quasi_Mode; //Setting UART pin as Quasi mode for transmit
P16_Quasi_Mode; //Setting UART pin as Quasi mode for transmit

SCON_1 = 0x50; //UART1 Mode1,REN_1=1,TI_1=1
T3CON = 0x08; //T3PS2=0,T3PS1=0,T3PS0=0(Prescale=1), UART1 in MODE 1
clr_BRCK;
RH3 = HIBYTE(65536 - (1000000/u32Baudrate)-1); /*16 MHz */
RL3 = LOBYTE(65536 - (1000000/u32Baudrate)-1); /*16 MHz */
set_TR3; //Trigger Timer3
}
以上是初始化的
void Send_Data_To_UART1(UINT8 c)
{
TI_1 = 0;
SBUF_1 = c;
while(TI_1==0);
}
这个是发送
void UART_isr (void) interrupt 4 //串行中断服务程序
{
if (RI_1==1)
{ /* if reception occur */
clr_RI_1; /* clear reception flag for next reception */
Receive_Date[c] = SBUF_1;
if (Receive_Date[0] == First_Date)
{
c++;
}
else if(Receive_Date_Size > 0 && Receive_Date_Size < 4)
{
c++;
}
else if(Receive_Date[c] == Last_Date && Receive_Date_Size ==4)
{
c = 0;
Flag_Receive_One = 1;
}
else
{
c = 0;
}
}
}
接收

2. 急!!!单片机C语言实现串口通信编程

如果在字符数字发送框发0X00蜂铃器就会叫,如果发0xff蜂铃器就停叫。

#include <REG52.H>
#include <stdio.h>
sbit BEEP = P1^4;
unsigned char b;

void main (void) {
SCON = 0x50; //REN=1允许串行接受状态,串口工作模式1
TMOD|= 0x20; //定时器工作方式2
PCON|= 0x80;
//TH1 = 0xFD; //baud*2 /* reload value 19200、数据位8、停止位1。效验位无 (11.0592)
TH1 = 0xF3; // //baud*2 /* 波特率4800、数据位8、停止位1。效验位无 (12M)
TL1 = 0xF3;
TR1 = 1;
ES = 1; //开串口中断
EA = 1; // 开总中断
BEEP=1;
// IE = 0x0;

while(1)
{

if (RI) //RI接受中断标志
{ RI=0; //清除RI接受中断标志
b=SBUF; //SUBF接受/发送缓冲器
}
BEEP=b;

}

}

这个是个发送程序,接收程序类似,不懂可继续追问,一般人都是在别人程序基础上改改称为自己的,希望楼主能够自己研究出自己的一套编程理论

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:819
制作脚本网站 发布:2025-10-20 08:17:34 浏览:1085
python中的init方法 发布:2025-10-20 08:17:33 浏览:791
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:957
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:846
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1199
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:420
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:298
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:973
python股票数据获取 发布:2025-10-20 07:39:44 浏览:943