草庐IT

GD_UniqueCodeInfo

全部标签

[GD32F4]基于GD32固件库移植cherryusb[STM32F4]

[GD32F4]基于GD32固件库移植cherryusb[STM32F4]基础环境使用开发板是淘宝买的不知名开发板,没什么好说的,具体的型号是GD32F450VET6。使用的cherryusb版本是0.9.0版本。使用的GD32官方固件库版本是:GD32F4xx_Firmware_Library_V3.0.4大神速通cherryusb最牛的地方在于抛弃掉所有的依赖,只需要知道芯片的usb中断函数名称usb外设的基地址使用的io口就行。本文实现了gd32f4模拟usbfshid设备作为鼠标。具体步骤首先准备参考cherryusb的如下教程先放松一点,别管usb,老老实实准备一个可以使用串口pri

GD32F303高级定时器输出互补PWM-开发笔记

GD32F303高级定时器timer0输出3组互补PWM主要特性◼总通道数:4;◼计数器宽度:16位;◼时钟源可选:内部时钟,内部触发,外部输入,外部触发;◼多种计数模式:向上计数,向下计数和中央计数;◼正交编码器接口:被用来追踪运动和分辨旋转方向和位置;◼霍尔传感器接口:用来做三相电机控制;◼可编程的预分频器:16位,运行时可以被改变;◼每个通道可配置:输入捕获模式,输出比较模式,可编程的PWM模式,单脉冲模式;◼可编程的死区时间;◼自动重装载功能;◼可编程的计数器重复功能;◼中止输入功能;◼中断输出和DMA请求:更新事件,触发事件,比较/捕获事件,换相事件和中止事件;◼多个定时器的菊链使得

Windows 7 CDC 串口驱动,GD32

Windows7自带CDC串口类设备的驱动程序文件usbser.sys,所缺的是驱动配置文件usbser.inf文件,将Windows10的usbser.inf文件拷贝到Windows7,注释掉SourceDisksNames和SourceDisksFiles部分就可以作为Windows7的CDC串口类设备通用的驱动配置文件,下文有修改好的usbser.inf文件,拷贝保存即可。适用于所有CDC类设备,不管是哪家的设备,而且安装过一次以后,再插入其它CDC串口类设备都会自动安装。 安装过程首先插入CDC设备,忽略未能成功安装驱动程序错误,打开设备管理器,在对应设备上点击右键,菜单中选择更新驱动

【IAP】STM32和GD32的IAP原理分析、教程、资料整理

文章目录前言一、什么是IAP?二、IAP执行原理(以STM32F10X为例)2.1STM32F10X的储存器映像2.2正常上电的运行流程2.3加入IAP后的Bootloader运行流程2.4IAP过程的跳转(有要点)2.5IAP过程的总结三、YModem协议3.1介绍3.2握手过程(1)起始帧格式:(2)数据帧格式:(3)结束帧格式:四、教程(以STM32F10X的官方IAP例程为例)4.1Bootloader的写入第一步:keil设置MCU内存大小第二步:限制Bootloader位置、程序的大小4.2APP程序的烧写第一步:keil设置APP的烧录位置第二步:APP程序中重设中断向量表地址4

GD32F3x0 USB CDC应用案例

GD32F3x0USBCDC应用本文有点长,描述了从0开始移植驱动到应用的过程和思路准备工作:因项目需求这两天需要做个USB的虚拟COM口发卡器,实现双向通讯,由于功能较为简单我们选择GD32F350来开发。先跑跑官方例程:GD32F3x0_Firmware_Library_V2.2.1\Examples\USBFS\USB_Device\cdc_acm安装GD32USB驱动:USB_Virtual_Com_Port_Driver_v2.0.2.2673我这里采用keilMDK5来开发,keil的安装这里省略。安装GD32的DFP包:https://www.gd32mcu.com/cn/dow

Ethercat学习-GD32以太网学习

文章目录1、GD32F4以太网简介2、以太网模框图简介3、以太网主要模块介绍SMI接口RMII接口与MII接口DMA控制器4、以太网配置流程5、其他1、GD32F4以太网简介GD32F4系列以太网模块包含10/100Mbps以太网MAC,数据的收发都通过DMA进行操作,支持MII(媒体独立接口)与RMII(简化的媒体独立接口)两种与物理层(PHY)通讯的标准接口。2、以太网模框图简介​以太网需要外接一个PHY(以太网芯片)才可以进行通信。与PHY连接的方式有两种,一种是通过MII直接连接,将MII接口化简为RMII接口,然后再与PHY进行连接。另外与PHY相连的还有一个SMI接口(站点管理接口

GD32F4——外部中断

一、NVIC中断系统Cortex-M4集成了嵌套式矢量型中断控制器(NestedVectoredInterruptController,NVIC)来实现高效的异常和中断处理。中断系统包含外部中断、定时器中断、DMA中断和串口中断等。二、EXTI外部中断EXTI(中断/事件控制器)包括23个相互独立的边沿检测电路并且能够向处理器内核产生中断请求或唤醒事件。EXTI有三种触发类型:上升沿触发、下降沿触发和任意沿触发。   三、中断触发源EXTI触发源包括来自I/O管脚的16根线以及来自内部模块的7根线,包括LVD、RTC闹钟、USB唤醒、以太网唤醒、RTC侵入和时间戳、RTC唤醒。通过配置SYSC

单片机移植freemodbus主机(STM32、GD32、瑞萨、国民技术等)

一、移植库源代码从github下载:https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32无法下载或者下载太慢可以用资源下载,无需积分。freeModbus主机源码下载示例代码一、工程创建参考从机代码创建三、源代码移植将FreeModbus主机源代码拷贝到工程中间件-第三方库-freemodbus源码库:即Middlewares\Third_Party\FreeModbusMaster文件夹中。将源码添加到工程中头文件包含3.1源码接口完善FreeModbus的移植主要包含:物理层接口的修改、应用层回调的修改。具体函数如下:3.1

GD32F103串口DMA收发(空闲中断 + DMA)

GD32F103串口DMA收发(空闲中断+DMA)此前写了一篇DMA串口收发的文章,参照的是GD官方例程,虽然实现了串口数据的传输,后面在实际项目应用时发现还是有点问题,不能完全按照预想的方式进行数据传输和处理,经过不断的调试,现更新如下,特此记录。GD32F103串口DMA收发(空闲中断+DMA)1.串口IO初始化这次使用的是GD32F103CBT6串口2,对应Pin脚PB10、PB11。代码如下:uint8_trxbuffer[84];uint8_ttxbuffer[84]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a};#defin

兆易GD32E508的SHRTIM配置 主从定时器 产生2对相位可调互补PWM 带死区

简介GD32E50X的SHRTIM与STM32的HRTIM工作原理高度相似,但是兆易官方只有从定时器发波的例子(批评),这里教大家使用主定时器来改变从定时器的起始相位的方式产生移相互补PWM(库函数配置方式)。一、SHRTIM功能简介SHRTIM高分辨率时钟,在180MHz主频基础上64倍频,可以获得最高11.52GHz频率的PWM,用来产生1MHz方波可以获得11520的调整步长,隔壁STM32G4X4只有5440调整步长,或许GD32E50X就是用来对标STM32G4X4。SHRTIM拥有一个MASTER_TIMER和五个SLAVE_TIMER,结构框图如下:二、库函数配置1.SHRTIM