
GD32系列
文章平均质量分 93
介绍兆易创新的32位微处理器的使用
马浩同学
佛性更新MCU教程
展开
-
【GD32】从零开始学GD32单片机 | DAC数模转换器 + 三角波输出例程
上一篇讲解了ADC的使用,所以这一篇讲DAC的使用,两者其实就是互补的关系,ADC将模拟信号转为数字信号,而DAC将数字信号转为模拟信号。具体的使用上DAC就要比ADC要简单地多。下面是DAC的结构框图。原创 2024-12-21 15:29:35 · 1528 阅读 · 0 评论 -
【GD32】外部存储器控制器(EXMC)驱动16位8080时序并口屏(GD32F470ZGT6)
GD32F4系列中的EXMC外设可以用来驱动外部的储存器,如SDRAM、SRAM等等,在之前的中有介绍其用法。但EXMC还有一种比较特别的玩法就是用来驱动8080并口屏;之前讲过,EXMC的工作原理就是把外部的储存器地址映射到芯片内部的一段地址中。而显示屏的驱动其实也是把数据写到显示芯片的RAM中,这个RAM本质还是储存器的一种,因此我们也可以用EXMC外设把显示芯片的RAM映射到单片机中,这样可以大大提高通讯速度。原创 2024-09-07 17:37:09 · 2138 阅读 · 0 评论 -
【GD32】RT-Thread实时操作系统移植(GD32F470ZGT6)
最近几年可以发现国产的实时操作系统越来越受欢迎了,本篇要移植的就是当中的翘楚——RT-Thread。RT-Thread诞生于2006年,是国内以开源中立、社区化发展起来的一款高可靠实时操作系统 ,由睿赛德科技负责开发维护和运营。并且在上一年度的市场欢迎程度中位列第一,第一次超过了老牌的FreeRTOS系统。相比于FreeRTOS,它的优势是强大的第三方和官方软件库,这意味着在项目开发中可以大大减少软件库移植的时间,提高了开发效率。不过根据我以往的项目经验,原创 2024-09-01 14:51:52 · 2995 阅读 · 1 评论 -
【GD32】从零开始学GD32单片机 | USB通用串行总线接口+HID键盘例程(GD32F470ZGT6)
USB,全称通用串行总线,相信大家都非常熟悉了,日常生活只要用到手机电脑都离不开这个接口,像鼠标键盘U盘都需要使用这个接口进行数据传输,下面简单介绍一下。原创 2024-08-31 16:00:25 · 2326 阅读 · 7 评论 -
【GD32】FreeRTOS实时操作系统移植(GD32F470ZGT6)
第四个参数是用户数据指针,如果要传数据给任务就可以设置;第五个参数是任务的优先级,数字越大优先级越高,这个跟单片机的优先级逻辑是相反的;第六个参数是任务句柄,如果不需要获取任务的句柄那么可以传空指针。调vTaskStartScheduler启动任务调度。一般来说,在led_task任务函数里面,先初始化LED灯,然后在死循环里面每隔一秒改变一次灯的状态,使用vTaskDelay函数进行延时,里面的数要。原创 2024-08-25 15:14:39 · 1860 阅读 · 0 评论 -
【GD32】从零开始学GD32单片机 | PMU电源管理单元+深度睡眠和待机例程(GD32F470ZGT6)
PMU电源管理单元通俗讲就是用来管理MCU的电源域的,它主要有两个功能——电压监测和低功耗管理。在GD32中一共有3个电源域——VDD/VDDA域、1.2V域和备份域。VDD/VDDA域主要供PMU控制器、ADC、DAC等外设使用;1.2V域就是大部分外设都会使用的电源域,像芯片核心、AHB外设、APB外设;备份域主要供RTC外设使用。2. 低功耗模式低功耗模式是PMU的重要功能,也是我们平时用得最多的。在GD32F4中,一共有3种低功耗模式——睡眠模式、深度睡眠模式和待机模式。原创 2024-08-17 15:05:41 · 1022 阅读 · 0 评论 -
【GD32】基于NOR Flash的LittleFs文件系统移植(GD32F470ZGT6)
LittleFs是一个轻量级的文件系统,专门为微处理器而设计的。它的主要优点是具有断电数据保护功能和均衡写入功能。断电保护比较容易理解,但均衡写入算是比较创新的一个功能。在MCU的应用中,我们常使用NOR Flash来拓展储存,NOR Flash的价格虽然便宜,但是寿命会比较低,在;通常的应用中,我们其实只会用到Flash靠前的空间,很少说会用满整块Flash。原创 2024-08-10 17:29:00 · 1798 阅读 · 0 评论 -
【GD32】史上最优裸机版NOR Flash驱动 | 快速读+写操作页对齐+擦除扇区对齐+保留数据擦除(GD32F470ZGT6)
在单片机应用中,我们经常使用外部Flash来存储用户数据,NOR Flash是当中最常用的,一片几块钱的NOR Flash就能够提供好几MB的空间。NOR Flash一般采用SPI接口来通讯;当然,市面上大部分的NOR Flash都支持QPI甚至OPI接口,能大大提高数据传输速率。在平时的开发过程中为了追求开发速度,都会直接去网上copy一份别人写的驱动,但对于我这个完美主义者来说,网上99%的驱动都没有达到我的要求,很多人的驱动都是追求简单的能用即可,但我总是会希望能!!!原创 2024-07-28 15:57:35 · 1647 阅读 · 0 评论 -
【GD32】从零开始学GD32单片机 | 基于SD卡的FatFs文件系统移植(GD32F470ZGT6)
FatFs是一个专门为微处理器设计的通用文件系统,像8051、AVR、PIC、ARM架构的微处理器都能兼容该文件系统。FatFs文件系统最大的一个优点是它是的,这意味着你只需要再移植一个USB驱动就可以实现在电脑中访问单片机的储存结构,做一个小U盘或者实现文件拖拽升级这样的骚操作。当然除了上面的优点,它还同时等功能,同时开发者可以根据需要对FatFs进行裁切,使其满足嵌入式系统的要求。原创 2024-07-21 15:18:00 · 2207 阅读 · 3 评论 -
【GD32】从零开始学GD32单片机 | WDGT看门狗定时器+独立看门狗和窗口看门狗例程(GD32F470ZGT6)
看门狗从本质上来说也是一个定时器,它是用来监测硬件或软件的故障的;它的工作原理大概就是开启后内部定时器会按照设置的频率更新,在程序运行过程中我们需不断地重装载看门狗,以使它不溢出;如果硬件或软件发生故障没有及时重装载看门狗,就会引发中断或复位。在GD32中看门狗分为独立看门狗(FWDGT)和窗口看门狗(WWDGT)。原创 2024-07-13 14:33:47 · 2757 阅读 · 0 评论 -
【GD32】从零开始学GD32单片机 | RTC实时时钟+日历例程(GD32F470ZGT6)
RTC在低功耗应用中可以说相当重要,因为在使用外部低速晶振的条件下,它在所有的低功耗模式下都可以工作,这使得RTC很适合实现芯片的低功耗唤醒。因为RTC使用的是VBAT供电域,默认配置下该供电域的寄存器是写禁止的,因此需要调用pmu_backup_write_enable函数使能写操作。main函数调用rtc_config函数初始化RTC,传入struct tm结构体,这个结构体是time.h里面定义的,是系统库自带的,它的定义如下。在低功耗应用中,RTC的自动唤醒功能可以说是必用到的,RTC内部使用。原创 2024-06-23 15:05:03 · 2728 阅读 · 1 评论 -
【GD32】从零开始学GD32单片机 | SDIO外设+SD卡读写例程(GD32F470ZGT6)
SDIO(Secure Digital Input and Output)全称安全的数字输入输出接口;是从SD内存卡接口的基础上演化出来的一种外设接口。SDIO接口兼容以前的SD内存卡,并且可以连接支持SDIO接口的设备。它可以连接SD 卡、SD I/O卡、多媒体卡(MMC)和 CE-ATA卡主机接口;除了连接常见的存储介质外,它还可以用于连接WiFi、GPS、摄像头等设备。MMC:与多媒体卡系统规格书 V4.2 及之前的版本全兼容。有三种不同的数据总线模式:1 位(默认)、4 位和 8 位;原创 2024-06-01 17:57:25 · 3214 阅读 · 1 评论 -
【GD32】从零开始学GD32单片机 | 外部存储器控制器EXMC+SDRAM读写例程(GD32F470ZGT6)
外部存储器控制器EXMC,用来访问各种片外存储器,通过配置寄存器,EXMC可以把AMBA协议转换为专用的片外存储器通信协议,包括SRAM,ROM,NOR Flash,NAND Flash,PC Card和SDRAM。原创 2023-03-13 19:19:13 · 11797 阅读 · 10 评论 -
【GD32】从0开始学GD32单片机(13)—— ADC模数转换器外设详解+PS2遥杆例程
介绍了GD32中ADC外设的功能和使用,包含PS2手柄摇杆的驱动例程原创 2022-10-28 11:12:44 · 6717 阅读 · 1 评论 -
【GD32】从0开始学GD32单片机(12)—— TIMER高级定时器详解+DMA修改PWM波占空比例程
介绍了GD32的高级定时器功能及内部结构,包含DMA修改PWM波占空比例程原创 2022-10-24 09:25:43 · 8177 阅读 · 6 评论 -
【GD32】从0开始学GD32单片机(11)—— TIMER通用定时器详解+PWM波形输出捕获例程
介绍了GD32的通用定时器的系统结构,包含PWM波形输出和捕获例程原创 2022-10-21 16:17:24 · 8315 阅读 · 7 评论 -
【GD32】从0开始学GD32单片机(10)—— TIMER基本定时器详解+1毫秒延时例程
介绍了GD32基本定时器的总体架构和使用,定时器1毫秒延时例程原创 2022-10-17 09:00:40 · 11423 阅读 · 7 评论 -
【GD32】从0开始学GD32单片机(9)—— SPI外设详解+主机从机发送和接收例程
介绍了GD32的SPI外设,包含主机从机发送和接收例程原创 2022-10-08 10:24:39 · 15089 阅读 · 8 评论 -
【GD32】从0开始学GD32单片机(8)—— I2C外设详解+主机从机发送和接收例程
介绍GD32的I2C外设,包含主机从机发送和接收例程原创 2022-09-25 16:56:03 · 12492 阅读 · 6 评论 -
【GD32】从0开始学GD32单片机(7)—— DMA直接存储器访问控制器详解+DMA串口发送和接收例程
介绍了GD32的DMA外设,包含DMA串口发送和DMA串口接收例程原创 2022-09-22 09:34:24 · 5908 阅读 · 8 评论 -
【GD32】从0开始学GD32单片机(6)—— EXTI中断/事件控制器详解+串口接收中断及外部按键中断例程
介绍了GD32单片机的EXTI外设,包含外部中断和内部中断,提供串口接收中断和外部按键中断例程原创 2022-09-19 13:50:09 · 6018 阅读 · 1 评论 -
【GD32】从0开始学GD32单片机(5)—— USART串口通信详解
介绍GD32串口外设,串口发送与接收例程原创 2022-09-15 20:54:37 · 13971 阅读 · 16 评论 -
【GD32】从0开始学GD32单片机(4)—— SysTick系统定时器详解
介绍GD32的SysTick系统定时器外设,LED闪烁例程原创 2022-09-15 09:48:15 · 6243 阅读 · 3 评论 -
【GD32】从0开始学GD32单片机(3)—— GPIO外设详解+点亮LED和按钮检测例程
介绍GD32的GPIO外设,详解其5大模式,LED和按钮例程原创 2022-09-15 09:34:39 · 7017 阅读 · 0 评论 -
【GD32】从0开始学GD32单片机(2)—— 固件库移植
介绍GD32固件库的移植和部署原创 2022-09-08 10:32:14 · 5868 阅读 · 6 评论 -
【GD32】从0开始学GD32单片机(1)—— 环境搭建(Keil 5)
介绍GD32的环境搭建原创 2022-09-08 10:29:52 · 7870 阅读 · 0 评论 -
【GD32】从零开始学GD32单片机栏目目录 | 兆易创新32位微处理器
兆易创新32位微处理器教程,分为初级、中级、高级,3个部分。原创 2022-09-05 15:24:13 · 7246 阅读 · 3 评论