STM32 IO 问题

发布者:温柔微笑最新更新时间:2017-07-13 来源: eefocus关键字:STM32  问题 手机看文章 扫描二维码
随时随地手机看文章

今天调试一块板子出现如下问题:

某口 PB5,用某个芯片的复位工作。

配置如下:



  1. #define GPIO_PIN_REST GPIO_Pin_5  

  2. GPIO_InitStructure.GPIO_Pin =  GPIO_PIN_REST;  

  3. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;  

  4. GPIO_Init(GPIOB, &GPIO_InitStructure);  

  5. GPIOB->BSRR  = GPIO_Pin_5 ;  



jlink调试,观看GPIOB,keil显示是Pin 为1

但是芯片实际测量管脚的电压却是0V。搞定不懂


后面改为:GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

输出正常!天理何在啊!

 

外部中断:如果不开启RCC_APB2Periph_AFIO这个时钟,那么将EXTILinen上的中断连接在一起。


    关键字:STM32  问题 引用地址:STM32 IO 问题

    上一篇:STM32 USB HID 键盘
    下一篇:STM flash数据读取

    推荐阅读最新更新时间:2024-03-16 15:35

    STM32L4 RT-Thread Studio解决lptimer不工作的问题
    问题描述 看到部分同学已经开始使用RT-Thread 的PM框架了,当然也反映了一些问题。 使用RT-Thread Studio 生成的基于STM32L4 的工程,发现开启PM框架后,lptimer不能工作。 最明显的现象是:进入深睡眠后,定时、延时事件不可以用。 这里对这个问题进行分析与提出解决方法 调试步骤: 一、基于Keil MDK pandora的工程,开启PM后,LPTimer在深睡眠下工作正常。 二、基于RT-Thread Studio生成的工程,LPTimer确实不能工作。排除不是硬件问题。 三、对比工程代码,LPTimer初始化,完全一致,pm_drv.c pm.c 等完全一致,依旧无法解决问题。
    [单片机]
    STM32L4 RT-Thread Studio解决lptimer不工作的<font color='red'>问题</font>
    亲爱的工厂经理:通过预测性维护,您可预防问题的发生
    偶尔检查您家里的暖通空调系统是预防性维护的一个很好示例——对于保持它们正常运行很重要。但假如您能预测到加热器将在两个月后失灵,而此时正值严冬时节,您会怎样做? 基于正确的信息,您可以制定计划,更换装置,避免紧急维修,以及其它一同出现的不便。 MSP430™微控制器(MCU)产品营销工程师Dave Smith说:“通常,我们只有在设备停止工作的时候,才发现它出现故障了。某些情况下,我们会定期进行预防性维护,尽量避免这些意外故障的发生。” “通过智能化等式可进一步进行预测性维护。” 这正是我们TI所做的:为我们的MCU增加一定的性能水平,帮助实现预测性维护等应用。(阅读有关预测性维护的白皮书。) 想象一下:如果这
    [单片机]
    亲爱的工厂经理:通过预测性维护,您可预防<font color='red'>问题</font>的发生
    STM32使用DMA从串口读可变长度数据到内存
    首先要解决DMA怎么知道要接收的数据何时开始,何时结束的问题。而且每次传输完数据,要改变下一次数据长度。 如果把DMA设成循环模式肯定是不行的,所以把DMA设置成正常模式。 STM32的串口有监测总线是否处于空闲的功能,我们可以使用这个功能,当数据传输完总线变成空闲状态时产生中断,来对收到的数据进行处理。因此整个过程就变成:当一堆数据开始传输,DMA默默地把数据搬运到内存中,当这堆数据传输完成,总线变成空闲状态时,马上产生中断,在中断服务程序中去做相应处理。 初始化程序: #define DMA_Rec_Len 10 //数据缓冲区大小 u8 value ; void uart_init_DMA_IN(u32
    [单片机]
    如何下载stm32系列单片机的固件库
    第一步 进入st官网( ST官网 ),可选中文(建议多看英文,对看数据手册有很大用处,下面步骤以英文为主),如图1 第二步 选择tool & software(工具及软件) —- MCUS Embedded Software 第三步 选择product tree 第四步 展开product tree 第五步 以stm32L151为例,如图 点进去下载即可。
    [单片机]
    基于stm32的独立按键扫描方式
    这两天完成了一个stm32的工程,在解决按键时写出了一个独立按键的扫描函数,应该有前辈已经出来了,的其实质就是普通的扫描方式修改的,优点是将按键相关参数封装为一个结构体,每加一个按键都不需要在函数中增加语句,废话少说,先看扫描函数 //* // Function: 扫描按键 // Returns: u8 :按键id值 //* u8 KeyScan() { static u8 keyUp=1;//按键按松开标志 u8 i,count,upCount=0; count=sizeof(buttons)/sizeof(Button); for (i=0;i count;i++) { if (keyUp && (GPIO_ReadI
    [单片机]
    关于初学STM32中肯的几点建议
    通过观察后台提问的内容来看,关注我的人中STM32初学者占大部分,而且大多处于小白阶段。所以,今天暂且写下几点内容给这些朋友。 1查找资料去官网 许多初学者总是在问:能给我一份xxx手册吗?你有关于xxx的资料吗?同时,我也常在某些“技术群”里看到类似这种“给资料”的对话。 这样说吧,你们向别人获取的“资料”,别人基本上也是从官网下载而来的。而且,别人给你的资料不一定是最新版本。 因此,建议初学者查找资料,寻找资料尽量找官方原版资料,毕竟官方的才具有权威性。 STM32官方整理的资料很多,而且针对每一种型号的MCU都有各种资料。夸一点的说:你想要的都有。 针对你MCU芯片型号,进入对应的网址即可(具体这里就不说过程了): ht
    [单片机]
    stm32篇--系统初始化
    跟着程序执行流程走,main是程序入口,在里面进行了各种初始化。 1.时钟配置 首先是RCC_Configuration(),里面进行了时钟基本的初始化,stm32有多个时钟源:(1)HSI上电默认启动,精度不高(2)HSE外部高速时钟,系统时钟一般采用它,经过PLL倍频;(3)LSE外部低速时钟,一般专门用于RTC;(4)LSI内部低速时钟,精度不高,一般用于IWDGCLK; void RCC_Configuration(void) { RCC_DeInit();//复位RCC成缺省值 RCC_HSEConfig(RCC_HSE_ON);//开启HSE的时钟作为PLL的时钟源 HSEStartUpStatu
    [单片机]
    STM32的IIC库函数使用误区
    HAL库里有很多的IIC的库函数,比如 HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout) HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout) HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t
    [单片机]
    <font color='red'>STM32</font>的IIC库函数使用误区
    小广播
    添点儿料...
    无论热点新闻、行业分析、技术干货……
    设计资源 培训 开发板 精华推荐

    最新单片机文章
    何立民专栏 单片机及嵌入式宝典

    北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

    换一换 更多 相关热搜器件
    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved