- 博客(8)
- 收藏
- 关注
原创 GD32系列笔记七:USBD CDC
USBD内容丰富而复杂,我目前只是能够使用CDC类,就算是这样我对CDC内部的中断处理逻辑也不是很清晰,这一块需要花点时间去理解,但不深究。USBD从接手到方案的确定到代码的配置,花了几天时间,过程中踩了很多坑,后续会一并总结出来。
2023-03-23 11:12:04
5705
2
原创 GD32系列笔记六:定时器Timer
1.时钟树2.结构图(基本定时器为例)TIMER_CK就是CK_TIMER3. 工作原理1. 通过寄存器设置分频系数确定时器时钟频率TIMER_CK, 通过预分频PSC_CLK把TIMER_CK进一步分频得到计数器时钟。由该原理可得出定时器中断溢出频率计算公式:溢出频率={定时器时钟源频率TIMER_CK} / {(预分频系数psc+1)(最大计数值per+1))}2.计数方式可以是向上计数模式,向下计数模式,中央对其模式,可以设置自动重载进行循环计数。
2023-03-22 23:05:22
2757
原创 GD32系列笔记五:用外部中断实现EC11差分编码器的方向识别和脉冲计数
1.原理图2. 工作原理:S1、S2两相都输出方波,顺时针方向旋转编码器时,A相超前B相90度(如上图,A相先产生下降沿,B比A相滞后),逆时针方向旋转时,B相超前A相90度。3. 倍频:相对于刻度盘来说的,比如,刻度盘栅格数是100,那么转一圈就计数100次,为1倍频,如果通过某种方式可以实现转一圈计数400次,那就说实现了4倍频。4. 整理思路:(1)如果不进行倍频,则GD32在EC11的脉宽内检测到第一个脉冲边沿时脉冲值计数一次,再通过判断A相超前还是滞后B相来判断方向,返回给PC;
2023-03-22 21:56:54
2862
2
原创 GD32系列笔记四:时钟树Clock tree
GD32F150C8T6芯片最高支持72MHZ主频,默认配置AHB=APB1=APB2,这点和GD32F103不一样的。
2023-03-22 20:08:06
960
原创 GD32系列笔记三:模拟SPI通信
1. SPI介绍:SPI 是英语 Serial Peripheral interface 的缩写,顾名思义就是串行外围设备接口。是一种高速、全双工,同步的通信总线。2. 提供时钟的为主设备(Master),接收时钟的设备为从设备(Slave)。3. SPI通信有4条线,单向通信时3条线,少了一条数据线,分别是:MOSI: 主设备数据输出,从设备数据输入MISO: 主设备数据输入,从设备数据输出SCLK: 时钟,由主设备发出CS: 片选,使能片选时,主机对从机的操作才有效。
2023-03-22 14:00:49
3668
原创 GD32系列笔记一:工程模板创建
最近使用GD32F103RCT6、GD32F150C8T6(后面还会用到GD32F3系列)开发新项目,这是我第二次使用单片机做开发,早几年有用过STM32F4的芯片,就用过一次,大多都忘光了,现在把自己的开发笔记记下来备用。说明一点,本人研究并不是单片机方向,有些东西不作深究,能用就好,这东西主要是给我自己看的,当然要是能帮到路过的程序猿那也是功德一件。以下用为例子,后面会补上F1X0和F10X在本次使用上的细微区别。本帖内容是创建工程模板。
2023-03-21 14:51:31
1178
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人