正点原子STM32探索者学习笔记1
1.在STM32的数据手册中,引脚定义中的I/O structure中如果是FT的话,说明该引脚兼容5V;
2.IO口一般都有多个功能,可以通过寄存器的设置来选择其IO口的功能,F1还有重映射的概念,F4没有;
3.IO口分为两种情况:一个是完全独立的IO(不能有任何外设连接的IO,一般比较少)(如ADC采集);一种是允许IO口挂其他外设,但是必须可以单独做输入、输出使用。
4.基本外设:GPIO输入输出,外部中断,定时器,串口。这四个基本外设任何一款MCU都有;然后是一些高级的通信外设如SPI,IIC,WDG,FSMC,ADC/DAC,SDIO等;再是一些高级功能的应用了,如UCOS,EMWIN等;
5.Cortex-M4采用ARMv7-ME架构,此架构定义了三大分工明确的系列:“A”系列:面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列:针对实时系统;“M”系列:对微控制器。
6.GPIO:STM32F407ZGT6有7组IO口,每组IO口有16个IO,一共有112个IO,从GPIOA~GPIOG.
7.STM32的大部分引脚除了当GPIO使用外,还可以复用为外设功能引脚(比如串口,定时器,IIC等)。
8.GPIO的工作方式:4种输入模式:输入浮空,输入上拉,输入下拉,模拟输入;4种输出模式:开漏输出(带上拉或者下拉),开漏复用功能(带上拉或者下拉),推挽式输出(带上拉或者下拉),推挽式复用功能(带上拉或者下拉);具体区别可以参考STM32八种IO口模式区别.pdf;4种最大输出速度:2MHZ\25MHZ\50MHZ\100MHZ.
9.推挽输出可以输出强高低电平,适合连接数字器件;开漏输出只可以输出强低电平,高电平得靠外部电阻拉高。适合做电流型的驱动。
10.每组GPIO端口的寄存器包括如下图:

11.端口模式寄存器(GPIOx_MODER)如下:

12.端口输出类型寄存器(GPIOx_OTYPER)如下:

13.端口输出速度寄存器(GPIOx_OSPEEDR)如下:

14.端口上拉\下拉寄存器(GPIOx_PUPDR)如下:

15.端口输入数据寄存器(GPIOx_IDR)如下:

16.端口置位/复位寄存器(GPIOx_BSRR)如下:

17.所有的IO口都可以用于中断输入(stm32);
正点原子STM32探索者学习笔记1的更多相关文章
- STM32 FSMC学习笔记+补充(LCD的FSMC配置)
STM32 FSMC学习笔记+补充(LCD的FSMC配置) STM32 FSMC学习笔记 STM32 FSMC的用法--LCD
- 【STM32】基于正点原子『探索者』开发板的烧录
项目需要一个功能,开发板范例正好有,就买了一块,不过还是有点贵 我手边没有J-Link 用的都是串口烧录 烧录时,先打开右上的开关 如果是仿真器烧录,它无法供电,需要接12V适配器或是杜邦线供电 然后 ...
- stm32串口学习笔记
stm32作为现在嵌入式物联网单片机行业中经常要用多的技术,相信大家都有所接触,今天这篇就给大家详细的分析下有关于stm32的出口,还不是很清楚的朋友要注意看看了哦,在最后还会为大家分享有些关于stm ...
- STM32本学习笔记EXTI(外部中断)
参考资料:STM32数据表.网络信息 =========================================切割线===================================== ...
- STM32学习笔记——点亮LED
STM32学习笔记——点亮LED 本人学习STM32是直接通过操作stm32的寄存器,使用的开发板是野火ISO-V2版本: 先简单的介绍一下stm32的GPIO: stm32的GPIO有多种模式: 1 ...
- STM32学习笔记
1.32位即表示32个二进制位(0/1)即32根线,每根线可以表示0/1两种状态,所以可以表示2^32=4GB的大小,CM3 采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖 ...
- ucos实时操作系统学习笔记——操作系统在STM32的移植
使用ucos实时操作系统是在上学的时候,导师科研项目中.那时候就是网上找到操作系统移植教程以及应用教程依葫芦画瓢,功能实现也就罢了,没有很深入的去研究过这个东西.后来工作了,闲来无聊就研究了一下这个只 ...
- STM32学习笔记——OLED屏
STM32学习笔记--OLED屏 OLED屏的特点: 1. 模块有单色和双色可选,单色为纯蓝色,双色为黄蓝双色(本人选用双色): 2. 显示尺寸为0.96寸 3. 分辨率为128*64 4. ...
- stm32学习笔记----双串口同时打开时的printf()问题
stm32学习笔记----双串口同时打开时的printf()问题 最近因为要使用串口2外接PN532芯片实现通信,另一方面,要使用串口1来将一些提示信息输出到上位机,于是重定义了printf(),使其 ...
随机推荐
- Linux eject弹出光驱
Linux eject命令用于退出抽取式设备. 若设备已挂入,则eject会先将该设备卸除再退出. 语法 eject [-dfhnqrstv][-a <开关>][-c <光驱编号&g ...
- python-自定义分页组件
使用方法 """ 自定义分页组件的使用方法: pager_obj = Pagination(request.GET.get('page',1),len(HOST_LIST ...
- 转载:超级强大的vim配置(vimplus)--续集
超级强大的vim配置(vimplus)--续集 原文地址:https://www.cnblogs.com/highway-9/p/5984285.html An automatic configura ...
- Linux进程冻结技术【转】
转自:http://blog.csdn.net/zdy0_2004/article/details/50018843 http://www.wowotech.net/ 1 什么是进程冻结 进程冻结技术 ...
- StringUtils.isEmpty()和StringUtils.isBlank() 区别
isBlank()判断空的情况包括了isEmpty()的情况,isBlank()不仅判断了 无对象.空对象的情况,而且也判断了无意义的空白字符,比如空格等.
- [ Python - 4 ] python 装饰器
装饰器有很多经典的使用场景,例如插入日志.性能测试.事务处理等等,有了装饰器,就可以提取大量函数中与本身功能无关的类似代码,从而达到代码重用的目的. 装饰器有两种写法: 1. 装饰器不传参数 2. 装 ...
- Android的简单应用(三)——为你的程序添加监听器
平时在写程序时经常会遇到监听器,比如按钮的click监听器,按键监听器等等.而android中的监听器和java中的回调函数是同一个概念,都是在底层代码中定义一个接口来调用高层的代码.那么什么是回调函 ...
- html的表格
表格元素及相关样式 1.<table>标签:声明一个表格 2.<tr>标签:定义表格中的一行 3.<td>和<th>标签:定义一行中的一个单元格,td代 ...
- *****git pull总结
当git clone之后,直接git pull它会自动匹配一个正确的remote url 是因为在config文件中配置了以下内容: 1 [branch "master"] 2 r ...
- (八)MySQL索引操作
(1)准备环境 mysql> create table t1(id int,name varchar(50)); mysql> \d $$ mysql> create procedu ...