GD32
文章平均质量分 90
欢喜6666
若对你有用,拿去用便好。
展开
-
GD32F303调试小记(十)之LVGL移植(FreeRTOS)
GD32F303+FreeRTOS+LVGL原创 2023-06-16 16:40:05 · 4273 阅读 · 1 评论 -
GD32F303调试小记(九)之FreeRTOS移植
提供GD32的FreeRTOS移植教程并提供工程源码原创 2023-06-06 20:02:34 · 4985 阅读 · 7 评论 -
GD32F303调试小记(八)之定时器出PWM(基本功能)
前言定时器(计数器)是单片机模块中一个比较重要的外设。利用其基本的计数、定时功能,我们可以作为较为精准的定时(1ms、5ms的定时);又或者根据计数功能,在多个相同周期内翻转某个IO的电平,就形成了我们所说的PWM波形。PWM即脉宽调制技术,若你之前未接触过PWM,你可以理解为就是调整高低电平时间的长短。假定我们以10ms为一个轮询,每前3ms给一个IO输出高电平,后7ms置为低电平,不难想象我们最终会输出一个什么样的方波。其中10ms就是我们所说的周期,与之互为倒数的就是频率,也就是100Hz。高电原创 2022-05-04 16:34:38 · 12435 阅读 · 4 评论 -
GD32F303调试小记(七)之独立看门狗
前言当你用一款单片机开发具体产品的时候,为了保证软件的可靠性,除了一系列的框架与流程图等等,也需要有类似定时检查的机制,去保证我们的MCU在正常按照你的软件逻辑在运行,这就是我们单片机功能中的看门狗模块。看门狗一、介绍看门狗定时器(WDGT)是一个硬件计时电路,用来监测由软件故障导致的系统故障。片上有两个看门狗定时器外设,独立看门狗定时器(FWDGT)和窗口看门狗定时器(WWDGT)。它们使用灵活,并提供了很高的安全水平和精准的时间控制。两个看门狗定时器都是用来解决软件故障问题的。看门狗定时器在原创 2022-05-02 15:49:16 · 6499 阅读 · 0 评论 -
GD32F303调试小记(六)之片内FLASH读写
前言用单片机做开发时,为了实现产品的某些功能,我们通常都需要记录一些数据并放在单片机掉电不丢失的区域中。在现在的主流8位机中,一般为EEPROM和FLASH存储区。这些存储区一般与我们的代码存储区是分开来的且一般不大(多数在1KB以内)。EEPROM是可以按字节读、写的,而FLASH则是以块为单位擦除、写入的。而在32位单片机中,一般不会为单独的数据存储再开辟一个区域,即存代码的和存这些数据的是同一个区域。所以,如果你看过其他有关32位机内部FLASH读写操作的,它们基本都是从FLASH最后一个或几个区块原创 2022-03-13 14:05:54 · 12898 阅读 · 7 评论 -
GD32F303调试小记(五)之ADC+DMA+硬件过采样
前言单片机的大多数的功能都是基于数字信号去控制的。然而许多的场合下,我们也需要有模拟信号的参与,因为许多变量的控制是需要连续的而非阶跃式的。常见的若想得到电压值、温度值、电流值等等都需要用到A/D转换(如果外围器件不是特定IC而是自己搭的采集电路的话),而想输出模拟信号通常可以使用D/A转换或者PWM+外围一级或多级RC滤波实现。...原创 2022-02-05 19:55:54 · 13600 阅读 · 22 评论 -
GD32F303调试小记(四)之特殊GPIO使用(PC13~PC15、PA0用作普通输出IO)
前言最近的项目中用到GD32F303Rx系列的单片机作为主控芯片。由于整个产品设计的功能比较复杂,64个脚仅剩2个普通IO没有用到。在最初画原理图布线的时候,用到了一些特殊功能的GPIO。与通用IO相比,相同的软件配置在实际验证过程中,发现存在一定的问题。本文不能说从根本上解决了该问题,只能说从最终效果上实现了所设想的输出逻辑电平。...原创 2022-01-08 14:47:27 · 9979 阅读 · 3 评论 -
GD32F303调试小记(三)之IIC(硬件IIC+PCF8563实时时钟)
前言前面的文章介绍了在单片机中常用的两种串口通信协议(USART和SPI),并给出了GD32F303对应的配置流程。这次介绍第三种常见的串口通信协议IIC。IICIIC,又名I2C,也是一种串口通信协议。其中包含一根时钟线和一根数据线。...原创 2021-11-15 09:37:52 · 13089 阅读 · 5 评论 -
GD32F303调试小记(二)之SPI(软件SPI、硬件SPI、硬件SPI+DMA)
前言目前有一个项目中用到了TFT-LCD,其驱动芯片为ILI9341。为更好的达到显示效果,在最终的代码中我们会使用单片机自带的硬件SPI+DMA模块,以尽可能的减轻CPU的负荷,不过在调试过程中,我们会使用到软件模拟SPI以及单独的硬件SPI。由于我们只是使用SPI与屏显的驱动芯片通信,所以只使用SPI的发送,在接下来的代码演示中,不包含SPI接收。以后如果有机会用到SPI通信的FLASH存储芯片或其他,会再出一个调试文章。...原创 2021-10-17 15:03:08 · 32347 阅读 · 28 评论 -
GD32F303调试小记(一)之USART(接收中断、接收空闲中断+DMA、发送DMA)
前言之前写了GD32F103调试小记(二)之USART(接收中断、接收空闲中断+DMA、发送DMA)一文。这次我们来看看GD32F303的USART是如何配置的,结合这两篇文章,相信大家GD32的USART配置流程会十分熟悉。DMA能大大减轻CPU负荷的东西,建议场景合适的情况下,都去用DMA功能。USART一种串行通信协议,...原创 2021-10-01 23:02:31 · 25986 阅读 · 15 评论 -
GD32F303调试小记(零)之工程创建与编译
干这行的朋友都知道,真正拿单片机做项目时,作为软件编写人员,你所掌握的肯定不止一款单片机,又或者说你必须有能独立上手新单片机的能力。这里的新指的是对你个人来说是从未接触过的或者不熟悉的,而不一定是说这个单片机有多新。而调试一款新的单片机,往往得从工程的创建开始,这里分享一下GD32F303以MDK为编译软件从零开始的工程创建与编译。原创 2021-09-21 17:52:16 · 12122 阅读 · 0 评论 -
GD32F303调试小记(前言)
前言看过我之前GD32F103开发系列前言的朋友都知道,最近是打算使用GD32F103系列的单片机去重新开发一款产品的。奈何行情不如意,跟各种经销商沟通,连样片都申请不到。无奈之下,只能选择使用GD32F303,所以如果是想看我后续出GD32F103各模块配置的朋友可能等不到了。由于本人精力有限,除非以后做的项目有用到GD32F103的,否则后续关于GD32F103的章节不会再更新。之后的章节会以GD32F303为核心去发布个人所使用到的模块初始化编程。GD32F303简介距离上次GD32F103调试原创 2021-09-11 11:25:38 · 5196 阅读 · 0 评论 -
GD32F103调试小记(二)之USART(接收中断、接收空闲中断+DMA、发送DMA)
前言上篇文章摸完了GD32F103调试小记(一)之ADC+DMA,接下来摸下GD32的USART。DMA数据的搬运工,CPU的好助手。USART一种串行通信协议,说白了就是让两根线按照一定的规律去切换高低电平。根据一个单位时间内高低电平的持续时间,我们去判定事起始信号还是数据0或1还是奇偶校验位等等。其实不管是单总线(1-wire)、两根线(USART、IIC)、甚至多跟线(SPI3线或4原创 2021-08-17 23:03:01 · 13566 阅读 · 8 评论 -
GD32F103调试小记(一)之ADC+DMA
前言由于芯片外部大坏境,结合自身内部原因,这次开始改用国产32位单片机。近些年来,国产32位单片机确实做的还可以(靠谱的多了起来),且有着如ST这种在MCU32位领域里的行业标杆,上手一个新的单片机也变得容易的多。废话不多说,进入今天的正题。ADCADC,模数转换器,会将模拟信号(连续变化的电压值)转换为数字值,以便在处理和控制系统中使用。特定的外围元器件,可以将温度、湿度、光线亮暗、气压大小等等转化成一个会随之变化的电压信号。再通过它,我们的处理器可以得到一个会随之变化的数值。利用其特性,我们可以间原创 2021-08-14 14:07:57 · 9212 阅读 · 14 评论 -
GD32F103开发系列前言
前言之前公司开发的一款产品用到了STM32F373。由于其芯片相对冷门,加上最近这一年n手倒货,不仅价格高昂还难以寻得。更为关键的是,产品的屏显部分是前同事花费大量精力手撸出来的(除了敬佩其毅力我还能说什么),不仅开发费时费力,且后期的维护非常困难。索性重新再出一个方案,使用littlevgl进行图形界面的开发。芯片直接选用国内兆易的,出于对使用lvgl库、显示的内容较多、开发难度、芯片可靠性以及成本的考虑,这里选用GD32F103Rx系列的单片机,FLASH最大3MB,SRAM最大96K,可根据最后实际原创 2021-08-14 11:40:22 · 1289 阅读 · 0 评论