IAR 串口调试,基于新唐n76e003的双串口透传程序设计

发布者:光速思考最新更新时间:2022-07-08 来源: csdn关键字:IAR  串口调试  n76e003 手机看文章 扫描二维码
随时随地手机看文章

在解决好多bug后终于实现了双串口之间的相互收发,但是主管说写的程序很垃圾,但是终于能用了,还是很开心,在指导下会进一步修改,如果只是完成作业的话可以借鉴一下,话不多说,继续码上


在这里插入

//***********************************************************************************************************

//  File Function: N76E003 UART-0 Mode1 demo code

//***********************************************************************************************************

/*

* @file name:   UART

* @decrption:   串口0的数据转发的串口1,注意发送时间间隔,缓存数组自定义大小再使用哦

* @author:      1027朵玫瑰花

* @date:        2020-5-1

* @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  riflag_1;

UINT8  TI_flag = 0;

UINT8  TI_1_flag = 0;

UINT8  flag;                       //检验标志位

UINT8  flag_1;

UINT8  buffer[40] = {0};          //缓存数组

UINT8  buffer_1[40] = {0};

UINT8  i = 0;

UINT8  j = 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_ES_1;

set_EA;


    while (1)

    {

        if (flag != 0)

        {

            clr_ES_1;                                                 //关闭串口1中断,实测两个中断不能同时使用

            riflag = flag;

            Timer0_Delay1ms(100);                                     //发送的一个行为结束

            P15 = ~P15;                                               //呼吸灯指示

            while (riflag = flag)                                    //开始转发

            {

                for(i = 0; i < flag; i++)

                {

                    TI_1_flag = 0;

                    SBUF_1 = buffer[i];

                    while (!TI_1_flag);

                    clr_TI_1;

                }  

                i = 0;                            

                flag = 0;

                riflag = 0;

            }   

            set_ES_1;

        }

        

        if (flag_1 != 0)

        {

            clr_ES;

            riflag = flag_1;

            Timer0_Delay1ms(100);

            P15 = ~P15; 

            while (riflag = flag_1)

            {

                for(j = 0; j < flag_1; j++)

                {

                    TI_flag = 0;

                    SBUF = buffer_1[j];

                    while (!TI_flag);

                    clr_TI;

                }

                j = 0;

                flag_1 = 0;

                riflag = 0;

            }  

            set_ES;

        }  

        

    }

}

  

#pragma vector = 0x23

__interrupt void SerialPort_ISR (void)

{

    if (RI)

    {    

        clr_RI;    

        buffer[i] = SBUF;     

        i++;

        flag++;

    }

    if (TI)

    {

        TI_flag = 1;

        clr_TI;

    }

}

#pragma vector = 0x7b

__interrupt void SerialPort1_ISR (void)

{

    if (RI_1)

    {    

        clr_RI_1;

        buffer_1[j] = SBUF_1;       

        j++;

        flag_1++;

         

    }

    if (TI_1)

    {

        TI_1_flag = 1;

        clr_TI_1;

    }


}

关键字:IAR  串口调试  n76e003 引用地址:IAR 串口调试,基于新唐n76e003的双串口透传程序设计

上一篇:新唐N76E003ISP串口下载轻体验
下一篇:史上最全新唐 ISP烧录教程

推荐阅读最新更新时间:2024-11-04 04:39

基于IAR集成开发平台的ARM程序设计方法
   引言   在项目开发,特别是中小型项目开发中,为了降低开发难度和开发成本,常选择不加载操作系统的方案。本文选择IAR嵌入式开发平台,在不加载操作系统的前提下,使用C语言(约95%)和汇编语言(约5%),对以ATMEL公司的AT91M40800芯片(ARM7TDMI内核)为主芯片的工业控制系统进行了软件开发。 图1 系统硬件结构 图2 系统软件框架    硬件构架   系统的整体硬件框架如图1所示,该系统基本包括了目前工业控制系统所需要的各种功能,其软件开发十分具有代表性。    IAR集成开发环境   IAR开发平台是瑞典IAR公司开发的基
[单片机]
基于<font color='red'>IAR</font>集成开发平台的ARM程序设计方法
AVR单片机IAR开发环境搭建和注意事项
简介:1、AVR单片机IAR开发环境搭建 2、IAR使用注意事项 1、AVR单片机IAR开发环境搭建 2、IAR使用注意事项 头文件含义 avr_macros.h里面包含了读写16位寄存器的简化书写,和几个位操作函数 comp_a90.h对大量的内在函数做了简要书写 ina90.h包含 inavr.h comp_A90.h 文件 intrinsics.h内在函数提供最简单的操作处理器底层特征。休眠,看门狗,FLASH函数。 iomacro.HI/O寄存器定义文件样本。 iom8.h包含I/O等寄存器定义 位操作 在c语言里对位的操作如一般如下: PORTB|=(1 2); //置PORTB的第2位=1 PO
[单片机]
IAR Systems发布IAR PowerPac TCP/IP for ARM
IAR Systems发布TCP/IP协议栈,配套使用于IAR PowerPac RTOS,为使用IAR Embedded Workbench for ARM集成开发环境的开发者提供了一个简便易用的TCP/IP协议。它特别适用于需要与电脑网络(比如Internet)方便连接的便携式产品开发。 有了TCP/IP协议模块,IAR PowerPac就包括了把全套的TCP/IP协议移植到ARM芯片上的所有必要组件。IAR PowerPac TCP/IP协议在运行时可配置,适用于带以太网控制器的ARM嵌入式系统。比如,在ARM7处理器上使用IAR PowerPac TCP/IP协议栈,传输速度可以达到2.5MB/S。 这个通讯协议栈提供了支持
[嵌入式]
IAR烧写MSP430失败的解决方法
1.失败状况如下: 在驱动安装没错,(板子插进去usb自动安装完成): config选的MCU也没错的情况下出现如图错误: The debugging session could not be started... 和 Failed to initialize device 2.解决方法: 使用TI的官方Flash下载软件即可 将IAR工程输出的hex文件拿出来烧就行了.
[单片机]
PIC单片机精通_串口通讯与串口调试实例
1.引子 团队之所以称之为团队,就意味着多个人在一起共事。需要的是谦虚,谦逊,切勿言之偏偏。也要学会尊重,任何一门编程语言都有自己的优势与不足,否则早就有一门语言一统天下啦!!!我由VB入门,利用C、C++、Java、TCL进行过开发,至今不敢妄言哪种语言最好,只知道把事情做好,才是最成功的。 耐心与细心,至关重要。最忌浮于事,遇到问题要仔细分析,千万不可抱怨。作为软件出身的傻大个,竟然“沦落”到进行电子线路测试、故障排除、阻抗匹配,不得不说是配合的环节出现了问题,再此感谢一下我的母校——华中大,还好本科管得严,任务重,电子电力的知识还没有忘记。 今天记载的是独立开发的串口通信程序,没有利用PIC自带的Example,很适合新
[单片机]
STM8入门以及程序编译、烧录、IAR使用方法(扫盲篇)
1、硬件环境:STM8S003F3P6、ST-LINK stlink V2 2、软件环境:Embedded Workbench 6.5(IarIdePm)、ST Visual Programmer(STVP) STM8以其超高的性价比,在低端单片机领域占领了很大的市场,市面上很多单片机产品都能够看到STM8的身影,下面对STM8和89C51来做简单的对比: 1、对“89C51”而言: 对“89C51”而言,其能满足大部分需求,但最初代的“89C51”不具有“ADC”、“PWM”等外设功能;而且单就“ADC芯片”而言,列举一下4点: i)、“价格方面”:以“STC89C52”(DIP-40)为例,工作电压为“+5.0V”,其
[单片机]
STM8入门以及程序编译、烧录、<font color='red'>IAR</font>使用方法(扫盲篇)
atmega128 bootloader程序在IAR-AVR下 linker文件的配置及原因
第一步:atmega128的片内flash分区描述 在atmega128 datasheet的275页中有分区描述 对应的在284页中,有具体的应用区与boot区的大小设置 注意:Byte address = word address * 2 这里的BOOT区首地址,$F000 = 0x1E000 根据手册中的描述,我们使用JTAG MKII 烧写器通过软件 Avr Studio 4,配置熔丝位 BOOTSZ为00 注意:这里面的4096 words = 8K bytes 第二步:说明一下linker(.xcl)文件的作用 好了,怎么让我们的程序烧写到flash中是在指定的0x1E000处呢?这就需要在
[单片机]
atmega128 bootloader程序在<font color='red'>IAR</font>-AVR下 linker文件的配置及原因
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved