keil5在波形仿真的时候出现 Unknown Signal. 的解决方法

在跟着STM32视频学习的时候,在仿真环节,自己的软件弹出"Unknown Signal."的对话框。在认真和老师的视频对照仿真环节设置的时候发现了端倪,这就记录分享解决方法。

本文仅发布在CSDN 青云双青 和我的个人博客,其他地方出现均为搬运

问题复现

编译代码、点击Debug按钮,然后点击 Logic Analyzer,在点击 Setup 按钮后会弹出 Setup Logic Analyzer 对话框,然后按照你设定的GPIO端口和引脚进行装载,但是此时,弹窗出现了!

在这里插入图片描述

解决方法

那么接下来你就跟着我的设置一步一步来,保证你可以正常使用仿真!
仿真前的设置

  • 首先编译代码,先保证代码不出问题
  • 其次点击魔术棒,到 Debug 选项卡进行设置
  • 当然啦,要仿真的话点击 Use Simulator 选择按钮

然后呢,你的界面可能是这样的

默认的设置
这个就是没有经过设置的界面,重要设置的地方就是方框里面的东西。
第一个空需要修改为

DARMSTM.DLL

第二个空需要修改为
我这里以我用的芯片 STM32F103C8T6 为例说明

-pSTM32F103C8

设置完成后如图

在这里插入图片描述
点击OK即可,然后再次编译,然后开始 Debug 仿真

下面我以我自己设置的对PC13引脚的电平变化仿真为例说明仿真情况

我的相关的GPIO初始化的代码

void LedGpioInit(void)
{
    
    
	GPIO_InitTypeDef  GPIO_InitStruct;	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
  	GPIO_InitStruct.GPIO_Pin  = GPIO_Pin_13;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOC, &GPIO_InitStruct);	
}

我的相关的执行闪烁的代码

void LedControl(void)
{
    
    
	GPIO_SetBits(GPIOC,GPIO_Pin_13);
	SysTickDelayMs(1000);
    GPIO_ResetBits(GPIOC, GPIO_Pin_13);
	SysTickDelayMs(1000); 	
}

最后置于主函数的死循环中

int main(void)
{
    
    	
	while(1)
	{
    
    
		LedControl();		
	}
}

仿真的效果

效果
最后的效果还可以,几乎完全接近1s电平反转一次

注意的地方

  • 对某个端口的某个引脚的设置方法为,此处以PC13为例
PORTC.13 然后回车即可
  • 在仿真的时候记得将下面的Display Type设置为Bit
  • 可以开启多个的引脚的波形图,也可以设置不同的波形颜色
  • 可以点击ZOOM里面的IN-OUT-ALL对波形的输出进行缩放,方便查看

本文使用MarkDown语法编辑,如有疑问可以私信或者在下方评论留言!

猜你喜欢

转载自blog.csdn.net/sinat_41690014/article/details/106138242