![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式软件开发
文章平均质量分 83
大山很山
她是一个寡情的人。
展开
-
【GD32定时器】高级定时器生成PWM波+定时器外设配置DMA使用
DMA 控制器提供了一种硬件的方式在外设和存储器之间或者存储器和存储器之间传输数据,而无需 CPU 的介入,从而使 CPU 可以专注在处理其他系统功能上。原创 2024-06-18 18:09:09 · 922 阅读 · 0 评论 -
【GD32】 TIMER通用定时器学习+PWM输出占空比控制LED
基本定时器和系统时钟配置可以参考我的上一篇文章,【GD32系列–基本定时器Timer + 定时1ms 灯光间隔1s闪烁例程】【GD32】_时钟架构及系统时钟频率配置下表为各定时器的差异,以通用定时器TIME1为例。由上表可知通用定时器也分为四大类,黑圈代表具有此功能,x代表无此功能,一目了然。由系统框图可知TIMER5 TIMER1 TIMER2 TIMER13均挂在APB1总线下。而TIMER0/TIMER14/15/16均挂在APB2总线下。由图可见。原创 2024-06-13 18:32:12 · 1974 阅读 · 0 评论 -
【GD32系列--基本定时器Timer + 定时1ms 灯光间隔1s闪烁例程】
1、定时器类型以GD32为例,此款芯片共有8个定时器。分三大类:高级定时器、通用定时器和基本定时器。2、时钟树各定时器挂载总线不同。3、定时器功能配置框图(1)高级定时器高级定时器(TIMER0)是四通道定时器,支持输入捕获和输出比较。可以产生PWM信号控制电机和电源管理。高级定时器含有一个16位无符号计数器。高级定时器是可编程的,可被用来计数,其外部事件可以驱动其他定时器高级定时器包含了一个死区时间插入模块,非常适合电机控制。原创 2024-05-20 18:36:54 · 2321 阅读 · 0 评论 -
【GD32】_时钟架构及系统时钟频率配置
学习系统时钟架构和时钟树,验证及学习笔记如下,如有错误,欢迎指正。主要记录了总线下挂载外设,总线时钟源以及系统时钟的配置。原创 2024-04-16 15:06:47 · 2241 阅读 · 0 评论 -
【自由看门狗配置及计算】
看门狗是一个硬件计时电路,用来监测由软件故障导致的系统故障。片上有两个看门狗定时器外设,自由看门狗定时器(FWDGT也叫独立看门狗)和窗口看门狗定时器(WWDGT)。当嵌入式程序在运行过程中发生死机或程序跑飞的情况下,一般都是要手动进行开关机或者复位,让程序能够重新运行。但是当一个嵌入式系统被安装到一些特殊位置时,若发生死机又不能及时进行手动复位,这时就需要看门狗了。原创 2024-04-16 10:14:29 · 1299 阅读 · 0 评论 -
【SysTick系统时钟的使用】
SysTick(System Timer)是一种系统计时器,它是一个24位只能向下递减的计数器(计数器每计数一次的时间为1/SYSCLK),通常用于嵌入式系统中,用于提供基本的系统定时和时钟服务。SysTick定时器是ARM Cortex-M处理器架构中的一个标准组件,存在于内核中。原创 2024-04-12 10:28:52 · 1140 阅读 · 0 评论 -
【嵌入式之中断】
Cortex-M4集成了嵌套式矢量型中断控制器(Nested Vectored Interrupt Controller (NVIC))来实现高效的异常和中断处理。NVIC实现了低延迟的异常和中断处理,以及电源管理控制。它和内核是紧密耦合的。凡是打断程序顺序执行的事件都称为异常(exception),比如HardFault,外部中断等。所以中断也可以说是异常的一种。原创 2024-04-11 15:22:15 · 1352 阅读 · 0 评论 -
KEIL软件新建工程示例
在实践的过程中,会有些不一样,把我遇到的问题也贴出来,谨做记录与参考。原创 2024-02-21 11:21:39 · 1840 阅读 · 0 评论 -
【Keil最新注册机】
注册机原创 2024-01-25 22:51:00 · 3866 阅读 · 0 评论 -
键盘HID_键值表
一、键盘设备和主机的hid规范 /*键盘发送给PC的数据每次8个字节 data0 data1 data2 data3 data4 data5 data6 data7 定义分别是: **data0 -- |--bit0: Left Control是否按下,按下为1 |--bit1: Left Shift 是否按下,按下为1 |--bit2: Left Alt 是否按下,按下为1 |--bit3: Left GUI 是否按下,按下为1 |--bit4: Right Cont原创 2022-04-25 13:54:29 · 8046 阅读 · 1 评论 -
I2C通讯协议(详解SDA/SCL)
I2C通讯协议——使用攻略1、基本介绍调I2C时序,主要在调数据写入write_I2C和数据读取read_I2C的机制。I2C主要实现数据的传输,使主机和从机的相互响应。它有一种数据传送机制。总结起来为:起始信号,终止信号、应答信号,读字节,写字节,数据读取和数据写入。I2C基本架构:Start_I2CStop_I2Creadack 读取应答信号sendack and sendna...原创 2020-04-22 09:47:48 · 6266 阅读 · 0 评论 -
Keyboard的HID及HID描述符
Keyboard的HID及HID描述符实现每个功能前,都要有其USB HID报告描述符,即常说的hid枚举。定义数据结构;确定数据上报形式;按键功能数据上报;查找按键功能,最后HID_Reporthttps://www.usb.org/hid中下载Device Class Definition HID文档USB HID报告描述符是USB主机请求于USB设备的一种描述符。HID设备用报告的形式发送数据到主机,描述符告诉主机如何解释数据。1、 添加USB HID报告描述符;一篇很有借鉴的文章:htt原创 2020-11-19 14:26:41 · 4407 阅读 · 0 评论 -
GPIO使用(二)如何将调试接口配置成普通IO口及JTAG和SWD禁用解除
关于GPIO的复用。STM32F10x系列及AT32F4xx的MCU复位后,PA13/14/15/ PB3/PB4默认配置为JTAG功能。那么为了充分利用芯片的I/O口资源,就会把这些端口设置为通用I/O口,意味着将这些引脚复用为普通I/O功能。以AT32F4xx系列为例。在数据手册有以下介绍:在用户手册里复用功能I/O章节和调试设置章节有关复用说明:根据以上手册内容可知:1、默认JTAG调试功能,那么PA13/PA14/PA15 /PB3/PB4都不能做普通I/O口使用;2、关闭JTAG原创 2021-12-02 10:19:38 · 3847 阅读 · 0 评论 -
GPIO使用( 一 )
一、GPIO的两大功能通用输入输出端口GPIO具有两大功能,一种是作为一个可控的端口引脚,另外一种是通过端口映射功能连接到芯片外设。最为常用的功能是,可以作为一个可控的端口引脚,配置该引脚为输入或者输出。输出功能包括强推挽输出和开漏输出两项,当配置为强推挽输出时,用户可以对该引脚任何时刻的电平状态进行定义,高电平或者低电平,当配置为开漏输出时,此时需要外接上拉电阻才能输出高电平信号。图为:标准 I/O 端口位的基本结构二、使用示例1、输出示例:配置为推挽输出(在定义电平高低前应先进行配置初始化成原创 2021-11-15 15:00:00 · 4064 阅读 · 0 评论 -
GD32基本定时器的定时周期计算
GD32基本定时器的定时周期计算一、 基本定时器原理结构框图(TIMER5)基本功能流程描述:基本定时器仅有一个时钟源TIMER_CK,用来驱动计数器预分频器。当CEN(计数器使能)置位,TIMER_CK经过预分频器(预分频值由TIMERx_PSC寄存器确定)产生PSC_CLK。分频后的时钟PSC_CLK驱动计数器计数。二、 计时周期计时周期的决定因素有:1、 时钟频率TIMER1CLK一般是72MHZ。2、 预分频系数预分频器可以将定时器的时钟(TIMER_CK)频率按1到65536之原创 2021-04-28 13:58:22 · 9751 阅读 · 4 评论