高原

嵌入式

关于STM32的几种输入模式以及外部中断的配置

最近做毕业设计,需要用按键来触发外部中断。实验的时候是正常的,但是换了个核心板以及用上自己做的PCB电路板后,出现了一些问题。问题如下: 要求:将连接按键的IO口配置为上拉输入,按键一端接IO口,一端接地,即当按键按下后,该IO口会产生一个下降沿,触发下降沿中断。 问题:将相应的IO口配置好后,测...

2016-12-17 21:07:56

阅读数:5813

评论数:0

KEIL MDK编译代码,产生的几个关键信息:Code RO-data RW-data ZI-data

KEIL RVMDK编译后的信息   Program Size: Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116    Code是代码占用的空间,RO-data是 Read Only 只读常量的大小,如const型,RW-data是(R...

2016-12-15 20:45:01

阅读数:403

评论数:0

使用STM32的串口进行大量数据传输

最近的一个项目需要用单片机和上位机进行大量数据的传输,每次传输的内容为一个1000*7的矩阵,矩阵中的每个元素都是一个4位有效数字,通过字符的形式保存,(如:1.000占5个字节)简单计算一下,1000*7*5=35000Byte,也就是30几K,而单片机型号为:STM32F103ZET6, SR...

2016-11-02 21:51:58

阅读数:8296

评论数:5

STM32 大小端模式 与 堆栈及其增长方向分析

栈增长和大端/小端问题是和CPU相关的两个问题. 1,首先来看:栈(STACK)的问题. 函数的局部变量,都是存放在"栈"里面,栈的英文是:STACK.STACK的大小,我们可以在stm32的启动文件里面设置,以战舰stm32开发板为例,在startup_stm32...

2016-11-02 10:10:45

阅读数:451

评论数:0

STM32内存管理以及堆和栈的理解

今天仔细读了一下内存管理的代码,然后还有看了堆栈的相关知识,把以前不太明白的一些东西想通了,写下来,方便以后查看,也想大家看了能指出哪里不对,然后修改。     首先,先看一下stm32的存储器结构。 ​Flash,SRAM寄存器和输入输出端口被组织在同...

2016-11-02 09:38:59

阅读数:15803

评论数:2

关于STM32能否使用malloc申请动态内存的问题

首先,malloc( )属于标准C语言函数,当然可以在单片机上使用,如STM32可以先在启动文件中设置heap的大小,再使用动态内存分配:        Heap_Size     EQU    0x00000200      \\也就是 512字节; 但是一般单片机的内存都比较小,而且没有MM...

2016-11-02 09:10:52

阅读数:12000

评论数:0

STM32串口通信校验问题

这里以串口作为传输媒介,介绍下怎样来发送接收一个完整的数据包。过程涉及到封包与解包。设计一个良好的包传输机制很有利于数据传输的稳定性以及正确性。串口只是一种传输媒介,这种包机制同时也可以用于SPI,I2C的总线下的数据传输。在单片机通信系统(多机通信以及PC与单片机通信)中,是很常见的问题。 一...

2016-11-01 16:29:38

阅读数:2674

评论数:1

STM32时钟小结

众所周知STM32有5个时钟源HSI、HSE、LSI、LSE、PLL,其实他只有四个,因为从上图中可以看到PLL都是由HSI或HSE提供的。 其中,高速时钟(HSE和HSI)提供给芯片主体的主时钟.低速时钟(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及独立看门狗使用,图中可以看出高速时...

2016-10-30 16:38:14

阅读数:143

评论数:0

STM32 ADC 转换时间

本文转载自 http://www.cnblogs.com/LJWJL/p/4593246.html ADC时钟: 这个ADC时钟是从哪来的呢。我们看下面这个STM32的时钟结构图:     我们大多使用STM32的最快PCLK2系统时钟72MHz。 ADCCLK的时钟由72MHz的...

2016-10-25 11:04:56

阅读数:1409

评论数:0

STM32通过DMA方式采集多路AD

一个项目需求:使用STM32采集多路AD信号。 一般采集多路信号需要使用DMA方式,步骤如下: 1.使能相应ADC通道,这里使用ADC1的4个通道,分别是ADC123_IN0 ~ ADC123_IN3, 注:ADC123_IN0 表示ADC1, 2, 3 都可以使用该通道。 2.配置ADC...

2016-10-25 10:46:43

阅读数:5830

评论数:2

STM32什么时候使用AFIO?

什么时候要开启AFIO呢?参考手册: 说的很明白,操作AFIO的三类寄存器时需要开启: AFIO_EVCR AFIO_MAPR AFIO_EXTICRx 这三类其实是AFIO的全部寄存器, AFIO_EVCR是事件相关的,AFIO_MAPR是与重映射相关的,AFIO_EXTICRx是与...

2016-10-25 08:35:36

阅读数:494

评论数:0

can总线

CAN基础can总线协议概述:   CAN是Controller Area Network的缩写,由德国博世公司开发;CAN通过ISO11891以及ISO11519进行了标准化;        CAN总线的特点:     1、多主控制       在总线空闲时,所有单元都...

2016-10-25 00:05:07

阅读数:638

评论数:0

STM32的内部Flash

说到STM32的FLSAH,我们的第一反应是用来装程序的,实际上,STM32的片内FLASH不仅用来装程序,还用来装芯片配置、芯片ID、自举程序等等。当然, FLASH还可以用来装数据。      自己收集了一些资料,现将这些资料总结了一下,不想看的可以直接调到后面看怎么操作就可以了。 F...

2016-10-21 12:39:09

阅读数:384

评论数:0

stm32系列MCU芯片选型表

本文为stm32系列32位微控制器选型表,包括STM32F0系列、STM32L1系列、STM32F1系列、STM32F2系列、STM32F3系列、STM32F4系列选型,STM32系列36脚、48脚、64脚、100脚、144脚选型。 TM32系列36脚、48脚、64脚、100脚、144脚选型: ...

2016-10-17 13:29:08

阅读数:9410

评论数:0

STM32的存储器映射

存储器映射是指把芯片中或芯片外的FLASH,RAM,外设,BOOT,BLOCK等进行统一编址。即用地址来表示对象。这个地址绝大多数是由厂家规定好的,用户只能用而不能改。用户只能在挂外部RAM或FLASH的情况下可进行自定义。         Cortex-M3支持4GB的存储空间,它的存储系统采...

2016-10-16 21:45:26

阅读数:125

评论数:0

关于STM32的BOOT0和BOOT1

STM32一共有三种启动模式,在ST官网上下载的RM0008中,可找到启动相关的配置说明: 翻译为中文: STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的Flash。 2)SRAM = 芯片内置的RAM区,就是内存啦。 3)系统存储...

2016-10-13 20:03:56

阅读数:24870

评论数:1

STM32再学习――启动流程分析

我们写嵌入式程序,基本上采用C语言来编写,以main( )作为程序的入口。但实际上,mian()并不是最先要执行的,在这之前需要做一些基本的工作,如堆、栈的定义;main函数的复位连接等,这些工作就需要一个专门的启动程序来完成,由于需要做的工作内容不多,并且需要更直接的管理内存,一般采用汇编编写。...

2016-08-13 19:22:02

阅读数:236

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭