- 博客(13)
- 收藏
- 关注
原创 stm32学习笔记(10)spi
SPI(Serial Peripheral Interface)是嵌入式系统中应用最广泛的同步串行通信协议之一,其高效的全双工通信和灵活的硬件设计使其成为传感器、存储器和显示模块的理想选择。本文从基本通信原理和实现两个方面来介绍SPI通信。
2025-03-10 21:56:53
709
原创 stm32学习笔记(9) iic
IIC是一种常用于集成电路间通信的通信协议。iic总线由两条线构成,即串行数据线(SDA)和串行时钟线(SCL)。所有IC总线上的设备都与这两条线相连,数据通过SDA线传输,时钟信号由SCL线提供。总线上有主设备和从设备之分。主设备负责发起通信、控制传输过程,如微控制器;从设备则响应主设备的请求,如传感器、存储器等。在stm32中有硬件iic和软件iic。硬件iic是stm32中集成的iic接口,通过这些接口来实现i2c的功能。除了硬件iic,我们还可以使用软件模拟的方式来实现iic的功能。
2025-02-04 19:19:16
828
原创 stm32 学习笔记(8)看门狗
比如我们设定prer值为4,rlr值为625,那么就可以得到Tout=64×625/40=1000ms,这样, 看门狗的溢出时间就是1s,只要你在一秒钟之内,有一次写入0XAAAA到IWDG_KR,就不 会导致看门狗复位(当然写入多次也是可以的)。这里需要注意独立看门狗的时钟是一个内部RC时钟,所以并不是准确的40Khz,而是 在30~60Khz 之间的一个可变化的时钟,只是我们在估算的时候,以40Khz的频率来计算,看 门狗对时间的要求不是很精确,所以,时钟有些偏差,都是可以接受的。
2024-12-29 15:19:19
796
原创 做完24年电赛题后感受和总结
总的来说,昨晚这道电赛题收获不少,毕竟虽然学了很长时间的32,但在实际运用上还是很少的,在测试中发生的问题,还有硬件结构的设计问题让我受益良多。也希望能通过这次体验让以后少走一些弯路吧。
2024-12-18 18:47:12
399
原创 stm32学习笔记(7)编码器模式
输入捕获 是 STM32 定时器的一项功能,用于测量外部信号的时间特性,例如信号的频率、周期、占空比等。STM32 定时器的输入捕获功能通过检测外部信号的上升沿或下降沿,将当前计数器(CNT)值存储到捕获寄存器(如 TIMx_CCR1、TIMx_CCR2 等)中。STM32 的编码器模式依赖于其定时器的输入捕获功能,并支持多种类型的编码器。这里可以看到我们将PA0和PA1设置为浮空输入,并且将输入捕获的IC1和IC2映射到TIM2的TI1和TI2上(如果没有这一步定时器无法接收到外部信号。
2024-12-11 20:01:12
310
原创 stm32学习笔记(6)PWM
PWM,即脉冲宽度调制,是一种通过调整数字信号中高电平持续时间(脉冲宽度)来控制输出功率或信号强度的方法。PWM广泛应用于电机控制LED亮度调节音频信号合成电源管理等领域。stm32的pwm可以通过通用定时器和高级定时器来输出。其中通用定时器可以同时产生4路输出,高级定时器(如tim1,tim8)可以同时产生7路输出。
2024-12-05 20:40:10
551
原创 stm32学习笔记(5)定时器
stm32 定时器是微控制器中的重要外设,用于精确的时间管理和信号处理。定时器通过硬件实现周期性事件触发、时间测量和信号生成,从而减少 CPU 负担并提高系统实时性。在之后的学习中会有很多用到定时器的地方。
2024-11-27 20:54:57
1731
原创 stm32学习笔记(4)外部中断
STM32的外部中断是其重要功能之一。STM32芯片有多个外部中断线,这些中断线可以连接到外部设备。例如,连接到按键、外部传感器等。当外部设备的电平发生变化(上升沿、下降沿或者双边沿触发)时,就会触发相应的外部中断。在使用时,需要进行配置。包括开启相应的GPIO口时钟,配置GPIO的工作模式为输入模式,将GPIO与外部中断线连接起来,设置触发条件(上升沿、下降沿或双边沿),还需要编写中断服务函数来处理中断发生后的具体事务。
2024-11-22 21:24:38
1622
原创 stm32学习笔记(3)USART
USART(Universal Synchronous Asynchronous Receiver Transmitter)是一个串行通信外设,用于微控制器与其他设备之间进行数据交换。STM32系列的微控制器通常都配备有多个USART模块,支持串行通信协议,能够在不同的传输模式下工作。USART的主要作用是通过串行的方式来发送和接收数据,它使用的通信方式是通过单线或双线(TX/RX)传输数据,较为常见的协议包括RS-232、RS-485、SPI等。
2024-11-15 20:33:44
650
原创 stm32学习笔记(2)GPIO输入输出
STM32 的 GPIO(General Purpose Input/Output,通用输入/输出)是其外设之一,用于控制微控制器芯片的引脚。GPIO 引脚可以配置为输入或输出,支持多种模式和功能,是连接外部设备、传感器或执行控制任务的关键接口。
2024-11-06 20:32:04
1417
原创 stm32学习笔记(1)
之后是导入相应的文件,在右键左侧的target目录树,选择manage project Items,在中间的对话框内新建USER和SYSTEM组,在SYSTEM组中添加进SYSTEM文件夹中的三个文件,添加过程和添加完成的画面如下图。我用的是keil5,板子的话只要是f103系列的都可以,可以使用stm32c8t6,这个核心板很便宜而且网上很多资源都是以这个板子来做的。这一点也很有利于我们自学。首先创建一个文件夹,根据自己的喜好命个名,尽量起一个与你写的东西有关的,让自己能知道这个文件写的是什么内容。
2024-10-29 21:09:06
440
原创 药品管理系统
总结:做完这个系统,我对编程有新的理解,在实际应用中要考虑很多种情况,与平时做的题不同,需要自己思考各种各样的情况发生该如何解决,甚至有时不知道该怎么改。利用此系统进行药品的信息管理和储存,包括出入仓库,价格变动等功能。注:1、其中保存数据必须正常退出系统,否则会无法保存甚至可能会使原本文件的数据出错。2、其中一些代码还存在一些bug,例如对某些违规数据的输入无法进行辨识导致数据出错。denglu.txt数据的储存文件(以文本形式进行储存)所用知识为链表的增删查改,文件的读写等。main.c 主函数部分.
2023-12-17 19:43:13
420
2
原创 单链表的增删改查(c语言)
单链表(Singly Linked List)是一种常见的数据结构,它由一系列节点构成,每个节点包括一个数据元素和一个指向下一个节点的指针。单链表中只能从头节点开始顺序遍历,每个节点只有一个指向下一个节点的指针,没有指向前驱节点的指针,因此不能倒序遍历。以上是我对在单链表的学习上的一些认识,其中有不足的地方,代码都是初学的时候自己写的,没有进行优化。链表的修改是在查找的基础上进行的,只需要将修改后的值传入链表对应位置即可。其次是删除,删除需要找到要删除的节点,可以是第几个,也可以是某组数据。
2023-11-19 19:02:03
166
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人