最近在学习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
需要源码的兄弟需要可以私信我。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)