-
在MDK下学习使用STM32也快两个礼拜了,基本掌握了STM32在MDK环境下的开发流程和基本硬件程序的书写。其间,遇到了许多问题,其中不少问题花费了我相当多得时间才得以解决,现将...
-
STM32的串口波特率计算本来没多大个事,只不过ST的StdPeriph以及后继者STM32Cube计算波特率那块弄得很复杂。写此文的目的是避免新手在这一块被函数库误导了。&nbs...
-
Keil MDK3.20 在ULINK下调试stm32方法
1. 程序在RAM中运行
要点:
(1)程序的下载地址改到RAM空间中
(2)程序的debu...
-
更新了IAR软件,工程配置文件存在不兼容问题,让人郁闷的是配置文件基本上需要重新设置,包括编译、链接选项、调试设置等。。。
之前的代码遇到一个麻烦的问题,现象是之前时钟配置都正常...
-
STM32出现HardFault_Handler故障的原因主要有两个方面:
1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。
&...
-
首先这个问题耗费了我比较多的时间来进行调试,比较郁闷;
1. 同时使用相同的函数进行了USART2和USART3的初始化配置, USART2工作正常, 中断服务程序的结构也是相同...
-
1、遇到错误问题是数据类型不对,导致该步骤永远不能执行到,跳至硬件错误中断;所以硬件中断可尝试查找数据类型错误。
2、堆栈设置错误也会跳至hardwarefault;
3、如果...
-
本来只是路过,写详细一点。我看楼主浮躁得不得了。现在什么都不要做了,先去看几遍《不要做浮躁的嵌入式工程师》这篇文章,想清楚了,再动手吧。我做了个实例,不用ST的库来点LED,解答你...
-
今天在使用USART模块,遇到了一些问题并解决了,于是发贴共享。问题描述:
在使用USART做串口通讯时,我只把接收中断打开,并设置抢占优先级为最低一个级别,而接收中断上一个优先...
-
1. 软复位
*((u32 *)0xE000ED0C) = 0x05fa0004; //实现系统复位
...
-
1. 什么是位段、位带别名区?
2. 它有什么好处? 答1: 是这样的,记得MCS51吗? MCS51就是有位操作,...
-
1 JTAG接口
JTAG(Joint Test Action Group ,联合测试行动小组 ) 是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。目前大多数...
-
一、说明
SysTick 定时器是实时操作系统专用的,但是也可以作为一个标准的递减计数器使用。它具有以下特点:
1、24位递减计数器(16777216)2、自动装填能力3、计数...
-
一、使用场景
第一种情况,在使用普通 STM32 延迟函数,类似于 HAL_Delay(time),由于该函数是使用循环去判断及延时的,所以在执行该函数时整个程序会在此处等待定时...
-
一、函数原型
STM32官方提供的函数库中,可以找到类似于 HAL_Delay() 这样的函数。这个函数的就是通过使用定时器,达到一个较为精确的时间延迟,提供给用户调用。
这个...
-
一、说明
使用长文件名,一般会是在使用 f_readdir() 这个函数时碰到,这个函数的功能就是获取上一步使用 f_opendir() 打开的文件夹中的内容,并将文件信息保...
-
BootLoader
关于Bootloader,从书上的文字描述,很难理解这个名词是什么,有什么用。这次用到了,算是有了更进一步的认识。
一、知识点
1、BootLoader...
-
最近一个项目需要保存一下临时数据,而产品容易受干扰而复位。所以需要保存一下数据,那么只有在系统复位时候不再初始化变量即可。对应MDK(keil)来说是一个比较麻烦的问题。通过网络上...
-
1. 软复位
*((u32 *)0xE000ED0C) = 0x05fa0004; //实现系统复...
-
电子设计竞赛系列指导之一
CPU的选择
最近经常有参加电子设计大赛的同学问我这样的问题:我最近在学XX单片机或者XX ARM,不知道这个对大赛是否有用?或者参加电子设计大赛最好...