-
学习STM32,看了一堆乱七八糟的文档,准备写程序了,先分析了下STM32的启动代码,看着这堆鬼鬼的汇编代码,挺吓人的,看看帮助,查查网路,还是不那么难懂。
;// ...
-
我们在学STM32的时候函数assert_param出现的几率非常大,上网搜索一下,网上一般解释断言机制,做为程序开发调试阶段时使用。下面我就谈一下我对这些应用的看法,学习东西抱着...
-
本文主要探讨的是MDK开发工具中One ELF Section per Function选项对于代码优化的作用及其实现的机制...
-
*(volatile unsigned short int *)(0x60000000)=val;
0x60000000强制转换成shor...
-
warning: #550-D: variable "key" was set but never used
程序如下:#include "spi.h"int main(void...
-
STM32中 warning: #61-D: integer operation result is out of range
由于编译器默认signed int即32位有符号整...
-
这两天开始捣鼓板载STM32F103ZE的红牛开发板,每次做一点小改动都要重新下载程序到Flash中,很慢不说,还担心这么频繁地刷,Flash啥时候突然就归西了。
于是准备每次下...
-
调试串口时,发现串口会出现频繁跳中断,导致无法执行主循环的问题!
调试发现是串口中断硬件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 ,联合测试行动小组 ) 是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。目前大多数...