STM32
文章平均质量分 72
微嵌电子
这个作者很懒,什么都没留下…
展开
-
YModem协议
若第1字节为SOH时有128字节,为STX时有1024字节,这部分为数据区。“Foo.c” 文件名, 超级终端下,在文件名后还有文件大小。官方dome也是因为使用了这个文件大小进行比对。这就是为什么用SecureCRT中的YMODEM协议而无法正确传输的原因。在文件名和文件大小之后,如果不满128字节,以0补满。转载 2023-11-15 10:55:24 · 161 阅读 · 0 评论 -
STM32定时器配置为编码器模式(转)
stm32 片内解码,编码器转载 2023-03-02 15:02:04 · 3621 阅读 · 0 评论 -
使用Cjson解析造成内存溢出的解决办法
使用cjson解析json数据,在使用过程中发现有很多网友说运行一段时间,会造成内存申请失败,死机等情况,我也遇到了内存申请失败的问题,后来发现了如下几个问题1.申请了内存没有释放 造成内存申请失败,下面记录下使用的注意问题(1)使用root = cJSON_Parse(text); //将文本转成json格式,次函数里面申请了一块内存给root 所以在最后要释放rootcJSON_Delete(root ); //释放cJSON_Parse()分配出来的内存空间注意:创建获取objec..原创 2021-11-18 13:31:48 · 3128 阅读 · 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 · 1858 阅读 · 0 评论 -
C语言如何解析json格式字符串
使用cJSON解析JSON字符串一、为何选择cJSON 我们在使用JSON格式时,如果只是处理简单的协议,可以依据JSON格式,通过对字符串的操作来进行解析与创建。然而随着协议逐渐复杂起来,经常会遇到一些未考虑周全的地方,需要进一步的完善解析方法,此时,使用比较完善的JSON解析库的需求就提出来了。 基于方便引用的考虑,我们希望这个JSON解析库是用C语言实现的。同时,为了避免太过复杂的C源码包含关系,希望最好是一个C文件来实现。通过在网络上的查找,发现c...转载 2020-06-03 16:13:29 · 1344 阅读 · 1 评论 -
STM32的USART中断死循环,形成死机,将UCOSiii的所有任务卡死,不再进行调度
作者:观海 QQ:531622直接说重点:我用的是 STM32F103 芯片 USART1_IRQHandler 总是中断,程序死循环。任务也跑不起来,串口1我的RX没有接线,认为不可能进入接收中断,结果就凉凉了,还是进入并且溢出产生ORE置位补充:像printf这种阻塞型的函数,尽量不要放到中断里面,有可能导致卡死机另外在中断处理函数中,需要先清标志位,在读值,防止出现溢出的情况...转载 2019-12-08 10:13:24 · 2648 阅读 · 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 · 946 阅读 · 0 评论 -
stm32——RTC实时时钟
stm32——RTC实时时钟一、关于时间 2038年问题 在计算机应用上,2038年问题可能会导致某些软件在2038年无法正常工作。所有使用UNIX时间表示时间的程序都将将受其影响,因为它们以自1970年1月1日经过的秒数(忽略闰秒)来表示时间。这种时间表示法在类Unix(Unix-like)操作系统上是一个标准,并会影响以其C编程语言开发给其他大部份操作系统使用的软件。 在大部份的32位操...转载 2018-05-08 16:39:12 · 1364 阅读 · 0 评论 -
IAR 工程名修改
最近在学习蓝牙4.0,从同事那里拿了其协议栈过来,里面有很多实例。这很好咯不过不想用其实例的工程名,想自己定义方便管理。但是要想自己定义工程名就得自己重新建工程。本来也没什么,也该是这样,可偏偏蓝牙协议栈的东西多要分建几个文件夹在工程来方便管理。这样重新建工程的话就会很麻烦。因此我决定复制提供的实例然后重新定义工程名,因为第一次接触IAR这个玩意,因此花了点时间来研究。下面是通过上网查资料结合实际...转载 2018-05-11 11:34:14 · 413 阅读 · 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 · 1050 阅读 · 0 评论 -
STM32F103学习笔记(六) 独立看门狗and窗口看门狗
首先,学习两种狗,就该看到它们两者之间的不同:(1)独立看门狗由内部专门的 40Khz 低速时钟驱动,而窗口狗使用的是 PCLK1 的时钟,需要先使能时钟,而独立狗不需要使能。(2)两者的作用不同:1.独立狗 避免单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环, 独立看门狗的作用就是在一定时间内(通过定时计数器实现) 没有接收喂狗信号(表示 MCU转载 2018-01-25 16:00:00 · 2880 阅读 · 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 · 8374 阅读 · 2 评论 -
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 · 30886 阅读 · 0 评论 -
STM32F103PWM+重映射 小程序
我的开发板是学习板,很多管脚没有引出。弄到定时器产生PWM这一块,想用下管脚重映射功能,毕竟库函数没有像操作寄存器那样容易理解。所以一开始着实糊涂了一会,最后还是给调出来了。结合很多别人的例程,但是发现都不够详细,所以就共享下,如果有同样问题的同学,希望能给你帮助。下面就共享下main.c。声明:以下是本人开发板的管道对应引脚复用功能没有重映射部分重映射原创 2017-01-03 08:35:22 · 5405 阅读 · 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 · 12336 阅读 · 1 评论 -
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 · 2884 阅读 · 0 评论