![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
抄录
四河川南2016
这个作者很懒,什么都没留下…
展开
-
STM32学习之启动代码注释
;Reset_Handler 子程序开始 Reset_Handler PROC;输出子程序Reset_Handler到外部文件 EXPORT Reset_Handler [WEAK];从外部文件引入__main函数 IMPORT __main;从外部文件引入SystemInit函数原创 2016-09-07 14:44:20 · 859 阅读 · 0 评论 -
STM32之I2C
1、I2C协议是由Philips公司开发的,由于它具备引脚少、硬件实现简单、可扩展性强、不需要如USART、CAN的外部收发设备等特点,现在被广泛地使用在系统内多个集成电路IC间的通信; 2、I2C物理层 ①它只使用两条总线线路:一条双向串行数据线(SDA),一条串行时钟线(SCL); ②每个连接到总线的设备都有一个独立的地址,主机可以利用这个地址进行不同设备之间的访问; ③多主机同时使用总转载 2016-09-20 14:05:45 · 2363 阅读 · 0 评论 -
Type结构体
1、枚举型变量 STM32库函数中对GPIO速率的定义如下: typedef enum { GPIO_Speed_10MHz = 1, //枚举常亮,值为1,代表输出速率最高位10MHz GPIO_Speed_2MHz, //对不赋值的枚举变量,自动加1,此常量值为2原创 2016-09-07 14:26:26 · 772 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl转载 2016-09-07 14:19:42 · 218 阅读 · 0 评论 -
STM32之定时器
1、STM32一共有8个都为16位的定时器,其中TIM6和TIM7是基本定时器;TIM2、TIM3、TIM4、TIM5是通用定时器;TIM1和TIM8是高级定时器。 2、基本定时器TIM6和TIM7只具备最基本的定时功能,就是累加的时钟脉冲数超过预定值时,能触发中断或触发DMA请求; 3、TIM2~TIM5除了基本的定时,它主要用在测量输入脉冲的频率、脉冲宽与输出PWM脉冲的场合,还具有编码器的转载 2016-09-19 13:49:24 · 1174 阅读 · 0 评论 -
STM32之SysTick(系统滴答定时器)
1、SYSTick是一个24位的定时器,即一次最多可以计数2^24个时钟脉冲,这个脉冲计数值被保存到当前计数值寄存器STK_VAL中,只能向下计数,每接收到一个时钟脉冲STK_VAL的值就向下减1,直至为0;当STK_VAL的值被减至0时,由硬件自动把重载寄存器STK_LOAD中保存的数据加载到STK_VAL,重新向下计数。当STK_VAL的值被计数至0时,触发异常,就可以在中断服务函数中处理定时事转载 2016-09-09 16:52:42 · 794 阅读 · 0 评论 -
STM32之ADC
1、STM32的ADC主要技术指标 ①分辨率 12位分辨率,不能直接测量负电压,所以没有符号位,即其最小量化单位LSB=Vref+/212。 ②转换时间 转换时间是可编程的。采样一次至少要用14个ADC时钟周期,而ADC的时钟频率最高位14MHz,所以,ADC的采样时间最短为1us。 ③ADC类型 ADC类型决定了其性能的极限,STM32的ADC是逐次比较型ADC。 当需要测量负电压或转载 2016-09-09 15:37:09 · 1225 阅读 · 0 评论 -
STM32之DMA
1、DMA(Direct Memory Access,直接存储器存取),是一种可以大大减轻CPU工作量的数据存取方式。 2、DMA方式是点到点的数据转移,而不使用DMA方式还要以内核来作为中转站,显然DMA传输方式的效率更高,直接存储器存取中的直接不是徒有虚名。 3、DMA_PeripheralBaseAddr:外设数据寄存器的基地址 为什么说是基地址?因为DMA具有地址自增的功能,地址自增功转载 2016-09-09 14:04:29 · 615 阅读 · 0 评论 -
STM32之库函数开发总结
1、使用ST库对外设进行初始化,一般有以下步骤: ①定义一个xxx_InitTypeDef类型的初始化结构体; ②根据使用需求,向这些初始化结构体的成员写入特定的控制参数; ③填充好结构体之后,把这个结构体作为输入参数调用相应的外设库函数xxx_Init();从而实现向寄存器写入控制参数,并配置好外设。 2、标志位的检查与清除 对标志位进行检查的库函数,一般命名为xxx_GetFlagSt转载 2016-09-09 13:47:42 · 1268 阅读 · 0 评论 -
STM32之USART
1、串口线主要分两种:直通线(平行线)和交叉线; 2、串口外设主要由三部分组成,分别是波特率控制、收发控制和数据存储转移; 3、波特率控制 波特率,即每秒传输的二进制位数,用b/s(bps)表示,通过对时钟的控制可以改变波特率。在配置波特率时,我们向波特比率寄存器USART_BRR写入参数,修改了串口时钟的分频值USARTDIV。USART_BRR寄存器包括两部分,分别是DIV_Mantiss转载 2016-09-09 10:54:26 · 780 阅读 · 0 评论 -
STM32之GPIO结构
1、STM32的GPIO结构图 GPIO共有8中设置模式:输入浮空、输入上拉、输入下拉、模拟输入、开漏输出、推挽式输出、推挽式复用功能,开漏复用功能,共4种输入,2种输入,2种复用功能。 2、模式说明 ①浮空输入 图中施密特触发器是开启的,IO口的状态可以直接送到输入寄存器中,CPU可以直接读取输入寄存器; 在上图中,阴影的部分处于不工作状态,尤其是下半部分的输出电路,实际上是与端转载 2016-09-07 17:06:17 · 4169 阅读 · 1 评论 -
STM32之中断和异常
1、STM32的所有GPIO都可以用作外部中断源的输入端,用来捕捉外部信号,可以配置为下降沿中断、上升沿中断和上升下降沿中断三种模式。 2、Cortex内核具有很强大的异常响应系统,它把能够打断当前代码执行流程的时间分为异常(exception)和中断(interrupt),并把它们用一个表管理起来,编号0~15的称为内核异常,而16以上的则称为外部中断。这个表就称为中断向量表。 3、NVIC是转载 2016-09-09 09:27:57 · 2844 阅读 · 0 评论 -
STM32之CAN控制器
1、CAN只具有CAN_High和CAN_Low两条信号线,CAN是以差分信号的形式进行通信的; 2、CAN通信有两种网络:一种是遵循ISO11898标准的高速短距离闭环网络,它的总线最大长度为40m,通信速度最高位1Mbit/s;另外一种是遵循ISO11519-2标准的低速远距离开环网络,最大传输距离为1km,最高通信速率为125kbit/s。 3、CAN的通信节点由一个CAN控制器、一个CA转载 2016-11-16 14:15:49 · 3093 阅读 · 0 评论