首页 > 其他分享 >【N76E003AT20】新唐MCU使用记录

【N76E003AT20】新唐MCU使用记录

时间:2023-09-26 09:22:16浏览次数:65  
标签:新唐 set N76E003AT20 void u0RecParameter 串口 MCU 接收

  N76E003AT20 可用引脚数量18个,内核为51系列,CPU最大主频:16MHz 工作电压范围:2.4V~5.5V 程序存储容量:18KB 程序存储器类型:FLASH RAM总容量:1KB。

  此前用该单片机做为主控设计了车载感应控制盒,当时没有记录开发过程,现在有个项目,我选择该芯片做设计,在此简单记录一下过程与遇到的问题。

  项目为一个小型项目,做一个转接板,用于接收门禁机的串口数据并处理、接收C级串口锁体的数据并处理、然后根据相应的逻辑输出信号。

  前期开发环境搭建和准备不进行阐述,手头有一个开发板,拿起来就用。

                                 

  该项目软件预计一个工作日完成,N76E003AT20 有两个串口,我打算只使用一个串口进行一主多从收发。

  软件方面,我首先要达到的目的就是,使用串口0进行打印输出,并且用串口0发送数据,单片机可以打印回传数据。这样就实现了串口0 可以打印信息,并且可以接收上位机数据并处理并发送。听上去是挺简单的,为什么要记录呢,因为在开发过程中我们总会时不时遇到一些自己能力之外(没考虑到)的问题,所以记录一下,以后再次使用可以进行参考。

   首先是串口0初始化代码,非常简单,看注释

   set_P06; 
     set_P07;  
        set_ES;                    //串口0中断 使能
        set_EA;                    //全局中断使能
        InitialUART0_Timer1(9600); //   波特率

  串口中断函数

 1 void SerialPort0_ISR(void) interrupt 4 
 2 {
 3     if (RI==1)  //接收完成标志
 4     {                                       /* if reception occur */
 5         clr_RI;            /* clear reception flag for next reception *///清处标志
 6         Rec_Uart_Buffer[u0RecParameter.Count] = SBUF;//SBUF数据寄存器
 7         u0RecParameter.Count ++;
 8         if(SBUF == 0x0A)
 9         {
10              u0RecParameter.RecFlag =1;
11         }
12     }
13 }

 接收数据处理函数

 1 void Rec_Usart_Dispose(void)
 2 {
 3     //包头0xFB 0x55
 4     uint8_t  *p_buffer = NULL;
 5     uint8_t i;
 6     if(u0RecParameter.RecFlag ) //接收到了数据
 7     {
 8         
 9         for(i=0;i<u0RecParameter.Count;i++)
10         {
11             Send_Data_To_UART0(Rec_Uart_Buffer[i]);//接收到什么数据发送什么数据
12         }
13         for(i=0;i<u0RecParameter.Count;i++)
14         {
15             if(Rec_Uart_Buffer[i] == 0xFB)//找包头,此前用Strstr函数,不知为何无效
16             {
17                 p_buffer = &Rec_Uart_Buffer[i];
18                 break;
19             }
20         }
21     
22         if(p_buffer != NULL)
23         {
24             if((*(p_buffer+2) == 0x07))
25             {
26                 cmdFlag |= 0x01;  // 开门指令
27                 printf("cmd: 0x01\n");
28                 Send_Usart0_Arr(DoorCtr_Cmd_Opendoor,10);
29             }
30             if((*(p_buffer+2) == 0x05) && (*(p_buffer+6) == 0xE5))
31             {
32                 cmdFlag |= 0x02;//开门完成
33                 printf("cmd: 0x02\n");
34             }
35             if((*(p_buffer+2) == 0x05) && (*(p_buffer+6) == 0xE6))
36             {
37                 cmdFlag |= 0x04;//关门完成
38                 printf("cmd: 0x02\n");
39             }
40         }
41         memset(Rec_Uart_Buffer,0,UART_MAX_REC_LEN);
42         u0RecParameter.RecFlag = false;
43         u0RecParameter.Count = 0;
44     }
45 }

 

标签:新唐,set,N76E003AT20,void,u0RecParameter,串口,MCU,接收
From: https://www.cnblogs.com/qianmn/p/17729347.html

相关文章

  • 关于CH32系列MCU低功耗相关
    1、关于低功耗模式下的功耗排列由低到高依次为:待机模式<停止模式<睡眠模式<运行模式2、关于低功耗测试注意事项需要将所有的IO口设置成下拉输入需要开启PWR时钟,目的是为了将内部调压器设置成低功耗模式测试时需要将板子指示灯、LDO等去掉 ......
  • 触控小家电国产MCU新选择——LKT6850
    LKT6850是凌科芯安科技(北京)有限公司推出的以32位ARMCortexTM-M0处理器内核为基础的高性价比安全MCU。LKT6850具有最高64KBFlash、4KBRAM、48MHZ工作频率,具有丰富的外设资源供开发人员使用。芯片可实现DES/3DES/AES/SM4等对称算法,可实现多种安全身份认证、数据加解密等功能。该产品......
  • 触控小家电国产MCU新选择——LKT6850
    LKT6850是凌科芯安科技(北京)有限公司推出的以32位ARMCortexTM-M0处理器内核为基础的高性价比安全MCU。LKT6850具有最高64KBFlash、4KBRAM、48MHZ工作频率,具有丰富的外设资源供开发人员使用。芯片可实现DES/3DES/AES/SM4等对称算法,可实现多种安全身份认证、数据加解密等功能。该产......
  • 欢迎来到我的世界,开启探索国产芯片GD32 MCU之旅!
    引言大家好!我是Lawrence,非常高兴加入博客园这个平台,并在这里开始我的【十年磨一剑!】博客的创作之旅。 博客的主题和内容介绍我的博客将主要探索国产芯片GD32MCU这一领域,在未来的文章中,我将主要就以下4个角度分享内容:1.GD32MCU各系列产品前沿分享2.GD32MCU各系列规格书,技......
  • Si3262| 三合一低功耗MCU+NFC+防水的触摸按键SOC芯片
    Si3262是一款高度集成的低功耗SOC芯片,其集成了基于RISC-V核的低功耗MCU和工作在13.56MHz的非接触式读写器模块。MCU模块具有低功耗、LowPinCount、宽电压工作范围,集成了13/14/15/16位精度的ADC、LVD、UART、SPI、I2C、TIMER、WUP、IWDG、RTC、TSC等丰富的外设。内......
  • 关于配置MCU从FLASH某一位置开始运行——以CH32V203为例
    正常MCU运行时,都是从FLASH0起始地址开始运行,有时因为某些需要,需要配置从非0地址开始运行。以CH32V203为例(适用于其他CH32V系列),主要修改配置如下:主要集中在ld文件的修改:1、修改FLASH的分配,将FLASH分配成2块区域,如下图/*CH32V20x_D6-CH32V203K8-CH32V203C8-CH32V203G8-CH32V......
  • AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)
    AutoC平台搭建指南(基于NXPi.MXRT1170MCUXPresso开发环境建设@Like)(2022-11-17)目录1.功能需求 2.硬件平台 3.软件工具环境 4.建设基础 5.安装开发工具和环境 5.1.MCUXpressoIDE 5.2.i.MXRT1170SDK 5.3.GUI-Guider-1.4.1-GA 6.创建应用工程 6.1.导入SDK例程 6.1.1.......
  • AutoC平台搭建指南(基于NXP i.MX RT1170 MCUXPresso开发环境建设 @Like)
    AutoC平台搭建指南(基于NXPi.MXRT1170MCUXPresso开发环境建设@Like)(2022-11-17) 目录1.功能需求2.硬件平台3.软件工具环境4.建设基础5.安装开发工具和环境5.1.MCUXpressoIDE5.2.i.MXRT1170SDK5.3.GUI-Guider-1.4.1-GA6.创建应用工程6.1.导入SDK例程6......
  • 51MCU记录
    记录51MCU学习过程:51MCU心得体会:学习过程中使用的普中51单片机开发学习板子,结合B站江协科技的51入门视频进行学习;本人体会开发过程中,首先是要要搞清楚原理,可以通过Datasheet来了解芯片的功能,及通信协议时序的规定,还有信号状态切换需要的最小Delay时间等等;51单片机的开发是......
  • 开发板评测-新定义MCU TBK-RD8T3x开发板
    很幸运从合肥新定义公司申请到一块TBK-RD8T3x开发板,笔者第一次做测评有点紧张,希望大家多多见谅哈,老规矩,咱们先看看这块开发板的实际外观吧(以下为实物开箱后的正反面图片)。图1(正面):图2(反面):  从这块开发板的外观上......