STM32F4寄存器初始化系列:GPIO】的更多相关文章

在反汇编代码中,当看到xmm寄存器,第一反应是将要进行浮点操作或访问,但是更加多的情况是在使用xmm寄存器初始化局部对象. 下面是自制反汇编工具翻译出来的代码: // -[CALayer setAllowsEdgeAntialiasing:] void CALayer20_setAllowsEdgeAntialiasing3A_(id self, SEL sel, uintptr_t setAllowsEdgeAntialiasing) { // 0 pushq %rbp // 1 rbp =…
BlackfinDSP的寄存器是通过指针操作的,与51.ARM等MCU一样,通过“或”操作来置1,通过“与”操作清零. 在DSP上最简单的外设非IO口莫属,但是由于其功能强大,远非一般IO口可比,因此区别的称之为“GPIO”(general purpose IO),也称为PF(programmable flagas)口,本文通过GPIO控制LED来演示寄存器的操作方式. //===============      开发环境         ====================== 上位机:…
最近入手OrangePi Zero一块,程序上需要使用板子上自带的LED灯,在网上一查,不得不说OPi的支持跟树莓派无法相比.自己摸索了一下,实现简单的GPIO控制方法,作者的Zero安装的是Armbian系统,使用python写了一个读写寄存器的简单模块,通过这个模块,即可实现对GPIO的控制. 作者以前使用过STM32的MCU,这类MCU,如果要实现对GPIO的控制,只需要根据datasheet查找相应GPIO寄存器并进行配置,即可实现IO控制,例如,要将内存地址为0x12345678的寄存…
STM32L15x 系列中基本步骤是和STM32F10x相同的 一 配置GPIO 初始化GPIO时我们需要催一下内容进行配置(以下步骤没有必然顺序) 1 创建GPIO结构 GPIO_InitTypeDef GPIO_InitStructure; 2 使能需要端口时钟 RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB | RCC_AHBPeriph_GPIOC| RCC_AHBPeriph_GPIOD| RCC_AHB…
我的STM32F4 Discovery上边有一个加速度传感器LIS302DL.在演示工程中,ST的工程师使用这个传感器做了个很令人羡慕的东西:解算开发板的姿态.当开发板倾斜时候,处于最上边的LED点亮,其他LED不亮.同时,用MicroUSB数据线将开发板连接电脑时,开发板就会虚拟成一个鼠标.倾斜开发板时,鼠标指针会向倾斜的方向移动.归根结底,就是牛B的ST工程师用加速度传感器完成了姿态解算. 在开发板上,加速度传感器使用了SPI方式用STM32F4芯片进行通信.STM32F4的SPI1 作为主…
一.Cortex M3的GPIO口特性    在介绍GPIO口功能前,有必要先说明一下M3的结构框图,这样能够更好理解总线结构和GPIO所处的位置. Cortex M3结构框图     从图中可以看出,GPIO口都是接在APB总线上的,而且M3具有两个AHB到APB桥,GPIO则直接接在AHB矩阵上,这样可以减少CPU和DMA控制器之间的竞争冲入,获得较高性能.APB总线桥配置为写缓冲区,使得CPU或DMA控制器可直接操作APB外设,而无需等待总线写操作完成. M3数字I/O功能:高速GPIO口…
最近由于在学习STM32看到别人用寄存器编程控制跑马灯,于是自己也想试一试.可是试了好久终究弄不出来.回头看了下库函数的调用关系才搞明白.首先通过查看GPIOA的设置函数发现设置如下: void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) { uint32_t pinpos = 0x00, pos = 0x00 , currentpin = 0x00; /* Check the parameters */ a…
需要先将RCC->AHB1ENR寄存器的对应时钟打开! 下面做个测试: 配置GPIO实验 没有打开时钟使能,配置无反应: 打开时钟使能后,可以成功写入数据: 配置USART实验 RCC 未开启时钟: RCC 开启时钟后: 发现TC标志位置1,说明成功写入.…
GPIO工作模式 由于GPIO内部的结构关系,决定了GPIO可配置成以下几种模式. 输入模式 在输入模式时,施密特触发器打开,输出被禁止.可通过输入数据寄存器GPIOx_IDR读取I/O状态.输入模式可以配置为模拟.上拉.下拉以及浮空模式.上拉和下拉输入很好理解,默认的电平由上拉或者下拉决定.浮空输入的电平是不确定的,完全由外部的输入决定,一般接按键的时候可以使用这个模式.模拟输入则用于 ADC 采集. 输出模式(推挽/开漏) 在输出模式中,推挽模式时双MOS管以推挽方式工作,输出数据寄存器GP…
已经了解了STM32 GPIO的基本概念及引脚分类.现在来看下STM32 GPIO内部的结构是怎样的.IO端口位的基本结构如下图所示. 从图中可以看出GPIO内部结构还是比较复杂的,只要将这张GPIO结构图理解好,那么关于GPIO的各种应用模式将非常清楚.图中最右端I/O端口就是STM32芯片的引脚,其它部分都在STM32芯片内部.上图中我们将每部分都用红色数字标号了,按照顺序我们逐一讲解. 保护二极管 引脚内部加上这两个保护二级管可以防止引脚外部过高或过低的电压输入,当引脚电压高于VDD_FT…