单片机——STM32库开发
来源:互联网 发布:火狐浏览器mac版 编辑:程序博客网 时间:2024/06/06 19:39
1.STM32库开发是什么?
ST公司推出的基于Cortex-M3内核的MCU(微控制器,也就是通常所说的单片机)倡导使用固件库开发,仅通过调用库里面的API(应用程序接口)就可以迅速搭建一个程序,写出各种用户需要的应用。库开发方式自顶向下,可以避免对底层寄存器的繁琐操作,能大大降低学习门槛和开发周期
2.推荐书目和软件开发环境
书目推荐《STM32库开发实战指南》,软件开发环境推荐Keil MDK4.21, 在学习的过程中,将书中的原理分析和代码讲解掌握之后,别忘了在开发平台上进行实战运用,体验高效的库开发方法~
3.知识结构
3.1 STM32的GPIO书中的流水灯例程和按键实验控制LED灯,由GPIO外设来实现I/O引脚的高低来实现。控制GPIO端口,在API中查阅控制相关寄存器的库函数。对于GPIO的功能强大,GPIO的所有引脚都可以用作外部中断源的输入,不同的引脚还有相应的复用功能、重映射功能,以满足应用需求。通过按键工程分析GPIO的模式配置,4种输入4种输出。3.2 STM32的中断和异常EXTI(外部中断),由GPIO检测输入脉冲,引起中断事件打断代码执行流程,进入到中断服务函数中处理,处理完成后再返回到中断之前的代码中执行。为了对于中断的管理,中断向量表和NVIC中断控制器来实现,中断执行的操作由用户完成。值得注意这里配置GPIO功能时要开启AFIO端口复用功能。3.3 异步串口通信USART串口通信实现了在程序运行过程中,中间变量或者其他程序状态信息的获取。了解异步串口通讯协议来设置参数,串口外设的工作过程:波特率控制、收发控制和数据存储转移。将串口获得的信息打印出来显示在计算机上,需要将printf()函数重定向进行输出。3.5 DMA功能DMA来完成数据存储达到减轻CPU工作量,之间包含中断控制、串口通信等运用3.6 STM32的ADC实验关注ADC的技术指标和电压值的计算3.7 STM32定时器通用定时器的工作分析,PWM输出过程的分析、占空比的配置。3.8 I2C接口I2C协议的基础上了解其物理层、协议层的原理。
4.学习心得
从微控制器的系统结构:CPU(内核)、外设、内存(SRAM)、总线等结构开始理解,在掌握上边内容的时候,注意有意识的建立一个整体的结构,真正体会STM32固件库的实现原理。
地址映射,时钟系统,固件库对寄存器的封装
通过学习,了解外设对应的寄存器、初始化结构体、数据的输入与输出、外设工作状态有关的状态位标志位、外设函数调用操作完成后标志位的清除。因此,所有驱动程序实际上都是向各种结构体成员写入适当的控制参数,填充结构体,驱动开发就基本完成了。
把握整体架构和实现原理,这也是技术人员学习过程中的重要方面。
0 0
- 单片机——STM32库开发
- STM32单片机—编码器测速
- STM32单片机开发初识
- STM32单片机搭建开发环境
- STM32单片机学习——使用外设库的一些问题
- STM32单片机学习笔记——USART串口通信
- STM32单片机学习笔记——SysTick系统定时器
- 菜鸟之学习STM32单片机(一)认识开发板
- 51单片机最小系统使用stm32开发板下载程序
- STM32单片机 Nucleo 开发板介绍,以及如何获取STM32开发板
- STM32库开发实战指南——互动出版网
- STM32单片机学习笔记
- STM32单片机程序启动
- stm32单片机时钟理解
- STM32单片机常用库函数
- STM32单片机工作日记
- 详细解析STM32单片机
- STM32单片机学习汇总
- BZOJ2039 人员雇佣-最小割
- MySQL数据库(26)
- Activiti核心API
- mysql 常用命令,基本知识
- 【技能库】--Unsafe 调戏String (intern) (201)
- 单片机——STM32库开发
- 动态规划详解
- 点滴学习Linux----Linux常用命令
- linux常用命令
- 运算符
- Axure初学使用心得
- HDU 2084 数塔(dp)
- 《算法导论》课后题--4--第三章
- 常见图片格式解析