用逻辑分析仪验证 ,关闭端口时钟则单片机无法正常工作

复制代码
int main(void)
{
 
 
 GPIO_InitTypeDef GPIO_InitStructure;
 SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE); //使能 PB,PE 端口时钟
 
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; //LED1-->PE.5 推挽输出
 GPIO_Init(GPIOE, &GPIO_InitStructure);	  //初始化 GPIO
 
  
 while(1)
{		
	GPIO_Write(GPIOE,0);
	Delay_ms(250);
	GPIO_Write(GPIOE,0xffff);
	Delay_ms(250);		
			

}
}

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE); //使能 PB,PE 端口时钟

右键跳转至

继续右键stm32f10x_rcc.h跳转至stm32f10x_rcc.h

若是无法判断挂载到AHB或者是APB2还是APB1 则在stm32f10x_rcc.h

找到以下三条语句,右键跳转

void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState);

void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);

void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);

第一次查找

void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState);

右键stm32f10x rcc.c文件中的

assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph));

语句跳转至【用于观察APB2的外设有哪些】

如下图可观察到APB2上的所有外设

第二次查找

void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);

查询对APB1上的哪些外设进行设置

右键后便是APB1上的所有外设

查询完成之后便知道打开哪些时钟,进而单片机可以工作

反例验证

回到主函数,注意,以下几处的名称需要相同

现注释掉以下语句

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE); //使能 PB,PE 端口时钟

编译后是无报错的

进行软件仿真

设置好后点击

继续点击system analyzer window

再点击run

可观察到界面是无波形的

正常情况下观察波形

再将以下语句复原

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE); //使能 PB,PE 端口时钟

再编译,重复以上操作,注意点击logic analyzer

继续设置

再点击run ,便可在界面观察到波形

相关推荐
M78佐菲1 小时前
51单片机学习笔记:ds18b20要点整理
linux·笔记·嵌入式硬件·学习·51单片机
洪核单片机3 小时前
DPJ-96基于STM32单片机wifi远程监控智慧教室 温湿度光照粉尘人数考勤
stm32·单片机·嵌入式硬件·智慧教室·教室人数考勤
m0_752753124 小时前
单片机基础知识
单片机·51单片机
天空'之城4 小时前
单片机基础核心知识点汇总(三十六)
单片机·嵌入式硬件
云泽8085 小时前
STM32 USART 详解(八):C I/O 串口重定向原理与实现
c语言·stm32·嵌入式硬件
Doraemomo6 小时前
IMX6ULL裸机开发——系统主频和时钟配置
arm开发·嵌入式硬件·makefile·imx6ull
深圳市恒锐丰科技杨生8 小时前
EG1192H 零功耗使能集成上管非同步降压 DC‑DC|屹晶 EGmicro
嵌入式硬件·硬件工程
星栖与芯9 小时前
LiteOS-M 切换汇编逐行图解(1):汇编是什么·寄存器与栈
汇编·stm32·嵌入式硬件·harmonyos·鸿蒙系统
xx~t10 小时前
嵌入式——单片机2
嵌入式硬件·学习·51单片机·串口·蜂鸣器
JNX_SEMI10 小时前
OC5138T 8V~100V超宽输入降压恒流驱动:覆盖12V汽车至72V电动车全场景
单片机·嵌入式硬件