前言
为什么写这个教程
作为一名物联网专业的在读大学生,与单片机打交道是很经常的;我最经常使用的单片机是意法半导体公司开发的STM32单片机,这应该也是很多从事相关专业、工作的小伙伴常用的单片机。但得益于最近几年的疫情和某国的制裁,STM32单片机的价格一直居高不下,之前几块钱一颗的STM32芯片价格直接炒高了好几倍,劝退了很多有兴趣DIY硬件的玩家。
在这样的背景下,国产32处理器成为了我的刚需,在查阅了一些资料后,最终选择了兆易创新公司的产品。于是就萌生了写这个系列博客的想法。
GD32与STM32的区别
很多小伙伴可能会担心,重新学一个新的芯片会不会很难?
那么其实呢,如果各位之前已经学过并掌握STM32了,学GD32将会十分轻松,因为两种芯片用的都是ARM的架构,开发的IDE也是一样的,如Keil5。在编程上最大的区别仅仅是调用的库函数稍有不同而已,大部分都是名字变了而已。
对于没有学过ARM架构单片机的同学,学完本系列,如果以后因为工作等等的需要换到STM32的话,也是非常轻松的。
对于GD32与STM32的区别,这篇文章写得非常好,看这个就够了。
教程
下面的标题都是链接,点进去就是对应的文章;如果点不进去说明我还没写到
入门教程(GD32F103C8T6)
- 环境搭建(Keil 5)
- 固件库移植
- GPIO外设+点亮LED和按钮检测例程
- SysTick系统定时器
- USART串口通信
- EXTI中断/事件控制器+串口接收中断及外部按键中断例程
- DMA直接存储器访问控制器+DMA串口发送和接收例程
- I2C外设+主机从机发送和接收例程
- SPI外设+主机从机发送和接收例程
进阶教程
- TIMER基本定时器+1毫秒延时例程
- TIMER通用定时器+PWM波形输出捕获例程
- TIMER高级定时器+DMA修改PWM波占空比例程
- RTC实时时钟+日历例程
- ADC模数转换器外设+PS2遥杆例程
- DAC数模转换器 + 三角波输出例程
- WDGT看门狗定时器+独立看门狗和窗口看门狗例程
- PMU电源管理单元+深度睡眠和待机例程