(原创)STM32学习总结,更新中。。。
STM32之所以可以受到广大工程师的喜爱,除了它的极高的性价比外,库函数的推出更是大大方便了设计。ST公司推出的基于STM32的库函数,使得设计者不需要详细深度了解STM32系列芯片的硬件结构就可以方便的使用和驾驭这款芯片。作为初学者,我有必要在学习过程中把STM32的库函数的初始化以及STM32芯片的点点滴滴做个总结,俗话说的好:好记性不如烂笔头!
---------------------------------------------------------------------
关于GPIO: STM32F103VC
这款芯片具备 80 个GPIO口(GPIOA/B/C/D/E);所有的IO口都可以映像到16个外部中断;几乎所有的端口都可以容忍5V的信号(具体哪些不能容忍5V信号的端口还需学习)
每个GPIO引脚都可以由软件配置成
1。输出(推挽或开漏): 对于可以承受5V的端口,可以直接开漏(OD)接上拉电阻作为输出口,或者开漏(OD)接上拉电阻做双向IO。对于耐受不了5V的端口建议使用电平转换芯片进行数据交流,比如:74LVC2t45。
PS:开漏特性,开漏输出只能输出低电平和释放电平,不能输出高电平。
2。输入(带或不带上拉或下拉):对于可以承受5V的端口,可以直接连起来,上拉、下拉的作用是在对方芯片IO口处于高阻态的时候可以读到稳定的电平。
3。复用的外设功能端口:GPIO和内置外设共用引出管脚。I/O的重映射:复用功能(AFIO)从不同的GPIO管脚引出。对于这个功能,我的感觉有点类似FPGA的味道,复用端口,类似配置端口的思想,方便了PCB的走线设计,潜在地减少了信号的交叉干扰。呵呵。
1.使能被重新映射到的I/O端口时钟
2.使能被重新映射的外设时钟
3.使能AFIO功能的时钟(勿忘!)
4.进行重映射
多数GPIO引脚都与数字或模拟的复用外设共用。除了具有模拟输入功能的端口,所有的GPIO引脚都有大电流通过能力。在需要的情况下,I/O引脚的外设功能可以通过一个特定的操作锁定,以避免意外的写入I/O寄存器。在APB2上的I/O脚可达18MHz的翻转速度。
浙公网安备 33010602011771号