摘要: 目录前言一、SPI协议1.什么是SPI协议2.SPI连接方法3.SPI的工作方式4.SPI的起始和结束信号5.SPI工作时序5.1 方式05.2 方式15.3 方式25.4 方式3二、软件模拟SPI协议1.配置GPIO口2.起始和结束信号3.时序编写3.1 方式03.2 方式13.3 方式23.4 阅读全文
posted @ 2024-08-22 13:52 Lavender·edgar 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 目录前言一、IIC介绍1.IIC的时序2.使用IIC对从机寄存器的写操作流程3.使用IIC对从机寄存器的读操作流程二、软件实现IIC协议1.GPIO口配置2.IIC开始信号3.IIC结束信号4.发送数据5.接收数据6.接收ACK响应7.发送ACK和NACK响应8.对寄存器进行写处理9.对寄存器进行读 阅读全文
posted @ 2024-08-19 16:37 Lavender·edgar 阅读(45) 评论(0) 推荐(0) 编辑
摘要: [TOG] 前言 前面介绍了ADC数模转换,得到了内部的温度值和外部电压值,我感觉这样太消耗CPU的资源了,所以我准备用DMA来帮我从AD的数据寄存器中拿出数据出来,就不用再去读取AD的数据寄存器了。 一、什么是DMA DMA叫做直接存储器存取,就不需要我们CPU通过软件将外部寄存器或者内部的存储器 阅读全文
posted @ 2024-08-09 10:10 Lavender·edgar 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 目录前言一、什么是ADC二、stm中的ADC三、adc内部结构四、adc代码实现1.配置外部引脚2.打开ADC的时钟和分频3.配置ADC4.校准ADC5.触发ADC转换五、读取电压值六、读取内部温度总结 前言 这一节终于到模数转换了,我在做那个项目的时候忘记如何配置模数转换器了,所以这一章是在我学完 阅读全文
posted @ 2024-08-07 17:18 Lavender·edgar 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 前言 前面介绍了定时器和输出比较,这一节主要介绍一下输入捕获测量输入频率和PWM占空比,然后介绍一下编码器接口。 一、输入捕获 1.什么是输入捕获 当输入的引脚有指定电平跳变时,会将计数器CNT中的值保存在CCR中,这个就称为输入捕获。 2.输入捕获测频率 我们可以通过获取输入的值来测量频率,这里有 阅读全文
posted @ 2024-08-02 14:51 Lavender·edgar 阅读(285) 评论(0) 推荐(1) 编辑
摘要: 前言 前面介绍了一下外部中断,这一节主要介绍一下内部定时器和PWM,这两个知识还是比较重要的。 一、定时器 1.什么是定时器 定时器其实和计数器一样,我们通过设置一个值,当计数器运行一个计数寄存器向上加1或者向下减1达到这个值后,会发送一个事件,以此运行即可。 这个就是定时器。 2.在stm32中的 阅读全文
posted @ 2024-07-31 17:16 Lavender·edgar 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 目录前言一、什么是中断二、如何使用中断1.stm32中断结构1.1 AFIO中断引脚选择1.2 EXTI边缘检测1.3 NVIC优先级配置2.配置stm32的中断1.打开时钟2.配置GPIO口3.配置AFIO控制4.配置EXTI功能5.配置NVIC6.配置完整代码3.书写中断服务函数总结 前言 又鸽 阅读全文
posted @ 2024-07-28 22:43 Lavender·edgar 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 目录前言一、软件模拟IIC协议1.开启IIC协议2.结束IIC协议3.传输数据二、OLED的操作1.传输数据的准备2.写入命令3.写入数据4.初始化函数5.设置光标6.显示字符7.显示字符串8.清屏9.显示汉字10.显示图片11.显示动图三、完整代码总结 前言 这一章主要是上一节没有讲完的项目的一个 阅读全文
posted @ 2024-04-25 23:12 Lavender·edgar 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 目录前言一、IO的概念1.IO接口2.IO端口二、CPU和外设进行数据传输的方法1.程序控制方式1.1 无条件1.2 查询方式2.中断方式3.DMA方式一、方法介绍和代码编写1.前置知识2.程序方式1.1 无条件方式1.1.1 打开对应的GPIO口1.1.2 初始化对应的GPIO引脚1.1.2.1 阅读全文
posted @ 2024-04-23 22:39 Lavender·edgar 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 目录前言一、环境搭建1.arm-none-eabi-gcc2.openocd三、创建stm32标准库工程1.创建工程目录2.修改stm32_flash.ld文件3.写makefile文件4.修改core_cm3.c5.写main函数并下载到板子上最后 前言 我在那天终于说服自己将系统换成了linux 阅读全文
posted @ 2024-03-09 21:07 Lavender·edgar 阅读(49) 评论(0) 推荐(0) 编辑