- 博客(10)
- 收藏
- 关注
原创 STM32F103标准库DMA+PWM驱动WS2812b
由于stm32f103单片机的频率有限,之前试过仅单纯地使用__nop();延时来做时序,但是尝试了很久,最多只能点亮灯,却无法调节颜色,说明时序还是存在问题。所以为了驱动ws2812b这玩意还是得用硬件的方式去驱动,靠软件的话实在不太稳定,起码我没整出来。
2024-06-05 15:02:35
1492
5
原创 STM32F103 串口通信
在偶校验中,校验位被设置为确保数据位中的1的总数为偶数。在串口通信里,接好线并配置好串口的初始化之后就可以直接发送数据了,但是为了通信的可靠传输,通信双方往往会采用约定好的通信协议,这个协议可以自定义,也可以直接套用一些经过实践检验的、广为使用的通信协议,比如工业里常用的modbus协议、RS232协议…串口通信是嵌入式里非常常见的通信,不论是STM32还是其它的什么单片机或者任何其它支持串口通信的设备通信时只需要把通信一方的RX与通信另一方的TX,以及一方的TX与另一方的RX相连接就可以进行双向通信。
2024-06-04 22:21:33
2810
1
原创 STM32F10x定时器中断
stm32f10x的定时器功能十分丰富,光是寄存器就已经超过15个了,应用十分灵活,本文仅仅讨论定时器中断这个简单的功能,暂不讨论定时器的PWM、捕获等功能。控制寄存器 1(TIMx_CR1)DMA/中断使能寄存器(TIMx_DIER)自动重装载寄存器(TIMx_ARR)预分频寄存器(TIMx_PSC)重复计数寄存器(TIMx_RCR)事件产生寄存器(TIMx_EGR)TIM_Cmd();当然,要想在stm32里使用中断不可避免的要和NVIC打交道,不过它不是本章的重点。
2024-04-20 16:02:29
1769
原创 STM32F10x,使用systick写一个软件延时
里有滴答时钟的中断服务函数,这个文件是没有读写保护的,我们可以在这里写入自己需要的函数,也可以不写。当配置好滴答时钟后开启时钟,那么每当时钟计数值向下计数到0时,就进入此中断函数里。如果前面看不懂也没关系,只需要知道下面这两个步骤就能轻松实现systick延时。其实你需要关心的没那么多,只要关心你的ticks的值就行了。下面附上通过systick中断实现的LED翻转视频。systick中断实现LED翻转。里定义了滴答时钟的相关时钟。可以自定义一个初始化函数。
2024-04-08 18:01:00
491
原创 STM32F10x按键中断,你的单片机里发生了什么
之前的文章里讲了按键输入,但是使用的是按键扫描的方式实现的,这将会占用CPU资源,毕竟每次扫描按键也要执行相应的代码花费一定的时间,如果你的代码有十行,说不定扫描按键的那一行就要分走1/10的CPU资源。本文里我们使用stm32的中断功能来实现按键输入的功能,顺便聊聊这个过程中你的单片机都干了些什么。
2024-04-06 21:43:03
835
1
原创 STM32按键输入
书接上回,咱们在之前提到,要想配置GPIO的工作模式需要配置其对应端口的CRL或者CRH寄存器,但是对于输入而言有一种工作模式叫做上拉/下拉输入,那它到底是上拉还是下拉呢?本文将会继续讨论GPIO的输出配置问题,分析一下这个函数的内容。
2024-03-31 23:42:53
1341
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人