
STM32
文章平均质量分 66
微嵌电子
这个作者很懒,什么都没留下…
展开
-
stm32cubemx RTC闹钟中断 stm32设置闹钟
由于代码较长,看起来不美观,这里我是建立了函数来单独设置时间“dev_set_alarm_time”;当下载代码后中断会自动开启第一次闹钟,而第二次和后面的闹钟在while(1)里面启用“dev_rtc_alarm()”函数就可以了。中断不能放太多代码,“sAlarm_flag”作为一个标志位来闹钟事件来开启下一次闹钟时间。这里我建立了新的dev_rtc.c\dev_rtc.h文件,专门放中断和设置闹钟时间。我用的是STM32F4的芯片,RTC的时间都在HAL里面设置完成之后生成。选择时钟和选择闹钟A。转载 2024-10-25 17:32:15 · 578 阅读 · 0 评论 -
STM32之串口DMA接收不定长数据
(416条消息) STM32之串口DMA接收不定长数据_stm32串口dma接收数据_ba_wang_mao的博客-CSDN博客原创 2023-06-01 14:10:05 · 425 阅读 · 0 评论 -
让STM32CubeMX带你飞,菜鸟秒变STM32高手
让STM32CubeMX带你飞,菜鸟秒变STM32高手_cubemxdainifei-CSDN博客原创 2023-11-16 10:42:34 · 170 阅读 · 0 评论 -
再谈STM32的CAN过滤器-bxCAN的过滤器的4种工作模式以及使用方法总结
在bxCAN中,每个过滤器都存在这么两个寄存器CAN_FxR1和CAN_FxR2,这两个寄存器都是32位的,他的定义并不是固定的,针对不同的工作模式组合他的定义是不一样的,如列表模式-32位宽模式下,这两个寄存器的各位定义都是一样的,都用来存储某个具体的期望通过的CAN ID,这样就可以存入2个期望通过的CAN ID(标准CAN ID和扩展CAN ID均可);你告诉邮递员,你只对财经新闻感兴趣,请只将财经类报纸送过来,其他的就不要送过来了,就这样,你看到的内容必定是你感兴趣的财经类新闻。转载 2024-01-20 17:03:27 · 179 阅读 · 0 评论 -
STM32 bootload 跳转到 app 方法记录_裸机版
在RTOS工程,这条语句很重要,设置为特权级模式,使用MSP指针*/#define OTA_CODE_START_ADD (0x08007800) /* app 区域储存的首地址 */原文链接:https://blog.csdn.net/yutian0606/article/details/134953478。/* 跳转到APP地址 *//*清除中断标志位*//* 关闭滴答定时器,复位到默认值 */原创 2024-03-21 17:10:55 · 928 阅读 · 0 评论 -
STM32 ADC测量电池电压(使用内部参考电压)
推导过程:第一个公式VDDA = 3.0V x VREFINT_CAL / VREFINT_DATA 这个公式是怎么来的呢?ST厂商 通过配置将 VREFINT 连接到 ADC 后,则有:VREFINT = 3.0V * (VREFINT_CAL / 4095);VREFINT_CAL 就是校准条件下的 ADC 采样值(校准条件就是指VDDA=Vref+=3.0V,环境温度30度),采到的VREFINT_CAL值写入到flash。转载 2024-09-05 15:21:07 · 2721 阅读 · 1 评论 -
STM32 单片机重启(查看上次重启原因)
STM32 HAL 复位源识别STM32启动后可以识别本次启动是对应哪一种复位源,从而可以根据复位源的状态,做一些特殊处理。HAL库的复位源识别以下代码,识别是那种方式进行复位的,只需要将自己在那种方式复位运行的程序添加进去即刻,在这里面尽量进行一些事件更改,不要进行长时间任务运行。原创 2024-10-11 15:47:06 · 891 阅读 · 0 评论 -
YModem协议
若第1字节为SOH时有128字节,为STX时有1024字节,这部分为数据区。“Foo.c” 文件名, 超级终端下,在文件名后还有文件大小。官方dome也是因为使用了这个文件大小进行比对。这就是为什么用SecureCRT中的YMODEM协议而无法正确传输的原因。在文件名和文件大小之后,如果不满128字节,以0补满。转载 2023-11-15 10:55:24 · 1051 阅读 · 0 评论 -
STM32定时器配置为编码器模式(转)
stm32 片内解码,编码器转载 2023-03-02 15:02:04 · 4865 阅读 · 0 评论 -
使用Cjson解析造成内存溢出的解决办法
使用cjson解析json数据,在使用过程中发现有很多网友说运行一段时间,会造成内存申请失败,死机等情况,我也遇到了内存申请失败的问题,后来发现了如下几个问题1.申请了内存没有释放 造成内存申请失败,下面记录下使用的注意问题(1)使用root = cJSON_Parse(text); //将文本转成json格式,次函数里面申请了一块内存给root 所以在最后要释放rootcJSON_Delete(root ); //释放cJSON_Parse()分配出来的内存空间注意:创建获取objec..原创 2021-11-18 13:31:48 · 3677 阅读 · 0 评论 -
关于Keil5配置EXIT外部中断的问题(我怀疑是不是keil5软件的BUG呢????)
我之前从未遇到过的问题,反复对比了代码,以为是自己眼睛瞎掉了,查了大半天也没查出来是哪里的问题,今天一早进行反复对比,发现了惊人的秘密。。。。。开始是这样的,我通过keil5配置了外部中断,Init_CS1238AD函数体内部代码如下: GPIO_InitTypeDef GPIO_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; RCC_APB2PeriphCloc原创 2021-07-24 08:48:23 · 2438 阅读 · 0 评论 -
C语言如何解析json格式字符串
使用cJSON解析JSON字符串一、为何选择cJSON 我们在使用JSON格式时,如果只是处理简单的协议,可以依据JSON格式,通过对字符串的操作来进行解析与创建。然而随着协议逐渐复杂起来,经常会遇到一些未考虑周全的地方,需要进一步的完善解析方法,此时,使用比较完善的JSON解析库的需求就提出来了。 基于方便引用的考虑,我们希望这个JSON解析库是用C语言实现的。同时,为了避免太过复杂的C源码包含关系,希望最好是一个C文件来实现。通过在网络上的查找,发现c...转载 2020-06-03 16:13:29 · 1665 阅读 · 1 评论 -
STM32的USART中断死循环,形成死机,将UCOSiii的所有任务卡死,不再进行调度
作者:观海 QQ:531622直接说重点:我用的是 STM32F103 芯片 USART1_IRQHandler 总是中断,程序死循环。任务也跑不起来,串口1我的RX没有接线,认为不可能进入接收中断,结果就凉凉了,还是进入并且溢出产生ORE置位补充:像printf这种阻塞型的函数,尽量不要放到中断里面,有可能导致卡死机另外在中断处理函数中,需要先清标志位,在读值,防止出现溢出的情况...转载 2019-12-08 10:13:24 · 3131 阅读 · 0 评论 -
STM32一个Timer输出4路不同频率、可调占空比的PWM
源码下载地址:http://download.csdn.net/detail/dazhou158/5253187main.c[cpp] view plain copy/********************************************* 标题:操作USART的练习 软件平台:MDK-ARM转载 2016-12-17 15:50:21 · 12611 阅读 · 1 评论 -
STM32F103PWM+重映射 小程序
我的开发板是学习板,很多管脚没有引出。弄到定时器产生PWM这一块,想用下管脚重映射功能,毕竟库函数没有像操作寄存器那样容易理解。所以一开始着实糊涂了一会,最后还是给调出来了。结合很多别人的例程,但是发现都不够详细,所以就共享下,如果有同样问题的同学,希望能给你帮助。下面就共享下main.c。声明:以下是本人开发板的管道对应引脚复用功能没有重映射部分重映射原创 2017-01-03 08:35:22 · 5646 阅读 · 0 评论 -
stm32的两种固件下载模式:JTAG和SWD
一、JTAG模式这种模式一般有10pin的、14pin的和20pin的,尽管引脚数和引脚的排列顺序不同,但是其中有一些引脚是一样的。值得注意的是,不同的IC公司会自己定义自家产品专属的Jtag头,来下载或调试程序。Test Clock Input (TCK) -----强制要求1:TCK在IEEE1149.1标准里是强制要求的。TCK为TAP的操作提供了一个独立的、基本的时钟信号,转载 2017-01-05 09:43:21 · 31765 阅读 · 0 评论 -
32 x 8段液晶驱动HT1622 程序
软件平台IAR for STM8 V1.30#include#define uchar unsigned char#define uint unsigned int#define LCD_ON 0x03 //启动偏压发生器#define LCD_OFF 0x02转载 2017-10-25 17:02:06 · 9523 阅读 · 2 评论 -
STM32F103学习笔记(六) 独立看门狗and窗口看门狗
首先,学习两种狗,就该看到它们两者之间的不同:(1)独立看门狗由内部专门的 40Khz 低速时钟驱动,而窗口狗使用的是 PCLK1 的时钟,需要先使能时钟,而独立狗不需要使能。(2)两者的作用不同:1.独立狗 避免单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环, 独立看门狗的作用就是在一定时间内(通过定时计数器实现) 没有接收喂狗信号(表示 MCU转载 2018-01-25 16:00:00 · 3030 阅读 · 0 评论 -
STM32 IWDG设置
STM32 内部看门狗的设置STM32 有两个看门狗,这里介绍的是IWDG内部看门狗。时钟来源: 内部的40KHz的时钟,与系统时钟无关!如下所示:这里的fsoc才是IWDG真正的时钟!(IWDG_Prescaler_XX指的是XX分频)。IWDG的重载值寄存器:RLR 是一个16位的寄存器,只有低12bit可以使用,其他的保留!所以重载值最大是0xFFF也就是从IWDG最大从0xFFF减到0 然...转载 2018-02-09 09:43:13 · 1095 阅读 · 0 评论 -
IAR 工程名修改
最近在学习蓝牙4.0,从同事那里拿了其协议栈过来,里面有很多实例。这很好咯不过不想用其实例的工程名,想自己定义方便管理。但是要想自己定义工程名就得自己重新建工程。本来也没什么,也该是这样,可偏偏蓝牙协议栈的东西多要分建几个文件夹在工程来方便管理。这样重新建工程的话就会很麻烦。因此我决定复制提供的实例然后重新定义工程名,因为第一次接触IAR这个玩意,因此花了点时间来研究。下面是通过上网查资料结合实际...转载 2018-05-11 11:34:14 · 439 阅读 · 0 评论 -
stm32——RTC实时时钟
stm32——RTC实时时钟一、关于时间 2038年问题 在计算机应用上,2038年问题可能会导致某些软件在2038年无法正常工作。所有使用UNIX时间表示时间的程序都将将受其影响,因为它们以自1970年1月1日经过的秒数(忽略闰秒)来表示时间。这种时间表示法在类Unix(Unix-like)操作系统上是一个标准,并会影响以其C编程语言开发给其他大部份操作系统使用的软件。 在大部份的32位操...转载 2018-05-08 16:39:12 · 1850 阅读 · 0 评论 -
关于Stm芯片,keil编译后输出的信息,查看程序所占用的Flash、RAM空间大小
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/weixin_42174355/article/details/86541684根据keil编译输出的信息code:表示程序代码部分RO_data:表示程序已经定义的常量(如用const修饰的变量.........原创 2019-08-21 09:19:53 · 1034 阅读 · 0 评论 -
STM32 GPIO 寄存器配置
一.CRH和CRL的使用:fficeffice" /> CRH和CRL的使用基本相同,CRH用于控制GPIOX(X表示A---G)的高8位(Pin15---Pin8),而CRL用于控制GPIOX(X表示A---G)的低8位(Pin7----Pin0)。 二.ODR的使用: 1.RCC->APB2ENR|=1//使能PORTA时钟原创 2016-12-17 10:27:09 · 3269 阅读 · 0 评论