-
调试串口时,发现串口会出现频繁跳中断,导致无法执行主循环的问题!
调试发现是串口中断硬件BUG:
1. USART_ITConfig(USART1, US...
-
在MDK下学习使用STM32也快两个礼拜了,基本掌握了STM32在MDK环境下的开发流程和基本硬件程序的书写。其间,遇到了许多问题,其中不少问题花费了我相当多得时间才得以解决,现将...
-
这个例子是用EK的板子上的KEY4实现一个鼠标,不需要自己编USB驱动,因为使用标准的HID
用KEIL打开那个USB例子的工程,在main.c:while (1){Delay(...
-
1 建立工程
Project>> New μVison Project。在弹出的“Select Device for Target ‘&...
-
STM32的串口波特率计算本来没多大个事,只不过ST的StdPeriph以及后继者STM32Cube计算波特率那块弄得很复杂。写此文的目的是避免新手在这一块被函数库误导了。&nbs...
-
Keil MDK3.20 在ULINK下调试stm32方法
1. 程序在RAM中运行
要点:
(1)程序的下载地址改到RAM空间中
(2)程序的debu...
-
STM32出现HardFault_Handler故障的原因主要有两个方面:
1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。
&...
-
本来只是路过,写详细一点。我看楼主浮躁得不得了。现在什么都不要做了,先去看几遍《不要做浮躁的嵌入式工程师》这篇文章,想清楚了,再动手吧。我做了个实例,不用ST的库来点LED,解答你...
-
在调试STM32时,单步打断点运行时,没有问题,但是全速运行时,偶尔会跳过错误,偶尔也会跳转hardfault;
问题实在难找。。。
最后定位在发送数据的缓存上, 发现发送缓存...
-
今天在使用USART模块,遇到了一些问题并解决了,于是发贴共享。问题描述:
在使用USART做串口通讯时,我只把接收中断打开,并设置抢占优先级为最低一个级别,而接收中断上一个优先...
-
cortex-M3的异常向量表中的内容并不是指令,0x00000000处(当然也可能映射到别的范围)是主堆栈指针的数值,0x00000004的内容是复位后需要跳转到的地址,是一个地...
-
1. 软复位
*((u32 *)0xE000ED0C) = 0x05fa0004; //实现系统复位
...
-
1 JTAG接口
JTAG(Joint Test Action Group ,联合测试行动小组 ) 是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。目前大多数...
-
一、使用场景
第一种情况,在使用普通 STM32 延迟函数,类似于 HAL_Delay(time),由于该函数是使用循环去判断及延时的,所以在执行该函数时整个程序会在此处等待定时...
-
一、函数原型
STM32官方提供的函数库中,可以找到类似于 HAL_Delay() 这样的函数。这个函数的就是通过使用定时器,达到一个较为精确的时间延迟,提供给用户调用。
这个...
-
一、说明
使用长文件名,一般会是在使用 f_readdir() 这个函数时碰到,这个函数的功能就是获取上一步使用 f_opendir() 打开的文件夹中的内容,并将文件信息保...
-
BootLoader
关于Bootloader,从书上的文字描述,很难理解这个名词是什么,有什么用。这次用到了,算是有了更进一步的认识。
一、知识点
1、BootLoader...
-
最近一个项目需要保存一下临时数据,而产品容易受干扰而复位。所以需要保存一下数据,那么只有在系统复位时候不再初始化变量即可。对应MDK(keil)来说是一个比较麻烦的问题。通过网络上...
-
1、选择CPU类型(支持STM8S系列设备)
stm8s.h
...
/* Uncomment the line below ...
-
1. 软复位
*((u32 *)0xE000ED0C) = 0x05fa0004; //实现系统复...