![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32
文章平均质量分 92
HeartRain_大西瓜
有时候来不及沉淀,岁月总是跑在灵魂的前面,好在还有一点信念,陪我们完成每一天,别忘记心中的少年;
展开
-
日常入坑之STM32CubeMX使用
相信近几年开发STM32的童鞋对STM32CubeMX不陌生吧,其实我是今年才用起来的,一试就放不下了,真香!!!夸张了,其实对于应用开发的人来说还是挺方便的,底层寄存器不再关心怎么配置,只需要将应用开发好即可,但是在使用STM32CubeMX这个工具中,不熟悉的人多多少少还是会遇到一些坑,下面我就记录一下我在使用的过程中遇到的一个比较大的坑,具体描述如下:开发环境为小熊派的STM32L431开发板,使用Cube工具只配置了LED灯与KEY对应的IO、还有串口,如图:![在这里插入图片描述](http原创 2020-07-12 15:06:08 · 1176 阅读 · 0 评论 -
日常入坑之STM32串口空闲中断问题
前言:在使用小熊派开发板STM32L4单片机开发蓝牙驱动时遇到的了一个非常非常奇怪的问题,当然也怪学术不精,具体问题描述如下:使用STM32L4单片机,蓝牙为串口驱动,选择单片机的串口3,为啥选择这个呢,这得问问我那脾气很臭的硬件工程师,串口配置为DMA空闲中断,使用STMcube生成的代码,代码生成后基本初始化已经自动完成,在外设比较少的情况下运行正常,但是当把外设加多的时候,比如初始化了ADC、TIM、SPI等时候,程序在刚开始运行就进入硬件故障中断,HardFault_Handler();纠结了好几原创 2020-07-06 09:32:28 · 3711 阅读 · 1 评论 -
STM32Cube生成的MDK工程,首次打开时增加新的文件出现无响应、卡死等现象解决办法
在使用STM32Cube生成的MDK工程,首次打开时增加新的文件出现无响应、卡死等现象,实在让人着急,后来通过百度看到有人提出了解决方法,现记录如下,以免时间长了又忘记:第一步:点击Manage RUN-Time environment第二步:弹出如下界面:第三步:点开 CMSIS,取掉CORE后的√;第四步:保持继续添加 OK!...原创 2020-06-15 16:10:09 · 1716 阅读 · 0 评论 -
STM32嵌入式裸机开发不停止式延时方式
STM32嵌入式裸机开发时,需要使用一些延时,比如STM32中默认的HAL_Delay(1000),表示延时1S,而这种延时是指令暂停等待,其他指令无法执行,效率特别低,而此时需要这种不停止式延时方式,这种延时方式也需要一个基准定时器或者系统滴答,需要延时时获取当前的基准定时器的时间作为基准,设置延时时间,每次运行到此处判断当前累计时间差是否大于等于设置的延时时间,涉及到的参数如下:需要一个tick,每次定时器时间到了后自增,需要一个函数,获取当前tick的值,需要一个计算时间差的函数DiffTime,计算原创 2020-06-12 16:24:37 · 822 阅读 · 0 评论 -
状态机在物联网产品嵌入式开发中的应用
状态机在编程中很常见,而用好状态机却不容易,在网上也看到很多人有很多种用法,优缺点各有吧,主要配合自己的系统编写出适合自己的状态机,下面我主要记录一下状态机在物联网产品嵌入式开发中的应用。 我指的物联网产品是带无线通信模组的,比如WIFI、BLE、NB_IoT、4G模组等,这些模组在使用过程中需求AT指令驱动,此时个人觉得使用状态机的方式编写驱动代码更好更直观,当然此时需要另外一个知识点,那就是“不停止式延时”,解释一下什么是“不停止式延时”:一般我们使用延时...原创 2020-06-12 15:25:24 · 321 阅读 · 0 评论 -
STM32时钟系统
众所周知,时钟系统是 CPU 的脉搏,就像人的心跳一样。所以时钟系统的重要性就不言而喻了。 STM32 的时钟系统比较复杂,不像简单的 51 单片机一个系统时钟就可以解决一切。于是有人要问,采用一个系统时钟不是很简单吗?为什么 STM32 要有多个时钟源呢? 因为首先STM32 本身非常复杂,外设非常的多,但是并不是所有外设都需要系统时钟这么高的频率,比如看门狗以及 RTC 只需要几十 k 的时钟即可。同一个电路,时钟越快功耗越大,同时抗电磁干扰能力也会越弱,所以对于较为复杂的 MCU 一般都是采取多转载 2020-05-10 10:55:44 · 515 阅读 · 0 评论