1.设置仿真模式为“软件仿真”
使用“软件仿真”模式才可以使用仿真里面的“示波器”功能。“硬件仿真”模式暂时还不知道怎么用。
2.设置设置对应的GPIO引脚组ODR寄存器。
这里是GPIOC组引脚。当然,这里设置引脚的方式其实还有别的方法可以一步到位,这样就可以省略了下面配置第三步的操作了。这里只演示自己习惯的方法。
3.再次进行具体引脚的设置。
本次演示的引脚是GPIOC_0。
那如果我们以GPIOC_13为例,那就是要把"Shift Right"选项框那里填入“13”。以此类推
4.查看“示波器”的高低电平时间吗,检查是否与我们想要的效果一致
用鼠标点击高低电平的边沿,底下会有一个当前电平状态的持续时间进行显示。可以查看高低电平的持续时间
示例代码:
#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);
}
}