IAR新唐N76E003串口调试(串口0发送,串口1接收)
本人菜鸟,入职让写串口程序,串口0发送数据,串口1接收数据。写了两周,才初步完成功能,欢迎大家指正错误,遇到了很多问题,大概都解决了…吧,话不多说,上代码!
/*
* @file name: UART
* @decrption: 串口0的数据转发的串口1,注意发送时间间隔,缓存数组自定义大小再使用哦
* @author: 1027朵玫瑰花
* @date: 2020-4-30
* @history:
*/
#include "N76E003_iar.h"
#include "Common.h"
#include "Delay.h"
#include "SFR_Macro.h"
#include "Function_define.h"
#define BUFFER_SIZE 16
#define UART0_BAUD 115200
#define UART1_BAUD 115200
UINT8 UART_BUFFER[BUFFER_SIZE];
UINT8 riflag; //判断标志位
UINT8 flag; //检验标志位
UINT8 buffer[40] = {0}; //缓存数组
UINT8 i = 0;
void main (void)
{
P15_PushPull_Mode; // For I/O toggle display
InitialUART0_Timer1(UART0_BAUD);//初始化
InitialUART1_Timer3(UART1_BAUD);
printf_UART("lun"); //个人小标记
set_ES; //For interrupt enable
set_EA;
while (1)
{
if (flag != 0)
{
riflag = flag;
Timer0_Delay1ms(100); //发送的一个行为结束
P15 = ~P15; //呼吸灯指示
while (riflag = flag) //开始转发
{
for(i=0; i < flag; i++)
{
SBUF_1 = buffer
;
while (!TI_1);
clr_TI_1;
}
i = 0;
flag = 0;
riflag = 0;
}
}
}
}
#pragma vector = 0x23
__interrupt void SerialPort_ISR (void)
{
if (RI)
{
buffer = SBUF;
clr_RI;
i++;
flag++;
}
}
IAR新唐N76E003串口调试(串口0发送,串口1接收)
本人菜鸟,入职让写串口程序,串口0发送数据,串口1接收数据。写了两周,才初步完成功能,欢迎大家指正错误,遇到了很多问题,大概都解决了…吧,话不多说,上代码!
/*
* @file name: UART
* @decrption: 串口0的数据转发的串口1,注意发送时间间隔,缓存数组自定义大小再使用哦
* @author: 1027朵玫瑰花
* @date: 2020-4-30
* @history:
*/
#include "N76E003_iar.h"
#include "Common.h"
#include "Delay.h"
#include "SFR_Macro.h"
#include "Function_define.h"
#define BUFFER_SIZE 16
#define UART0_BAUD 115200
#define UART1_BAUD 115200
UINT8 UART_BUFFER[BUFFER_SIZE];
UINT8 riflag; //判断标志位
UINT8 flag; //检验标志位
UINT8 buffer[40] = {0}; //缓存数组
UINT8 i = 0;
void main (void)
{
P15_PushPull_Mode; // For I/O toggle display
InitialUART0_Timer1(UART0_BAUD);//初始化
InitialUART1_Timer3(UART1_BAUD);
printf_UART("lun"); //个人小标记
set_ES; //For interrupt enable
set_EA;
while (1)
{
if (flag != 0)
{
riflag = flag;
Timer0_Delay1ms(100); //发送的一个行为结束
P15 = ~P15; //呼吸灯指示
while (riflag = flag) //开始转发
{
for(i=0; i < flag; i++)
{
SBUF_1 = buffer;
while (!TI_1);
clr_TI_1;
}
i = 0;
flag = 0;
riflag = 0;
}
}
}
}
#pragma vector = 0x23
__interrupt void SerialPort_ISR (void)
{
if (RI)
{
buffer = SBUF;
clr_RI;
i++;
flag++;
}
}
举报