精华内容
下载资源
问答
  • 使用st-link+keil下载和调试华大单片机的教程 首先说明一下,手里只有M0和M4内核的芯片,也就只测试了这两种,但是理论上讲这个方法是通用的 一、下载支持包 从华大官网找到你芯片资料页,下载DDL库压缩包和IDE支持...

    使用st-link+keil下载和调试华大单片机的教程

    首先说明一下,手里只有M0和M4内核的芯片,也就只测试了这两种,但是理论上讲这个方法是通用的

    一、下载支持包

    从华大官网找到你芯片资料页,下载DDL库压缩包和IDE支持包,也就是这两个压缩包。

    image-20210325094559953

    分别解压,双击IDE支持包里面的MDK_IDE目录的支持包安装。

    二、添加flash模型

    1,复制文件

    打开DDL库文件夹,找到mcu\MDK\config路径里的FLM后缀的文件,复制到你的keil安装目录的ARM\Flash文件夹。

    2,配置工程

    打开DDL库文件夹,打开任意一个example目录里的工程,这里我选的第一个example\adc\adc_cont_irq_sw\MDK

    点魔术棒配置工程

    image-20210325094917616

    找到Debug选项卡,选择你使用的调试器,我这里是ST-Link,然后点Settings进行设置

    image-20210325095008435

    切换到Flash Download选项卡,点Add添加

    image-20210325095201903

    就可看到刚才复制的文件了,点击添加即可

    image-20210325095710074

    再之后,就可以愉快的进行下载和调试了

    展开全文
  • 华大单片机驱动,当使用开发板的仿真器调试的时候,需要选择DAP选项华大单片机仿真器DAP驱动华大单片机仿真器DAP驱动
  • 华大单片机选型表

    2018-11-27 09:54:44
    本文件为最新的华大单片机选型表,文件打开后选择“只读模式打开”。
  • 本资料中包含了华大单片机HC32L110 HC32L003 HC32L005 HC32F030 HC32F072 HC32F170 HC32F176 HC32F190 HC32F196 HC32L130 HC32L136 HC32L170 HC32L176 HC32L190 HC32L196 HC32L072 HC32L073的原理图,欢迎大家下载...
  • 华大单片机-JLINK下载.zip
  • 华大单片机HC32L110做的IAP远程升级例程,华大单片机其它型号的远程升级方法可以参照此例程。
  • 华大单片机移植RTThread操作系统

    千次阅读 多人点赞 2020-09-27 16:26:02
    华大单片机移植RTThread-国产操作系统 文章目录华大单片机移植RTThread-国产操作系统1.华大单片机型号选择2.RTThread源码下载2.1 .资料说明2.3.源码下载3.移植过程3.1.新建华大单片机最小系统工程模板,这里不展开...

    华大单片机移植RTThread-国产操作系统

    1.华大单片机型号选择

    1.由于工作目前有华大的HC32L13x系列的芯片和开发板,因此本文章的移植过程全部基于该型号的移植。我相信其他型号华大单片机也是类似。毕竟我就是通过stm32的例子移植成功的。

    2.RTThread源码下载

    2.1 .资料说明

    官网:https://www.rt-thread.org/document/site/ 这里有你需要的源码资料以及文档说明,非常重要建议反复阅读。

    野火的开发文档:我强烈推荐除了官网的文档说明外,这本由野火出的《RT-Thread 内核实现与应用开发实战—基于STM32》文章,具体内容可以直接到野火的论坛下载。都是免费开源的。野火的资料是我们嵌入式开发者和入门者领路人,当然正点原子也是!!!!

    2.3.源码下载

    1.华大的工程的源码就不提供了,大家手上应该还是有的。

    2.RTThread的已经集成在了Keil MDK,尽量安装新版本的MDK。

    3.移植过程

    3.1.新建华大单片机最小系统工程模板,这里不展开

    3.2.在Keil MDK加入Rtthread代码

    参考链接:https://www.rt-thread.org/document/site/tutorial/nano/nano-port-keil/an0039-nano-port-keil/#rt-thread-nano 官方的操作,我可能写的没官方好吧。。。
    在这里插入图片描述

    3.3添加rtthread源码到工程中

    在这里插入图片描述

    3.4 添加完成的样子

    在这里插入图片描述

    3.5 移植后需要修改部分东西才能让系统真正跑起来。。

    RT-Thread 会接管异常处理函数 HardFault_Handler() 和悬挂处理函数 PendSV_Handler(),这两个函数已由 RT-Thread 实现,所以需要删除工程里中断服务例程文件中的这两个函数,避免在编译时产生重复定义!
    在这里插入图片描述
    在这里插入图片描述

    其实,说白了,有几个文件是非常重要的,改来改去都是这几个文件,rtconfig.h这是配置文件,因此需要开启什么功能,都是在这里开启宏定义的。第二个文件,board.c主要放里面存放的是与硬件相关的初始化函数,比如我们的外设初始化不再放在main函数,而是放在 rt_hw_board_init() 中,具体看下面

    首先,在我们工程建立跟board.c对应的board.h文件,方便我们将头文件放到该文件中。。下面是我的头文件,参考下即可

    在这里插入图片描述

    然后将该board.c 函数 rt_hw_board_init() 修改成下面这样

    void rt_hw_board_init()
    {
        /* System Clock Update */
        //将原来的改成这两个,还有记得引入头文件
    	SystemInit(); //这个是system.hc3213x.c文件自带的
        SystemCoreClockUpdate();//这个是system.hc3213x.c文件自带的。
        
        /* System Tick Configuration */
        _SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND);
    	
        	//这里开始放我们的外设初始化函数
    		App_Timer0PortCfg();
    		User_KeyInit();
    		Uart_PortInit();
    		App_Uart0Cfg();
    		/* 硬件 BSP 初始化统统放在这里,比如 LED,串口,LCD 等 */
    	
    	
        /* Call components board initial (use INIT_BOARD_EXPORT()) */
    #ifdef RT_USING_COMPONENTS_INIT
        rt_components_board_init();
    #endif
    
    #if defined(RT_USING_USER_MAIN) && defined(RT_USING_HEAP)
        rt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get());
    #endif
    }
    

    至此,只要在main引入

    #include “board.h”

    #include “rtthread.h”

    创建几个任务线程就可以跑系统了啊。。。。。

    基本就可以在华大单片机运行我们的国产RTThread操作系统了。。。
    在这里插入图片描述
    在这里插入图片描述

    补张图:这是rtconfig.h的部分代码,大概就是开启对应的宏定义然后就可以实现对应的功能吧,目前我测试到事件而已啊。。。。然后邮箱,消息队列被工作任务耽搁了!!

    4.测试例子

    main.c 函数
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    5.最后一说:

    这是我自己仿照stm32的移植模式,移植的,中间由于stm32和华大不同也踩了不少坑。也是我第一次接触操作系统和移植。所以难免写的有点水。。。有问题可以评论提出,一起努力解决!!!加油!最后预告下,过不久应该也会出华大移植腾讯的操作系统Tencent OS 。。这个比较简单了。因为华大和腾讯有合作所以就直接有demo历程。。反正支持国产就完事了。。。

    展开全文
  • 华大单片机GPIO配置

    万次阅读 2020-06-05 23:57:14
    华大单片机IO口配置端口结构介绍端口相关配置介绍端口配置操作流程端口复用配置为模拟端口操作流程端口复用配置为数字通用端口操作流程端口上拉使能配置操作流程端口下拉使能配置操作流程端口增强驱动配置操作流程...

    关注、星标、置顶公众号



    端口结构介绍

    无论使用MCU实现什么功能,只要是有意义的功能必然会涉及到IO口的操作。IO口的操作也是MCU的入门操作,按国际惯例一般上手MCU的第一个程序点灯程序就是通过IO口的输出来实现的。

    华大M0+系列单片机的端口电路有两种结构,这两种电路结构大体相同,只是存在三个微小的差别。HC32F(L)x3x、HC32F(L)x7x和HC32F(L)x9x系列芯片的端口电路是一种结构,为了便于说明我们称这种结构为结构一,框图如下:
    在这里插入图片描述
    HC32F003、HC32F005和HC32L110芯片是一种结构,我们称这种结构为结构二,框图如下:
    在这里插入图片描述
    由上面两个构图我们可以很清楚地知道两种结构的区别如下:
    1.结构一的PxOUT(寄存器中出现的x=A,B,C,D,E,F代表芯片含有的端口组,后面的亦是同样的意思)可以通过操作位寄存器(PxBSET、PxBCLR、PxBSETCLR)来直接控制某一位的输出,而不会影响这组寄存器中的其余的位,结构二没有相关的位操作。
    2.结构一输出/输入数据寄存器(PxOUT/PxIN)支持AHB/FAST IO总线访问(通过寄存器 GPIO_CTRL2.ahb_sel 位控制),其他寄存器支持AHB总线访问。结构二端口输入值/输出值寄存器(PxIN/PxOUT)只支持 AHB 总线读写。对于这两种不同的总线,系统时钟(HCLK)对这两种总线的处理周期并不相同。下面两幅图为对于两种总线端口翻转的最快时序:
    在这里插入图片描述
    对于 AHB 总线,每两个 HCLK 周期,IO 翻转一次,而对于 FAST IO 总线,每个 HCLK周期,IO 翻转一次。
    3.结构二对应芯片的RST引脚可以复用成带有内部上拉电阻的数字输入引脚,结构一对应的芯片RST引脚不可以复用为IO引脚。

    重点来了,说完两种结构的差别后进入正题,说下两种结构和共性
    每个端口都可以配置成数字或模拟端口,并且可以实现内部上拉(pull up)/下拉(pull down)的输入,高阻输入(floating input),推挽输出(CMOS output),开漏输出(open drain output),两档驱动能力输出。

    数字端口被配置成模拟端口后,数字功能被隔离,不能输出数字“1”和“0”,CPU 读取端口输入值寄存器的结果为“0”。
    每个数字端口被配置为输入时,都可以提供外部中断,中断类型可以配置成高电平触发、低电平触发、上升沿触发、下降沿触发 4 种,查询 Px_STAT[n]的中断标志位即可知道相应的中断触发端口。另外,每个数字端口的中断都可以把芯片从睡眠模式/深度睡眠模式唤醒到工作模式。
    芯片复位后端口为高阻输入(floating input),目的是防止芯片被异常复位时,对外部器件产生异常动作。
    当端口配置为数字端口的时候可以通过设置Px_SEL寄存器接受各功能模块(如 SPI,UART,I2C,Timer 等)的输入输出信号,此内容放到相应外设模块内容来讲解。

    端口相关配置介绍

    端口相关配置如下:
    数字端口(PxADS对应位为0);
    模拟端口(PxADS对应位为1);
    端口引脚为输入(PxDIR对应位为1);
    端口引脚为输出(PxDIR对应位为0);
    输入电平状态(PxIN 对应引脚获得高电平对应位为1,获得低电平对应位为0);
    输出电平选择(PxOUT 对应位为1相应引脚输出高电平,为0相应引脚输出低电平);
    内部上拉(PxPU对应位为1);
    内部下拉(PxPD对应位为1);
    高阻(PxPU对应位为0且PxPD对应位为0);
    推挽输出(PxOD对应位为0);
    开漏输出(PxOD对应位为1);
    低驱动能力输出(PxDR对应位为1);
    高驱动能力输出(PxDR对应位为0);
    端口高电平中断使能(PxHIE对应位为1);
    端口低电平中断使能(PxLIE对应位为1);
    端口上升沿中断使能(PxRIE对应位为1);
    端口下降沿中断使能(PxFIE对应位为1);

    对于结构一的芯片特有寄存器
    端口置位(PxBSET对应位为1置位,为0保持);
    端口清零(PxBCLR对应位为1清零,为0保持);
    端口置位清零(PxBSETCLR (PxBSET对应位为1置位,为0保持;PxBCLR对应位为1清零,为0保持))。PxBSET 和 PxBCLR 相同位同时置 1 时,PxBCLR 具有高优先级。即该端口被清零。

    端口配置操作流程

    端口复用配置为模拟端口操作流程

    a)设置寄存器 PxADS[n]为 1

    端口复用配置为数字通用端口操作流程

    a) 设置寄存器 PxADS[n]为 0
    b) 设置寄存器 Px_SEL 为 0
    c) 设置寄存器 PxDIR[n]为 1:端口方向为输入,CPU 可以读取端口的状态 PxIN[n]。
    d) 设置寄存器 PxDIR[n]为 0:端口方向为输出
    e) 设置寄存器 PxOUT[n]为 1:端口输出高电平
    f) 设置寄存器 PxOUT[n]为 0:端口输出低电平

    端口上拉使能配置操作流程

    a)设置寄存器 PxPU[n]为 1

    端口下拉使能配置操作流程

    a) 设置寄存器 PxPU[n]为 0
    b) 设置寄存器 PxPD[n]为 1
    注:当 PxPU[n],PxPD[n]同时置 1 时,PxPU[n]优先级高,PxPD[n]无效。

    端口增强驱动配置操作流程

    a)设置寄存器 PxDR[n]为 0

    端口开漏输出配置操作流程

    a)设置寄存器 PxOD[n]为 1

    配置代码

    无上下拉输入配置

        stc_gpio_cfg_t stcGpioCfg;
       
        Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);   //打开GPIO外设时钟
    
        stcGpioCfg.enDir = GpioDirIn;                            //端口方向配置->输入
        stcGpioCfg.enDrv = GpioDrvL;	                         //驱动能力配置->高驱动能力
        stcGpioCfg.enPu = GpioPuDisable;                         //端口上下拉配置->无
        stcGpioCfg.enPd = GpioPdDisable;
        stcGpioCfg.enOD = GpioOdDisable;                         //开漏输出配置->开漏输出关闭
        stcGpioCfg.enCtrlMode = GpioAHB;                         //总线控制模式配置->AHB
        Gpio_Init(STK_USER_PORT, STK_USER_PIN, &stcGpioCfg);     // GPIO IO USER KEY初始化
    

    推挽输出配置

        stc_gpio_cfg_t stcGpioCfg;
       
        Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);  //打开GPIO外设时钟
    
        stcGpioCfg.enDir = GpioDirOut;                          //端口方向配置->输出
        stcGpioCfg.enDrv = GpioDrvL;	                        //驱动能力配置->高驱动能力
        stcGpioCfg.enPu = GpioPuDisable;                        //端口上下拉配置->无
        stcGpioCfg.enPd = GpioPdDisable;
        stcGpioCfg.enOD = GpioOdDisable;                        //开漏输出配置->开漏输出关闭
        stcGpioCfg.enCtrlMode = GpioAHB;                        //总线控制模式配置->AHB
        Gpio_Init(STK_LED_PORT, STK_LED_PIN, &stcGpioCfg);      // GPIO IO LED端口初始化
        Gpio_ClrIO(STK_LED_PORT, STK_LED_PIN);                  // LED关闭
    

    常用的端口操作库函数

    单端口操作

    单个IO口输出低电平

    原型  en_result_t Gpio_ClrIO(en_gpio_port_t enPort, en_gpio_pin_t enPin)
    举例  Gpio_ClrIO(GpioPortA ,GpioPin1 );                                    //PA01端口输出低电平
    

    单个IO口输出高电平

    原型  en_result_t Gpio_SetIO(en_gpio_port_t enPort, en_gpio_pin_t enPin)
    举例  Gpio_SetIO(GpioPortA ,GpioPin1 );                                   //PA01端口输出高电平
    

    获得IO口输入值

    原型  boolean_t Gpio_GetInputIO(en_gpio_port_t enPort, en_gpio_pin_t enPin)
    举例  u8PA1Stat = Gpio_GetInputIO(GpioPortA ,GpioPin1);                  //u8PA1Stat 为PA1端口输入电平状态
    

    获得IO口输出值

    原型  boolean_t   Gpio_ReadOutputIO(en_gpio_port_t enPort, en_gpio_pin_t enPin)
    举例  u8PA1Stat = Gpio_ReadOutputIO(GpioPortA ,GpioPin1);                //u8PA1Stat 为PA1端口输出电平状态
    

    多端口操作

    同时让一组端口中的多个引脚输出低电平

    原型  en_result_t Gpio_ClrPort(en_gpio_port_t enPort, uint16_t u16ValMsk)
    举例  Gpio_ClrPort(GpioPortA , 0x000F);                              //PA0~PA3输出低电平,其余保持
    

    同时让一组端口中的多个引脚输出高电平

    原型  en_result_t Gpio_SetPort(en_gpio_port_t enPort, uint16_t u16ValMsk)
    举例  Gpio_SetPort(GpioPortA , 0x000F);                             //PA0~PA3输出高电平,其余保持
    

    获取一组IO口的输入数据

    原型  uint16_t  Gpio_GetInputData(en_gpio_port_t enPort)
    举例  u16PAInputData = Gpio_GetInputData(GpioPortA );               //u16PAInputData的值为PA组输入数据
    

    同时让一组端口输出多个高低电平

    原型  en_result_t Gpio_SetClrPort(en_gpio_port_t enPort, uint32_t u32ValMsk)
    举例  Gpio_SetClrPort(GpioPortA , 0x00f0000f);                     //PA4 ~ PA7输出高电平PA0 ~ PA3输出低电平
    

    关注微信公众号『芯缘意码』,查看更多内容,回复“加群”加入技术交流群。
    淘宝 店铺 搜索 『芯缘意码』,购买开发学习板仿真器。
    公众号:芯缘意码https://shop219666036.taobao.com

    展开全文
  • 华大单片机移植TencentOS

    千次阅读 2020-09-30 11:26:55
    华大单片机移植TencentOS-Tiny 文章目录华大单片机移植TencentOS-Tiny一、参考链接:二、资料准备三、开始移植四、移植完成-测试五、总结 一、参考链接: 1.Tiny的有关概述我就不说了。直接上官网看就可以了。 2.(1)...

    华大单片机移植TencentOS-Tiny

    一、参考链接:

    1.Tiny的有关概述我就不说了。直接上官网看就可以了。

    2.(1)TencentOs官网

    (2)其他参考链接:杰杰博主

    (3)API说明和demo

    二、资料准备

    1.要先移植TencentOS,肯定必须要有Tiny的源码,下载源码有两个方法,(1)通过github直接下载 github链接,(2)通过腾讯的 工蜂链接

    2.要在华大单片机上移植,同样也必须要又华大单片机的可用工程模块,博主我使用的是华大HC32L13X系列,其他系列一样。工程模板,相信大家手上都是有的。

    3.万事俱备,只欠东风

    三、开始移植

    1.由于前面有了许多前辈走的坑,以及写下的心血,有些部分仔细操作可以具体看下 上面的 杰杰博主链接。

    2.下载下来是下面的样子

    在这里插入图片描述

    3.由于Tencent与华大有合作吧,反正出了个Hc32L136的demo,这就很舒服了。。不过我还是不喜欢,毕竟没有比这就动手来的实在,也能加深印象。
    在这里插入图片描述

    4.在我们的工程目录下新建一个TencetOS,然后将arch和kernel copy过来,在建个文件夹将 tos_config.h也拷贝过来。再将文件添加到工程中
    在这里插入图片描述

    (1)TencentOS\kernel\core路径下的所有.c文件添加到tos/kernel工程分组中.同时将TencentOS\kernel\pm目录下的所有.c文件添加到tos/kernel工程分组中。
    在这里插入图片描述

    (2)TencentOS\arch\arm\arm-v7m\common路径下的 tos_cpu.c、tos_fault.c添加到tos/arch工程分组下面,也将TencentOS\arch\arm\arm-v7m**cortex-m0+**\armcc路径下的port_s.S、port_c.c文件添加到tos/arch`工程分组下面

    (3)再将TencentOS\TOS-CONFIG路径下的tos_config.h文件添加到tos/config`工程分组中。

    (4)最后将头文件的路径添加进去即可

    …\TencentOS\arch\arm\arm-v7m\common\include …\TencentOS\arch\arm\arm-v7m\cortex-m0+\armcc …\TencentOS\kernel\core\include …\TencentOS\kernel\pm\include …\TencentOS\TOS-CONFIG

    (5)把这个勾上
    在这里插入图片描述

    (6)添加这个头文件
    在这里插入图片描述

    (7)把 interrupts_hc32l13x.c里面的这个函数改成这样

    void SysTick_Handler(void)
    {		
    	//系统自带
       //SysTick_IRQHandler();
    	 
    	//TOS
    	if(tos_knl_is_running())   //TOS开始跑了,才能执行正常的调度处理
    	{
    		tos_knl_irq_enter();  //进入中断
    		tos_tick_handler();		//调用UCOS的时钟服务函数
    		tos_knl_irq_leave();	//触发任务切换软中断
    	
    	}
    }
    

    通过上面的操作基本将TencentOS成功的移植到我们的工程模块中了。接下就测试下是否可行。。写个简单的demo试下

    四、移植完成-测试

    对了。。。。。。。
    要在main函数添加这个头文件哦!!!
    #include "tos_k.h"

    #if TASk_TEST  
    k_task_t task1;
    k_task_t task2;
    
    k_stack_t task_stack1[512];
    k_stack_t task_stack2[512];
    
    
    
    
    void test_task1(void *parameter);
    void test_task2(void *parameter);
    
    void test_task1(void *parameter)
    {
    	while(1)
    	{
    		printf("hello world sym 1!!!!\r\n");
    		tos_task_delay(1000);
    	
    	}
    }
    
    void test_task2(void *parameter)
    {
    	while(1)
    	{
    		printf("hello world sym 2!!!!\r\n");
    		tos_task_delay(2000);
    	
    	}
    }
    #endif
    
    	k_err_t err1;
    	k_err_t err2;
    
    
    tos_knl_init();  //初始化内核
    
    #if TASk_TEST
    	err1 = tos_task_create(&task1,
    	"test_task1",
    	test_task1,
    	NULL,
    	2,
    	task_stack1,
    	512,
    	0);
    	
    	if(err1 != K_ERR_NONE)
    	{
    		printf("TencentOS Create task fail! code : %d \r\n",err1);
    	}	
    	
    	
    	err2 = tos_task_create(&task2,
    	"test_task2",
    	test_task2,
    	NULL,
    	3,
    	task_stack2,
    	512,
    	0);
    	
    	if(err2 != K_ERR_NONE)
    	{
    		printf("TencentOS Create task fail! code : %d \r\n",err2);
    	}
    
    	#endif
    
    	tos_knl_start();
    

    实验现象:多说无凭
    在这里插入图片描述

    五、总结

    1.基本上操作系统的移植都相差不大,都是移植内核和部分配置文件即可。

    2.不同的芯片厂商不同。可以的库函数配置不一样。所以这才是注意的点。。

    3.最后一说,文章有一部分是参考杰杰博主的。再次感谢。文中有何问题欢迎提出!一起改进!加油。支持国产

    展开全文
  • 华大单片机串口BUG

    2020-06-11 17:31:56
    华大单片机串口BUG 波特率较快时,发送使用查询,接收使用中断方式,波特率为115200,会死机,停在Uart_SendData函数,原因为,虽然发送是不开中断,但是接收会进入中断函数,此时刚好发送产生中断标志,一起把发送...
  • 华大单片机HC32L130X

    2020-08-09 16:26:38
    文章目录华大单片机HCL13X系列1.资料获取:2.学习思路:3.客观意见:4.预告5.推荐博客 华大单片机HCL13X系列 1.资料获取: (1)FTP服务器 (2)百度网盘 (3)交流群:164973950 2.学习思路: 看数据手册及用户手册...
  • 华大单片机KEIL pack包下载地址:https://github.com/hdscmcu/pack 选择自己需要的包安装即可
  • 此文件为国产超低功耗华大单片机开发板及仿真器的驱动文件。适用于开发板或仿真器与电脑连接后不能工作的问题。
  • 华大单片机-串口通讯多字节

    千次阅读 2020-08-12 21:21:40
    目录华大单片机---串口通信1.串口通信基本原理(1)串口通信原理:(2)华大的串口通信:(3)简单介绍下:(4)多字符发送:2.初始化代码3.发送代码:4.接收中断代码 华大单片机—串口通信 1.串口通信基本原理 (1...
  • 本源码为原创,可以实现华大单片机TTL和红外相互转换,可以支持带载波红外和不带载波的红外,带电路图和源码
  • 华大单片机如何实现软件复位重启

    千次阅读 2020-10-24 17:45:19
    对于华大单片机大家都知道硬件的重启,只要把RESET引脚给一个20us以上的低电平,再拉高就可以实现,或者直接断电单片机的供电重新上电, 也可以实现单片机的重新运行。可以看出来,硬件的重启需要手工操作来实现,...
  • 华大单片机HC32F005如何新建工程(lite库版本)准备工作正式工作 本文以华大单片机HC32F005芯片为例介绍如何在MDK中如何使用lite库来创建新工程。大家做项目开发的时候推荐使用lite库来创建新工程。使用ddl库与lite...
  • 华大单片机部分单片机swd与串口复用,程序上电后不要立即初始化复用的串口,或者把SWD复用为普通的串口,需要稍加延时,不然下次烧写程序不能用swd了,还有isp下载,不能使用复用SWD的串口,串口的模式注意用一个tb8...
  • 华大单片机HC32F460初接触

    千次阅读 2020-12-12 21:35:29
    华大单片机HC32F460JETA初接触 一直想找一颗比较合适的国产的MCU来做多功能的FOC驱动器,找来找去在易创栈有人推荐华大半导体的F4系列,于是去华大官网查了一下,在通用类MCU里面筛选M4内核、封装LQFP48的片子,还...
  • 华大单片机HC32L136锁相环(寄存器版本) #define RC_TRIM_BASE_ADDR ((volatile uint16_t*) (0x00100C00ul)) //rch 4M 时钟地址 void PLL_RchPclk(unsigned char a) { M0P_SYSCTRL->PERI_CLKEN_f.FLASH=1; // ...
  • 华大单片机HC32L136这颗芯片中包含了多个可以用来实现定时功能的外设,分别是通用定时器(TIM0/1/2/3)、低功耗定时器(LPTIM)、可编程计数阵列(PCA)、高级定时器(TIM4/5/6)、实时时钟(RTC)、看门狗定时器(WDT)和时钟...
  • 本资源中包含了LQFP32-7X7_080 LQFP48-7X7_050 LQFP64-7X7_040 LQFP64-10X10_050 LQFP80-12X12_050 LQFP100-14X14_050 QFN20-3X3_040 QFN32-4X4_040 QFN32-5X5_050 SOP20_127 TSSOP16_065 TSSOP20_065 TSSOP28_065...
  • 项目场景: 记录华大单片机hc32f196使用遇到的坑 问题描述: 堆栈问题 启动文件中,堆栈设置太小。跑程序时一直进异常中断,修改栈大小,问题解决。 原因分析: 解决方案:
  • 华大单片机(HDSC)HC32F003与STM8S003F3单片机封装管脚兼容,可以对STM8S003F3进行替换,近期由于全球疫情的影响,意法的产能极不稳定,而且供求关系必然导致成本的提高。优势在于替换时不需要对电路板进行改动可...
  • 近期做个项目用到了华大单片机HC32L176PATA,在做串口通讯的时候遇到收发数据错误的问题,用了2天的时间查遍了所有问题,最后尝试设置端口后问题得到解决,问题也反应给了华大的FAE,希望在后续的代码中得到更改。...
  • 可以看到只有ARM这一个选项,里面没有华大单片机的HDSC选项。下面就以HC32F003为例介绍如何设置,将华大单片机的相应型号加入其中。 首先确定MDK的版本为5.14或以上低版本的MDK会不成功。点击projec->manger->...
  • 原因:华大单片机官方库中含有延时函数,延时函数使用滴答定时器实现。在ADC使用中必需开启BGR模块(功能没看懂),开启过程中使用了官方延时函数,扰乱了RTT系统时钟,屏蔽掉这些延时函数可以正常工作。 收获:华大...
  • 华大单片机DDL库与lite库的区别

    千次阅读 2020-06-04 00:11:21
    大家使用华大单片机的时候,会发现在SDK开发包的驱动库及样例文件夹中会有DDL和lite两个版本的例程(因为样例也是基于相应的驱动库来开发的,所以本文后面为了称呼方便,我们把驱动库及样例简称为库)。下面两图列出...
  • 华大单片机HC32F003如何新建工程(ddl库版本)准备工作正式工作 准备工作 在硬盘中找个位置建立mdk_test文件夹,此文件夹用来存储项目中调用及生成的所有非内核的文件(内核文件位置与keil安装位置有关)。 在mdk_test...
  • 华大单片机如何向MDK中加入头文件和库文件关键文件介绍加入头文件 大多数习惯于8位单片机开发的工程师,都会使用操作寄存器的方式来使用单片机。当初次接触华大单片机库开发的时候,会发现库里有好多的文件,不知道...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 209
精华内容 83
关键字:

华大单片机