Image
Image

一点点0321

+ 关注

粉丝 2     |     主题 68     |     回帖 481

STM32F103ZET6+EXTI中断处理
2023-1-18 23:19
  • ST MCU
  • 21
  • 1224
  总结,如果使用STM32的外部中断,则需要以下几个步骤。 (1) 使用RCC_APB2PeriphClockCmd()函数配置时钟, ...  
  main.c文件的代码如下:  
  exit.c文件的代码如下:  
  在之前的LED灯工程上,新建两个文件,一个是exti.h文件,另一个是exti.c文件 exit.h文件的代码如下: ...  
  初始化NVIC,配置NVIC参数并使能 NVIC相关的配置主要包括配置中断优先级的中断分组,确定各具体中断的抢占 ...  
  4、 初始化EXTI,配置EXTI相关参数并使能 如选择具体的中断引脚、中断线路、触发模式等,实例代码如下: ...  
STM32 内存分配、堆栈以及变量存储位置理解与分析
2023-8-15 23:36
  • ST MCU
  • 37
  • 4837
   可以看到在整个ram空间(0x2000 0000起)依次存放了data、bss、HEAP、STACK,其中堆和栈的大小和我们定义 ...  
  再来看一下MAP文件,如下图  
    在STM32的启动文件(.s)中,刚开头就有对堆和栈空间的定义描述。如图定义了栈的大小是(0x400),堆的大 ...  
  其中data和bss比较好理解就是一些全局变量。堆和栈的空间可以由我们来自由设定如下图所示,只要这些部分加 ...  
  3、RAM   相对对flash来说,ram主要就是用来存储数据了,如下是STM32中ram的分区  ram中包含了如下几个 ...  
  这里已经验证过这两个值就是定义的TEST_DATA1和TEST_DATA2,还想测试的话可以多定义几个,结果是一样的。 ...  
  在flash的0x0800 0d4c处找到了定义的常量TEST_DATA1:4660(0x1234),通过全局搜索定义的TEST_DATA2:0x1112 ...  
  3、通过ST-LINK Utility软件直接查看芯片的flash。先定位到TEST_DATA1所在的0x0800 0d4c: ...  
  在这里依然是串口里打印出来的地址,那再换一种方式。  
  2、在MAP文件中查找,通过双击“LED”,会跳转到MAP文件,我们使用快捷键“ctrl+f”在MAP中查找TEST_DATA变 ...  
  验证过程:   1、通过代码里printf把TEST_DATA1和TEST_DATA2的地址打印出来,通过串口助手可以看到:   ...  
  如何理解这些我们来做个实验。简单写一个点亮LED的测试工程,定义由const修饰的一个常量TEST_DATA1,和一个 ...  
  STM32的flash是从地址0x0800 0000开始的,是向上增长的。Flash又可以细分为这么几个部分,分别是文本段 (Te ...  
  1、STM32内存(FLASH和RAM)   一般来说单片机的内存指的是FLASH和RAM,当在程序中定义了全局变量、局部 ...  
2
3
近期访客