1.0 点亮一个LED灯让其闪烁 (32初学,不定时更新)

1.0 点亮一个LED灯让其闪烁 (32初学,不定时更新),第1张

        最近在学习stm32的知识,从今天起,会不定期更新一部分内容,记录自己的学习过程。

我所使用的编程软件是 MDK ,仿真就用Proteus 8.6来完成。相信大家对这两个软件都有一定的了解。我也就不多赘述,需要安装包的朋友可以在文末链接里取。

首先,既然是学HAL库版本的工程,我们就需要有一个HAL库的工程模板,网上有很多开源的资料,大家都可以找到。

点灯的关键就在于高低电平的转换。我们只需要对对应的I/O口进行配置,然后就可以使用了。在这里,我使用的是GPIOB的5口,即PB5.

    GPIO_InitTypeDef GPIO_Initure;
     
    HAL_Init();                    	 			//初始化HAL库
    Stm32_Clock_Init(RCC_PLL_MUL9);   			//设置时钟,72MHz

    __HAL_RCC_GPIOB_CLK_ENABLE();           	//开启GPIOB的时钟
	
    GPIO_Initure.Pin=GPIO_PIN_8; 				//PB5
    GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;  	//推挽输出
    GPIO_Initure.Speed=GPIO_SPEED_FREQ_HIGH;    //高速
    HAL_GPIO_Init(GPIOB,&GPIO_Initure);

        I/O口配置完成后,我们需要进行高低电平的设置。

        HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET);		//PB5置1  			
		delay_ms(20000);
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_RESET);		//PB5置0
		delay_ms(20000);

        仿真的话,我们需要LED灯,RES电阻(100欧),stm32f103R6的单片机。

        在连接完成后,我们需要将工具栏的Design打开,

                

 

        点击configure Power Rail,

                ​​​​​​​        ​​​​​​​        

        然后点击Name的GND,将其改为VCC/VDD,

                                        

 

        然后将左下方方框中的VDDA和VSSA添加到右边的方框里,然后点击ok

        ​​​​​​​        ​​​​​​​        ​​​​​​​        

 

                                双击单片机,将Crystal Frequency改为72MHz。

 

然后在上方的Program File中选择对应的hex文件,点击ok,然后开始仿真即可。

软件链接:MDK5:链接:https://pan.baidu.com/s/1Va2JCjRYzx6N8bsNtk4z-w 
提取码:fj0e

                                PROTEUS8.6:链接:https://pan.baidu.com/s/1Kozn1TyZ2NijT_emfMZocg 
提取码:zu0s

                需要源码的兄弟需要可以私信我。

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1353709.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-14
下一篇 2022-06-14

发表评论

登录后才能评论

评论列表(0条)

保存