随笔分类 -  STM32

摘要:#一、w25qxx驱动原理 w25qxx使用spi接口驱动,下面是它的时序图 从图上看,spi有两种配置模式: 1、低电平,第一个边缘; 2、高电平,第二个边缘; #二、stm32CubeMx配置: #三、w25qxx驱动代码: 1、w25qxx.h #ifndef __W25QXX_H__ #de 阅读全文
posted @ 2021-10-06 13:34 曾经梦想少年 阅读(2790) 评论(0) 推荐(0)
摘要:之前一篇文章写了使用IO控制WS2812b操作原理,但是由于IO的输出比较慢,所以现在改用了硬件SPI控制WS2812b灯条 把SPI的mosi线接到ws2812b的数据线,SPI的速率可达十几Mbit/s,如此高的传输速率,我们可以使用一个(uint8_t)类型的数据代表一个码1或者码0; 也就是 阅读全文
posted @ 2021-09-19 09:34 曾经梦想少年 阅读(5112) 评论(0) 推荐(2)
摘要:前提 在学习FTP客户端之前需要学会socket,FTP客户端与服务器之间的通讯就是使用socket的过程。 思路: 整个过程需要两个socket,一个用于与服务器端之间的操作,比如输入账号密码、读取文件大小或者删除文件之类的操作,另外一个socket用于接收文件内容、一个流;具体流程看下面的流程图 阅读全文
posted @ 2021-06-01 14:36 曾经梦想少年 阅读(5993) 评论(4) 推荐(1)
摘要:写单片代码的时候,经常需要使用调试串口输出打印信息来观察运行状态,但是又不想把所有的信息都打印出来,所以就想封装有一个可以设置打印级别的函数,可以通过串口给单片机发送一个打印级别,然后单片机根据这个级别打印相应的内容。 printf.h #ifndef __PRINTF_H__ #define __ 阅读全文
posted @ 2021-04-01 00:25 曾经梦想少年 阅读(674) 评论(0) 推荐(0)
摘要:stm32可以使用定时器输出PWM,每一个定时器都有对应的通道,下面是使用hal库产生PWM的步骤: 1、配置系统时钟 2、选择定时器及对应的通道 3、配置定时器及通道 4、业务代码 (1)启动PWM:HAL库里面只有这么一个函数知道调用了这个函数就可以产生PWM /** * @brief Star 阅读全文
posted @ 2020-11-30 16:55 曾经梦想少年 阅读(1248) 评论(0) 推荐(0)
摘要:WWDG是stm32f103的窗口看门狗,使用的时钟是APB1的时钟,在使用wwdg是被一个小问题困扰了很久——没有打开中断,无法喂狗,一直复位。 初始化完之后需要使能中断: __HAL_WWDG_ENABLE_IT(&hwwdg, WWDG_IT_EWI); 在中断回调函数中喂狗: void HA 阅读全文
posted @ 2020-08-09 22:23 曾经梦想少年 阅读(601) 评论(0) 推荐(0)
摘要:#STM32F103C8T6驱动WS2812b灯条 几天小朋友到别人家玩,看上了人家的金鱼,人家就给了她一条小金鱼,有了小金鱼,怕它没氧气挂掉,买了一个氧气泵,没有东西喂它也不行,又买了一包鱼料,又因为它太孤单了,又买了几条小金鱼给它做伴,几条小金鱼老是在水桶里不怎么好看,又去买了个鱼缸,有了鱼缸太 阅读全文
posted @ 2020-08-08 23:42 曾经梦想少年 阅读(3352) 评论(0) 推荐(0)
摘要:##STM32之旅4——USART 串口也是用的比较多的,在STM32CubeMX中生成代码后,需要添加一些代码才可以用。 drv_usart.h: #ifndef __DRV_USART_H #define __DRV_USART_H #define USART1_MAX_LEN 64 //接收区 阅读全文
posted @ 2020-08-08 14:44 曾经梦想少年 阅读(290) 评论(0) 推荐(0)
摘要:##STM32之旅3——时钟数 STM32F1是M3内核,它的时钟数很庞大,让一个初学者去看,估计会很吃力,和我们入门的8051单片机的时钟不同,这里又倍频、又分频,而且还分成好多个时钟,不同的外设时钟不一样。 总感觉不都明了,后来在STM32CubeMX中看到了时钟配置,这个看起来就明了多了 阅读全文
posted @ 2020-08-07 22:45 曾经梦想少年 阅读(182) 评论(0) 推荐(0)
摘要:#STM32之旅2——按键 几乎每个项目都有用到按键,为了避免以后在做大项目的时候还在琢磨按键怎么写,现在写一个,方便以后使用。这里是最简单的独立按键驱动方法,和学习51单片机是的一样,更好的方法以后再慢慢补充。 ###按键驱动 drv_key.h: #ifndef __DRV_KEY_H #def 阅读全文
posted @ 2020-08-07 22:30 曾经梦想少年 阅读(247) 评论(0) 推荐(0)
摘要:#STM32之旅1——LED 学习了51单片机后,就要接触到更高级一点的单片机了,比如STM32,ST也有很多款单片机,现在用比较基础的学习——STM32F103RCT6。 ##LED驱动 hal库的使用比较简单,可以直接在STM32CubeMX中分配好IO之后一键生成工程,为了提高程序的可读性,自 阅读全文
posted @ 2020-08-06 22:03 曾经梦想少年 阅读(138) 评论(0) 推荐(0)