草庐IT

GD32F303基于USBD库的usb custom hid 双向通讯实现

默认已经建立好需要移植的GD32F303空白工程环境:keil  GD库版本:V2.1.4通讯工具:链接:https://pan.baidu.com/s/1Ukuy0u52C9ufPGz9QcHONA 提取码:d9rf正文开始USBD库植步骤:找到GD官网的软件包本文中用的是GD32F30x_Firmware_Library_V2.1.4将Firmware\GD32F30x_usbd_library文件夹全部拷贝至工程目录然后添加C文件,参考官方customhiddemo是这样 添加H文件路径 需要在官方customhiddemo找到这俩两个头文件,加到自己工程里这俩文件随意放,我是放在自己的

GD32F4—RTC闹钟及自动唤醒中断配置详解

GD32F4—RTC闹钟及自动唤醒中断配置详解一、简介二、框图三、RTC初始化和配置一、简介GD32F4x的RTC例程网上资源较少,详细阅读用户手册后做出如下配置。RTC模块提供了一个包含日期(年/月/日)和时间(时/分/秒/亚秒)的日历功能。除亚秒用二进制码显示外,时间和日期都以BCD码的形式显示。RTC可以进行夏令时补偿。RTC可以工作在省电模式下,并通过软件配置来智能唤醒。RTC支持外接更高精度的低频时钟,用以达到更高的日历精度。下边就以RTC模块的框图为引线,对RTC的相关功能和操作做相关介绍。二、框图RTC单元有三个可选的独立时钟源:LXTAL、IRC32K和HXTAL,一般选用LX

国产单片机GD32系列开坑,带你零死角玩转GD32 第六章

【开坑国产单片机GD32系列,带你零死角玩转GD32】第六章GD32F103C8T6串口开发板设计指南(二)目录【开坑国产单片机GD32系列,带你零死角玩转GD32】第六章GD32F103C8T6串口开发板设计指南(二)(1)前言(2)硬件设计部分难点(2.1)USB转串口电路设计难点(2.2)MCU晶振电路,BOOT,SWD的设计难点(3)硬件原理图解决方案的设计(3.1)USB转串口电路原理图设计(3.2)MCU晶振电路,BOOT,SWD的原理图设计(4)中场总结(1)前言历添新岁月,春满旧山河;      开头别的先不说,先祝各位彦祖新年快乐!      新的一年,准备给粉丝们安排一波福

GD32单片机和STM32单片机的对比分析

GD32单片机和STM32单片机的对比分析文章目录GD32单片机和STM32单片机的对比分析1、内核和主频2、供电和功耗3、Flash和RAM4、外设和引脚5、开发环境和成本6、总结7、参考文献GD32单片机和STM32单片机都是基于ArmCortex-M3/M4内核的32位通用微控制器,广泛应用于各种嵌入式系统和物联网领域。两者之间有很多相似之处,但也有一些不同之处,本文将从以下几个方面对比分析两者的特点、优势和开发成本。1、内核和主频GD32单片机采用的是二代的M3/M4内核,而STM32单片机主要采用的是一代的M3/M4内核。根据ARM公司的M3内核勘误表,GD32使用的内核只有一个BU

STM32/GD32 BootLoader升级 IAP升级

前言如果我们的App程序起始地址在0x08006000,并且App的中断向量表在起始地址,那么BootLoader程序下载App后,为了App程序能正确运行,开始App程序的运行后第一步,就要把中断向量表重定位到0x08006000那里。跳转到新程序运行我们的BootLoader下载App程序后,App程序就需要做同样的事情。主要有三个步骤,其中BootLoader程序需要做的是:跳转到复位向量App需要做的是:重定位中断向量表设置栈指针 根据上图分析加入IAP后的起动和运行过程STM32复位后,还是从0X08000004地址取出复位中断向量的地址,并跳转到复位中断服务程序,在运行完复位中断服

GD32F470 移植STM32F429工程 Keil调试笔记

keil版本:5.25安装GigaDevice.GD32F4xx_DFP.3.0.4.packKeil.STM32F4xx_DFP.2.15.0.pack一、GD32F470与STM32F429切换编译1、原项目为STM32F429工程,切换到GD32F470只需在OptionsforTarget"“对话框的Device菜单中选中“GD32F470II”,重新编译即可,一般不会有编译错误。2、将项目工程在切换回STM32F429,在OptionsforTarget”"对话框的Device菜单中选中“GD32F29IITx”,重新编译即可,但这样会显示编译错误,如图:空间不够报警。解决:STM3

GD32f303之rs485配置

简介    rs485是一种硬件通信接口,USART引脚的TTL电平通过SP485芯片转换为差分信号,+2V~+6V表示"0",-6V~-2V表示"1"。RS485有两线制和四线制两种接线,四线制是全双工通讯方式,本文采用两线制半双工通讯方式。1rs485初始化//1、USART配置 /*enableGPIOclock*/  rcu_periph_clock_enable(RCU_GPIOB);  /*enableUSARTclock*/  rcu_periph_clock_enable(RCU_USART2);  /*connectporttoUSARTx_Tx*/  gpio_init(G

stm32或gd32移植libcanard实现UAVCAN协议

一、源码下载1、git下载点击我下载2、csdn下载自己上传的点击下载二、源码移植我自己是使用rt-thread操作系统移植的。但是不局限与操作系统,裸机也可以。1、首先将源码加入到工程2、分别实现一个内存的分配与释放函数,他是一个指针函数,原型为typedefvoid*(*CanardMemoryAllocate)(CanardInstance*ins,size_tamount);staticvoid*mem_allocate(CanardInstance*constcanard,constsize_tamount){(void)canard;returnrt_malloc(amount);

GD32 SPI DMA收发

由于需求用到GD32SPI,故做相关实验记录分享,本实验为SPIDMA发送与接收 16bit数据,GD32相关配置如下GD32F30x系列DMA配置如下 SPIDMA发:使用SPI0,对应的DMA为0Channel2。 注意打开对应DMA与SPI相关时钟,DMAwrite使用时需要先拉低NSS,发送结束,拉高NSSvoidSPI0_config(void){ rcu_periph_clock_enable(RCU_GPIOA);rcu_periph_clock_enable(RCU_SPI0); rcu_periph_clock_enable(RCU_DMA0);/*SPI0GPIOconfi

GD32(7)程序烧录及运行

目录简介启动方式Boot0=0,Boot1=xBoot0=1,Boot1=0Boot0=1,Boot1=1烧录方式ICPISPIAPIAP的作用IAP与ICP、ISP的运行差别IAP的Bootloader程序实现IAP的APP程序实现简介       微控制器在硬件中作为核心,通过执行保存在内部存储器中的程序,运行各种外设,并通过引脚,控制其它电路,而将程序保存在微控制器内部存储器的过程,被称为烧录。       烧录的方式可分为以下三种:ICP(In-CircuitProgrammer,在电路编程)ISP(In-SystemProgramming,在系统编程)IAP(In-Applicati