微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32关于GPIO的问题

STM32关于GPIO的问题

时间:11-28 来源:互联网 点击:

ControlData[2*i ] = f2char[i]/16+(f2char[i]/16>

ControlData[2*i+1] = f2char[i]+(f2char[i]>

,如果你想使用普通模式,就要把I2C模块关闭以后,重新配置GPIOB模块,就可以正常使用了。3、AFIO重映射的操作步骤是什么?答:使能被重新映射到的I/O端口时钟使能被重新映射的外设时钟使能AFIO功能的时钟 (勿忘!) 进行重映射4、配置IO口的频率问题问:配置IO口的频率时,为什么只给一个IO口配置?答:GPIO_InitStructure.GPIO_Speed 这个结构体的成员始终为GPIO_Speed_50MHz 配置其他io口时也默认用50MHz 。5、请问怎样开始STM32W108CBU64芯片的PB5引脚外设输入中断?问:有没有这么一个例程,有开启外设中断和中断函数的?最佳答案:看了下datasheet,PB5复用的功能为PB5, ADC0, TIM2CLK, TIM1MSK,相关的中断应该有,就看你配置为什么外设了。6、STM32F101 Tamper Pin 使用问题问:请教各位大虾:STM32F101 BKP当中的Tamper Pin该如何初始化!?答:当TPAL=0时:如果在启动侵入检测TAMPER引脚前(通过设置TPE位)该引脚已经为高电平,一旦启动侵入检测功能,则会产生一个额外的侵入事件(尽管在TPE位置’1’后并没有出现上升沿)。 ● 当TPAL=1时:如果在启动侵入检测引脚TAMPER前(通过设置TPE位)该引脚已经为低电平,一旦启动侵入检测功能,则会产生一个额外的侵入事件(尽管在TPE位置’1’后并没有出现下降沿)。 设置BKP_CSR寄存器的TPIE位为’1’,当检测到侵入事件时就会产生一个中断。 详见:BKP_CSR7、有关stm32f103 端口复用的问题?问:在学习GPIO时,遇到到端口复用问题一直不能明白,我举个例子:PB6 PB7默认情况下是做普通IO使用的,当我想用I2C1是,我开启RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);当我要使用I2C1的重定义时,我要打开,RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);这样理解对不对?有的人说当用的芯片自带的外设时都要打开 AFIO 时钟,但我用到usart1时没有打开AFIO 时钟,照样能用usart,这是为什么?总之问这个问题的根本原因是AFIO的时钟要在什么情况下打开?答:1、串口必须要打开AFIO时钟,不然不能工作。可能你的初始化函数、RCC配置中有开启的地方。 2、AFIO在你需要使用某一模块时,比如你想使用GPIOC,这个时候要打开GPIOC模块的时钟。 3、关闭I2C而不是关闭I2C模块的总线,如果你想使用普通模式,就要把I2C模块关闭以后,重新配置GPIOB模块,就可以正常使用了。7、STM32里面,设置GPIO_Mode_IPU 有什么用问:中断的配置里面有:GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource8); GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource9);GPIO口设置里面有: GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IPU; GPIO_Init(GPIOB, &GPIO_InitStructure);我想问的是,这两组设置必须同时存在吗?答:GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource8); GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource9);STM32中这两句话的意思是PB口的8、9管脚作为外部中断的触发信号,所以Pin_8和Pin_9就要设置成输入的模式,而GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IPU;中IPU是指IO口的工作模式是带上拉输入,这个和具体的电路

有关,总之如果选择某个IO口作为外部中断的触发信号,就必须配置这个IO口为输入模式,不然无法触发中断8、stm32中GPIO口的最大输出速度如何理解?问:stm32中GPIO口的最大输出速度如何理解?答:1、是这样的,2M、10M和50M是指GPIO口的采样频率。不知这样理解对不对,我就是这样做的。 2、我通过PB6采集80KBPS/S的方波,通过中断计采集,完全胜任。9、STM32 GPIO 弱上拉能做输入输出吗问:STM32 GPIO 弱上拉能做输入输出吗?答:32只有上拉输入,用在外部连接的是下路输出的,这样才能正确读取。输出的话一般用推挽和开漏,推挽用于一般的驱动,开漏一般加上拉电阻三极管集电极那样驱动较大电流。10、STM32语句:GPIO->ODR^=0X02 是怎么执行的?实现什么功能?问:是GPIO端口的数据存在ODR寄存器,该数据与0x02异或再存在ODR中吗?答:ODR是stm32的IO端口输出数据寄存器,该寄存器31-16位始终读为0,15-0位输出数据。GPIO->ODR^=0X02 是输出数据与0x02异或

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top