![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ARM
红尘-有梦
做一个简单的人,平和而执着,谦虚而无畏。
展开
-
单片机ICP、ISP、IAP
单片机ICP、ISP、IAP原创 2022-08-01 09:58:50 · 569 阅读 · 0 评论 -
为什么差分信号抗干扰能力强
差分信号又称差模信号,与传统使用单根信号线电压表示逻辑的方式有区别,使用差分信号传输时,需要两根信号线,这两个信号线的振幅相等,相位相反,通过两根信号线的电压差值来表示逻辑0和逻辑1。 相对于单信号线传输的方式,使用差分信号传输具有如下优点:1)抗干扰能力强,当外界存在噪声干扰时,几乎会同时耦合到两条信号线上,而接收端只关心两个信号的差值,所以外界的共模噪声可以被完全抵消。2)能有效抑制它对外部的电磁干扰,同样的道理,由于两根信号的极性相反,他们对外辐射的电磁场可以相互抵...原创 2020-12-29 16:14:28 · 8247 阅读 · 0 评论 -
如何在Keil开发环境生成bin格式文件
原文连接:https://jingyan.baidu.com/article/219f4bf7ac6d3bde442d38be.html为什么需要BIN文件呢?1、有些烧录器只支持BIN文件。2、进行OTA远程升级时,只能使用BIN文件。3、使用JLink脚本文件进行一键烧录时,只支持BIN文件。4、BIN文件要比HEX和AXF文件小的多。但Keil默认生成的...原创 2020-02-28 14:12:19 · 402 阅读 · 0 评论 -
STM32 定时器实现非中断延时
STM32使用SysTick定时器和基本定时器实现非中断延时。1. 使用SysTick定时器实现非中断延时SysTick定时器是一个24位的递减计数器。每次使用前,计数器必须先清零,然后计数器从设定的值开始递减。下面的代码经测定,非常稳定。/* 设置延时时间,延时单位为1us*/void delay_us(unsigned int delay_us){ un...原创 2019-12-04 09:13:54 · 1913 阅读 · 1 评论 -
STM32F103 移植 FreeRTOS系统
1.开发板:STM32F103VET6 指南者2.开发环境:Keil53.FreeRTOS版本: FreeRTOSv10.2.1移植过程:一、使用keil5新建一个固件库工程,建好后效果如下图所示:其中,文件夹FWLIB中包含了工程所需要的固件库的.c文件。如下图所示:假设该工程位于E:\STM32\New Project目录下。二、移植FreeRTOS系统到新...原创 2019-11-29 15:00:16 · 1872 阅读 · 0 评论 -
STM32总结之系统定时器SysTick
1.STM32F103的SysTick—系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一次中断,以此循环往复。2.SysTick 属于内核的外设,有关的寄存器定义和库函...原创 2019-06-04 13:24:05 · 756 阅读 · 0 评论 -
STM32总结之EEPROM AT24C02
一、硬件设计 以上是EEPROM芯片AT24C02的硬件图。SCL和SDA引脚连接到了STM32对应的引脚上,结合上拉电阻,构成了I2C通信总线。EEPROM芯片的设备地址一共由7位,其中高4位固定位1010b,低3位则由A0/A1/A2信号线的电平决定。按照此图的连接,A0/A1/A2均为0,所以EEPORM的7位设备地址是101 0000b。如下图所示,I2C通讯...原创 2019-05-31 16:51:21 · 6735 阅读 · 0 评论 -
STM32总结之开启外设时钟
我们知道到,STM32的大多数外设,在使用前都要开启该外设的时钟。下面我们以STM32VET6指南者为例1.点亮LED灯实验时,用到了GPIOB,我们需要开启GPIOB的时钟:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO,ENABLE);//开启GPIOB的时钟N2.使用按键的时候,不论是查询方式,还是中断方式,都用到了GPIOA,所以要开启...原创 2019-05-28 18:38:58 · 11999 阅读 · 3 评论 -
STM32总结之系统时钟
1.我们都是使用 HSE,然后 HSE经过 PLL倍频之后作为系统时钟。通常的配置是:HSE=8M,PLL 的倍频因子为:9,系统时钟就设置成:SYSCLK = 8M * 9 = 72M。使用 HSE,系统时钟 SYSCLK 最高是 128M。我们使用的库函数就是这么干的, 当程序来到 main 函数之前,启动文件:statup_stm32f10x_hd.s 已经调用 SystemInit(...原创 2019-05-28 18:22:27 · 383 阅读 · 0 评论 -
STM32总结之GPIO 常用库函数
配置相关函数1.void GPIO_Init (GPIO_TypeDef* GPIOx,GPIO_InitTypeDef* GPIO_InitStruct)函数解释:GPIO的初始化函数,该函数的作用是对io进行初始化。参数:(1)GPIOx,GPIO的分组,如 GPIOA,GPIOB,GPIOC等的宏定义。 (2)GPIO_InitStruct,GPIO的初始化相...原创 2019-05-28 18:19:47 · 13343 阅读 · 1 评论 -
STM32总结之GPIO编程过程
用寄存器点亮LED的过程1:通过原理图找到要点亮的LED灯对应的GPIO口2.通过stm32手册找到要操作的寄存器,找到这个GPIO的基地址, 基地址+地址偏移 = 目标寄存器的地址3.编码 1.打开对应的GPIO的时钟。 2.通过操作CRL寄存器将对应的GPIO口设置为推挽输出模式,并设置一 个翻转速度 3.通过操作ODR寄存器,将电平置高或置低。...原创 2019-05-28 18:16:46 · 2190 阅读 · 0 评论 -
STM32总结之定时器
STM32的定时器分为基本定时器、通用定时器和高级定时器。以STM32VET6指南者为例,TIM6、TIM7是基本定时器,TIM2、TIM3、TIM4、TIM5是通用定时器,TIM1和TIM8是高级定时器。定时器的基本功能就是计数,并在适当的时间生成一个时间/更新。 时钟源(TIMxCLK):基本定时器和通用定时器的时钟源都是经过APB1总线时钟的2倍频提供的,为72M...原创 2019-06-05 11:51:35 · 1397 阅读 · 0 评论 -
STM32总结之I2C协议
一、I2C物理层 I2C总线有如下特点: 1.在一个I2C总线中,可以连接多个I2C通讯设备,支持多个通讯主机及多个通讯从机。 2.一个I2C总线只使用2条总线线路,一条为双向串行数据线SDA,一条串行时钟线SCL。数据线用来传输数据,时钟线用于数据同步。 3.每个连接到总线上的设备都有一个独立的地址,通讯主机可以用这个地址进行不同设备之间的访问。...原创 2019-05-30 18:04:21 · 1328 阅读 · 0 评论 -
ARM Cortex-M3 存储器映射
在4GB的地址空间中,ARM Cortex-M3已经粗线条的平均分成了8快,每块512MB,每块也都规定了用途。每个快的大小都有512MB,显然这个非常大的,芯片厂商在每个块的范围内设计各具特色的外设时,并不一定都用得完,都只是用了其中的一部分而已。Cortex-M3的存储器映射如下图所示: 在这8个Block里面,由3个Block非常重要,也是我们最关心的三个块...原创 2019-04-19 09:23:25 · 2156 阅读 · 0 评论 -
STM32 通用输入输出 GPIO工作模式
GPIO工作模式 GPIO的结构决定了GPIO可以配置成8种模式: typdedf enum { GPIO_Mode_AIN = 0x0, // 模拟输入 //ADC GPIO_Mode_IN_FLOATING = 0x4, // 浮空输入 //按键检测 ...原创 2019-04-17 16:13:14 · 763 阅读 · 0 评论 -
cortex-m3 R14(LR)寄存器的作用
LR 连接寄存器:Link Register LR寄存器的作用主要由两个: 一是用来保存子程序的返回地址; 当通过BL或BLX指令调用子程序时,硬件自动将子程序返回地址保存在R14寄存器中。子程序返回时,把R14的值复制到程序计数器PC,即可实现子程序返回。 二是当异常发生时,R14中保存的值等于异常发生时程序计数器PC的值减4(因为cortex-m3采用3级指令流水...原创 2019-03-21 15:09:35 · 9243 阅读 · 0 评论 -
uart流控
因为uart双方处理速度的差异,在进行数据传送时,接收速率和发送速率之间可能存在很大差距,这样在数据的发送与接收过程中可能出现接收方来不及接收的情况。为了防止数据的丢失(uart receive buffer溢出),这时就需要对发送方进行控制--这就是所谓的流量控制。 uart流控的方式有2种:硬件流控(CTS和RTS),软件流控(XON和XOFF)。 软件流控由软件产原创 2013-06-27 11:41:11 · 2259 阅读 · 0 评论