stm32 IDR寄存器软件仿真的BUG

Posted prayer521

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32 IDR寄存器软件仿真的BUG相关的知识,希望对你有一定的参考价值。

技术分享

/*
 * 函数名:Key_GPIO_Config
 * 描述  :配置按键用到的I/O口
 * 输入  :无
 * 输出  :无
 */
void Key_GPIO_Config(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;

      /*开启按键端口(PB0)的时钟*/
      RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);

     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; 
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; 
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; 

    GPIO_Init(GPIOB, &GPIO_InitStructure);
}

用MDK软件仿真的时候,无外部下拉,GPIO管脚初始化之后IDR寄存器的值为0,这是软件仿真的BUG。

下面也是一个例子:软件仿真的时候会死在等待松手部分,实际却是正常通过。

 技术分享

以上是关于stm32 IDR寄存器软件仿真的BUG的主要内容,如果未能解决你的问题,请参考以下文章

STM32 GPIO->ODR与IDR是干啥用的?

stm32读GPIOx_ODR问题求解

STM32第二章I/O端口应用

STM32SPI通信仿真没问题,下载后不能接收

用keil和Jlink进行对stm32进行硬件仿真,在仿真界面中怎样看IO口状态(就是怎样调出IO口的寄存器)

stm32寄存器版学习笔记01 GPIO口的配置(LED按键)