Keil5仿真“示波器”查看引脚高低电平变化

1.设置仿真模式为“软件仿真”

使用“软件仿真”模式才可以使用仿真里面的“示波器”功能。“硬件仿真”模式暂时还不知道怎么用。
image.png

2.设置设置对应的GPIO引脚组ODR寄存器。

image.png
这里是GPIOC组引脚。当然,这里设置引脚的方式其实还有别的方法可以一步到位,这样就可以省略了下面配置第三步的操作了。这里只演示自己习惯的方法。

3.再次进行具体引脚的设置。

本次演示的引脚是GPIOC_0。
那如果我们以GPIOC_13为例,那就是要把"Shift Right"选项框那里填入“13”。以此类推
image.png

4.查看“示波器”的高低电平时间吗,检查是否与我们想要的效果一致

用鼠标点击高低电平的边沿,底下会有一个当前电平状态的持续时间进行显示。可以查看高低电平的持续时间
image.png

示例代码:
#include "stm32f10x.h" 

void Delay_ms(uint32_t n)
{	
	/*使用72Mhz作为系统时钟源*/
	while(n--)
	{
		SysTick->CTRL = 0; 			// 1、关闭SysTick才能进行后续配置
		SysTick->LOAD = 72000 - 1;	// 2、设置定时时间为1ms
		SysTick->VAL = 0; 			// 3、清除当前计数值和清空计数标志位
		SysTick->CTRL = 5;	//4、使能SysTick定时器开始工作,并使用时钟源为72Mhz的HCLK
		
		//检测SysTick->CTRL的第Bit16是否为1,若为1,则跳出循环!
		while ((SysTick->CTRL & 0x00010000)==0);//等待计数标志设置
	}
	
	SysTick->CTRL = 0; 		//5、关闭SysTick,不再定时。
}


int main (void)
{
	GPIO_InitTypeDef GPIO_InitStruct;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);	//初始化GPIOC组时钟
	GPIO_InitStruct.GPIO_Pin  = GPIO_Pin_0;					//配置引脚
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz;			//配置引脚速度
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;			//推挽输出
    
	GPIO_Init(GPIOC, &GPIO_InitStruct);
	GPIO_SetBits(GPIOC,GPIO_Pin_0);		//先让LED熄灭
	
	while(1)
	{
		GPIOC->ODR ^= GPIO_Pin_0;	//电平翻转
		Delay_ms(1000);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值