CQ9电子STM32Snippets是高度优化的代码示例集合,使用符合CMSIS的直接寄存器访问来减少代码开销,从而在各种应用程序中最大化STM32MCUs的性能。
每个STM32系列的100多个片段演示了如何以最小的内存占用有效地使用STM32外围设备。
STM32Snippets可以理解为我们常说的“寄存器”开发STM32的底层驱动代码。
主要针对的底层开发人员,或者从51转过来,直接操作寄存器开发的人员。 是没有经过封装,可见底层寄存器的一套示例代码。
标准外设库相信学习过STM32的朋友都不陌生,是一组外围设备的C语言代码集合。
标准外设库是在寄存器的基础上进行了一次简单封装,主要是面向过程的嵌入式系统开发人员。
LL库相对HAL,具有简单的结构,针对之前从事SPL,或寄存器开发的人员。
STM32Cube HAL 和 LL是目前官方重点维护和更新的库,也建议大家都学习一下。而且新出来的型号(如L4、G0等)就只有STM32Cube HAL 和 LL库了。
单片机型号:STM32L053R8T6 我们可以通过STM32CubeMX生成工程代码,但是如果我们的工程已经建立完毕了,或者说我们在原有的工程上,开始新的项目设计,此时又需加入新的驱动,该如何呢?本文探讨其解决方法。 1、STM32CubeMX的驱动路径如下图所示,我们希望加入什么驱动,就直接将其对应的.c文件加入到工程中即可。 2、为了使该模块生效,我们还学将其使能。其使能宏,在stm32l0xx_hal_conf.h中,如下图所示。 3、上述工作完成后,我们就可以对工程进行编译了,至于驱动的具体调用方法,我们可以参看ST公司给出的例程,或者自己重新生成一个STM32CubeMX工程文件,进行对
开发笔记22: 手动添加驱动文件 /
RTC代表的是实时时钟的意思。因为它提供的时钟基准比较准确所以用处还是很多的。本文章主要讲解基于STM32F103上的RTC闹钟中断功能以及用闹钟中断唤醒STM32的待机模式。 需要注意RTC的几个要点:1.RTC的值被设定后它就会一直按照设定的基准时间自己递增,如果你的硬件设备上发现一个纽扣电池,那就是给RTC功能供电用的。因此就算关闭掉设备的主电源,RTC的运行也是不受影响的,当然如果扣掉纽扣电池或者不带纽扣电池它就不工作了。2.每次STM32复位后这个RTC值它重新计数还是继续计数要考虑清楚3.RTC的值是有上限的,它的最大值就是2的32次方减一,这个数字很大因此不用太关心。 本文章的第一个例程是让RTC一次设定值后
RTC闹钟中断和唤醒待机模式 /
1、SysTick的介绍(以上资料来自CM3中文参考手册) SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。在以前,大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断,作为整个系统的时基。例如,为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统;或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问它的寄存器,以维持操作系统“心跳”的节律。 Cortex‐M3处理器内部包含了一个简单的定时器。因为所有的CM3芯片都带有这个定时器,软件在不同 CM3
航天应用中的大部分软件都是嵌入式软件,可靠性要求很高,因此,对其进行充分测试显得尤为重要。但是,嵌入式软件运行环境同硬件有着密切的关系,使得嵌入式软件测试过程非常复杂,目前存在的一些测试工具偏重于白盒测试且价格昂贵,针对黑盒测试,目前还是以人工测试为主。由于软件的复杂程度越来越高,导致人为设计测试用例数量巨大且无法保证测试充分性。而对航天软件来说,是否满足任务要求是软件的重点,因此,从用户的角度对软件运行剖面进行数学建模,对系统是怎样的以及它会怎样被使用做出一个定量描述,根据这些量值可以对软件中至关重要的、生命攸关的、关系到系统成败的部分给与充分的测试。通过任务剖面模型可获取测试用例和测试数据的等价类信息,自动生成测试用例,大大减
1.关于ADC输入通道与GPIO口的输入关系需要查看STM32芯片手册(p31)而非数据手册。 2.外部触发源指的是触发ADC采样的触发信号,这与1的GPIO口输入是两个不同概念。而JEXTBEL 或者EXTBEL 决定具体是哪个触发源。 3.大的方向,触发模式分为了 ADON位触发启动和外部触发启动ADC转换两种。用后者就行了 4.当我们使用一个ADC要采集多个通道时,单独规则组由于只使用了一个数据寄存器,并且是整个组转换完后才会触发中断,因此数据会覆盖,这种情况下需要使用DMA方法(后面采用试试),这时数据写到SRAM中了。而单独使用注入组总共可最多有四个通道,对应四个数据寄存器,不存在覆盖。 5.关于注入通道
使用ADC功能 /
基于STM32的虚拟多线程,可以很好的用于裸机程序中,用于模拟小型操作系统的多线程概念。本实例参考了参考TI_BLE协议栈_ZStack协议栈。 #include Hal_Led/Hal_Led.h #include Hal_delay/delay.h #include Hal_Key/Hal_Key.h #include ringbuffer.h #define APP_LED2_BLINK_EVENT 0x0001 #define HAL_LED1_BLINK_EVENT 0x0001 #define TASK_NO_TASK_RUNNING 0xFF unsigned short Hal_ProcessE
的虚拟多线程(TI_BLE协议栈_ZStack协议栈) /
STM32 独立看门狗IWDG 时限 的确定 看门狗定时时限= IWDG_SetReload()的值 / 看门狗时钟频率 看门狗时钟频率=LSI(内部低速时钟)的频率(40KHz)/ 分频数 1.STM32 看门狗的 例子 IWDG的时限定为280微秒。这个时限可能会随着LSI(内部低速时钟)的频率漂移而产生微 小的变化。 /* IWDG timeout equal to 280 ms (the timeout may varies due to LSI frequency dispersion) ------------------
配置每组IO口的寄存器:(每一组一套寄存器) 1、两个32位的配置寄存器;GPIOx_CRL,GPIOx_CRH 2、两个32位的数据寄存器:GPIOx_IDR,GPIOx_ODR 3、一个32位置位/复位寄存器:GPIOx_BSRR 4、一个16位的复位寄存器GPIOx_BRR 5、一个32位的锁定寄存器GPIOx_LCKR 详解 : CRL和CRH控制IO口,是四个位控制一个口,所以要两个32位的来控制16个口 1、GPIOx_CRL:端口配置低寄存器: 每个口由四位控制,为MODE+CNF联合配置,具体模式在下图中。(输入要与输入对应,输出也要与输出对应) 具体对应输入输出配置表(对上图的详解): 2、GPIOx_
GPIO 寄存器的配置 /
系统原理
过程控制系统工程 ((德)利昂·乌尔巴斯(Leon Urbas)主编 朱振华译)
PAS CO2 传感器 套件测评
9月24日 直播Microchip mSiC产品及其在电动出行中的典型应用方案
有奖活动 来 Pl BridgeSwitch 技术中心探秘半桥电机驱动器新技术
ADI & WT ·世健 MCU 痛点问题探索季 ——第二站:直播 MCU应用难题全力击破!
立即报名 2024年STM32巡回研讨会即将开启!(9月3日-9月13日)
【】LAT1415 如何通过STM32CubeMX添加使用DSP库
【】LAT1437 选择USBX模块生成USB CDC ACM无PD的项目
【】LAT1421 如何在STM32U5 TF-M工程中添加自定义服务
【新品】STM32U0新一代超低功耗入门级MCU,助力终端产品省电,安全,BOM成本低
【新品】 STM32H7R/S基于Cortex-M7,运行频率高达600 MHz,板载闪存型MCU 拥有高速的外部存储
【新品】STM32WBA54/55 支持BLE5.4、IEEE 802.15.4通信协议、Zigbee®、Thread和Matter协议
【新品】STM32MP2 最高配备双核Arm® Cortex®-A35和Cortex®-M33的STM32MP2系列微处理器
【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性
【方案】物链一体,构筑可信数字底座|摩联科技基于STM32H5/U5的区块链解决方案
【应用】实现“单芯片”模式:TouchGFX 4.24 的创新特性解析
有一些电子设备需要频率高度稳定的交流信号,而LC振荡器稳定性较差,频率容易漂移,即产生的交流信号频率容易变化。在振荡器中采用一个特殊 ...
问题:该问题由某客户提出,发生在STM32F103VDT6器件上。据其工程师讲述:在其产品的设计中,STM32的HSE外接8MHz的晶体产生振荡,然后通过S ...
问题描述客户反馈STM32F030作为他们产品的控制芯片,在常温下工作是正常的,但是稍微冷冻下就会启动失败,重现率100%,再次加热或者恢复到 ...
什么是串口通讯?串行通讯是指仅用一根接收线和一根发送线就能将数据以位进行传输的一种通讯方式。尽管串行通讯的比按字节传输的并行通信慢 ...
今天再给大家分享一些关于STM32串口中断及DMA接收常见的几个问题。UART串口中断接收使能UART串口中断之后,有接收到UART数据,进入中断,此 ...
基于STM32F4和RT-Thread通用BootLoader使用经验
PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源单片机习题与教程词云: