stm32
文章平均质量分 82
笑看江湖路6
这个作者很懒,什么都没留下…
展开
-
I2C通信原理
在起始信号后必须传送一个从机的地址(7位),第8位是数据的传送方向位(R/T),用“0”表示主机发送数据(T),“1”表示主机接收数据(R)。每个接到I2C总线上的器件都有唯一的地址。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。I2C总线上传送的数据信号是广义的,既包括地址信号,又包括真正的数据信号。原创 2023-03-07 23:23:26 · 2105 阅读 · 0 评论 -
stm32的中断优先级介绍
一、抢占优先级和响应优先级 STM32 的中断向量具有两个属性,一个为抢占属性,另一个为响应属性,其属性编号 越小,表明它的优先级别越高。 抢占,是指打断其他中断的属性,即因为具有这个属性会出现嵌套中断(在执行中断 服务函数A 的过程中被中断B 打断,执行完中断服务函数B 再继续执行中断服务函数A),抢占属性由NVIC_IRQChannelPreemptionPrior...原创 2018-07-01 10:06:56 · 1212 阅读 · 0 评论 -
stm32定时器误区
在用到STM32定时器的更新中断时,发现有些情形下只要开启定时器就立即进入一次中断。准确说,只要使能更新中断允许位就立即响应一次更新中断【当然前提是相关NVIC也已经配置好】。换言之,只要使能了相关定时器更新中断,不管你定时间隔多长甚至不在乎你是否启动了相关定时器,它都会立即进入一次定时器更新中断服务程序。 以STM32F051芯片为例,做了几种不同顺序的组合测试。根据测试发现,的确有些情况下一...原创 2018-07-01 10:10:20 · 4786 阅读 · 5 评论 -
stm32内存映射
如图是一张stm32的内存映射图,其中代码区是从0x0800 0000开始的,他的结束地址是0x0800 0000加上实际芯片的flash大小,他的ram的起始地址是0x2000 0000,然后结束地址依然是加上芯片实际的ram大小。 注意:代码区是在rom(flash)中,数据区(.bss段和.data段)在ram区 stm32的flash地址起始于0x08000000,结束地址是0...原创 2018-07-01 10:20:54 · 6430 阅读 · 2 评论 -
stm32下载电路
从上图可以看出有两种启动方式,第一种是利用BOOT0物理脚和Nboot1、Boot_Sel选项位来确定启动模式;第二种只使用Boot_Sel、Nboot1 、Nboot0 三个选项位来确定启动模式,完全省却了物理脚,多出一根脚给用户应用。 对于第一种配置方式,所有STM32F0系列的芯片都适用。第二种配置方式仅适用于STM32F04X和STM32F09X系列的器件。 显然,从其出厂的默认初...原创 2018-07-01 10:31:17 · 5113 阅读 · 0 评论 -
串行通信的原理
并行通信 -传输原理:数据各个位同时传输。 -优点:速度快 -缺点:占用引脚资源多 串行通信 -传输原理:数据按位顺序传输。 -优点:占用引脚资源少 -缺点:速度相对较慢 串行通信: 按照数据传送方向,分为: 单工: 数据传输只支持数据在一个方向上传输 半双工: ...原创 2018-07-02 09:16:44 · 1929 阅读 · 0 评论