![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
stm32
文章平均质量分 78
llq_the7
这个作者很懒,什么都没留下…
展开
-
C语言特殊结构体--位域(位段)的应用
有些数据在存储时并不需要占用一个完整的字节,只需要占用一个或几个二进制位即可。例如开关、使能、告警等,只用 0 和 1 即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。原创 2022-10-26 17:07:18 · 469 阅读 · 1 评论 -
STM32芯片刚才还好好的怎么突然烧录不了?试试这个办法
用户闪存:BOOT1=x BOOT0=0 芯片内置的Flash。SRAM:BOOT1=1 BOOT0=1 芯片内置的RAM 区,就是内存啦。系统存储器:BOOT1=0 BOOT0=1 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM 区。在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片...原创 2020-09-17 21:33:02 · 14327 阅读 · 5 评论 -
认识STM32的时钟源
1.STM32 五个时钟源,为HSI、HSE、LSI、LSE、PLL 如何识别?1.1HSI是高速内部时钟,RC振荡器,频率为8MHz。 1.2HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。1.3LSI是低速内部时钟,RC振荡器,频率为40kHz。1.4LSE是低速外部时钟,接频率为32.768kHz的石英晶体。1.5PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过7..原创 2020-09-17 21:31:26 · 1496 阅读 · 0 评论 -
STM32—cubeIDE+DMA+USART 接收任意长度的数据
关于usart串口收发信息网上能搜到很多相关资料,但大都是只能是有限的字符,有的能发不限字符,但大部分不能直接用,对新手来说不是很友好。按以下做,其实很简单就能实现1、配置USART1,选择异步asynchronous,软件自动配置了PA9和PA10管脚2、配置时钟树,我用默认的,然后生成代码。3、修改UASRT串口程序先声明下:volatile uint8_t rx_len = 0; //接收一帧数据的长度volatile uint8_t rec...原创 2020-09-17 18:26:28 · 2472 阅读 · 2 评论 -
认识STM32的时钟源和晶振
STM32 五个时钟源,为HSI、HSE、LSI、LSE、PLL 如何识别?1.HSI是高速内部时钟,RC振荡器2.HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源3.LSI是低速内部时钟,RC振荡器4.LSE是低速外部时钟,接频率为32.768kHz的石英晶体5.PLL为锁相环倍频输出,其时钟输入源可选择为HSI或者HSE在STM32上如果不使用外部晶振,OSC_IN和OSC_OUT的接法:如果使用内部RC振荡器而不使用外部晶振,请按照下面方法处理:1.100脚或1..原创 2020-09-11 12:47:28 · 2816 阅读 · 0 评论 -
HAL库常用函数使用介绍--HAL_GPIO
HAL_GPIO_Init//初始化我们需要用到的引脚的工作模式,包括具体引脚的工作速度、是否复用模式、上下拉等等参数。void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)HAL_GPIO_DeInit//将初始化之后的引脚恢复成默认的状态–各个寄存器复位时的值void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)例:HAL_GPIO_De原创 2020-08-26 11:14:14 · 29302 阅读 · 3 评论 -
stm32CubeMX+keil5好用还是stm32CubeID好用
用Cubemx定义引脚建立工程非常方便比keil简直好太多了,不过编写代码不行(CubeIDE还行,不习惯),所以用cube mx+keil是很多人欢喜这么干。Cubemx在生成代码前,进入工程配置。填写工程名、保存路径等,同时选择IDE为MDK-ARM V5,如下图:用keil就可以打开了工程了。而Cube IDE不行,选项灰掉了,用Cube IDE写自己的代码需要写在用户代码部分,要不每次改了配置生成代码会丢失...原创 2020-08-25 22:31:49 · 21178 阅读 · 4 评论