【DIY手势翻页笔】过程贴+点亮板载的LED灯
前言:记录一下自己在开发STM32H503时候,使用STM32CUBEMX软件;总体来说官方提供的图形化配置工具,非常的好用。可以完成基本的芯片外设的配置,比如:GPIO的设置,硬件IIC配置,硬件的SPI配置,ADC、DAC、UART、TIM、PWM配置等等,总之你想要底层驱动部分,在这个软件上面自动生成。
自己平时使用的库函数比较多,用hal库比较少一些,不过多用几次发现,开发软件起来还是比较方便的。
一:软件的安装
用户需要自行到官方的****上去下载安装包,简单来说一键安装就可以,这里就不过多的介绍了,值得注意的是,配置软件时不时的会完善一些芯片资料或者驱动代码部分,所以长时间不使用的话,也是需要登录一下更新软件的。
这里我使用的软件版本是:6.11.0 也是最新的版本,以后的工程都是基于该版本下完成底层驱动的配置。
打开软件如下图所示:首先要进入芯片选择界面:
在软件屏的左上角的输入框内,输入:STM32H503RBT6,右侧会弹出选择的芯片,(注意:在该界面下,我们在右侧的可以快速的查看芯片的资料),然后我们点击“start project”
如上图所示:cube中会把所有的IO口引脚标识出来,而且除电源VCC,GND引脚,BOOT0引脚,复位引脚NRST外,所有的引脚都是灰色的,这就意味着所有的引脚都没有被配置、使能。
对于初学者来说,配置这个软件可能有些困难,需要注意的是,在配置的时候为了避免忘记打开芯片的调试功能,可以先是使能调试功能,防止为打开调试口,下载了一次程序之后,不能进行二次下载了(不过也不用担心,用串口也是可以进行下载的),再者就是单片机的心脏-时钟树的配置了。接下来和大家分享一下配置过程:
1:我的习惯是先配置DEBUG引脚;
2:配置RCC功能:如下图所示,时钟来源选择外部高速时钟
3:使能系统滴答定时器:sysclock
4:使能LED引脚,这里我们查看一下原理图
以上就把控制单片机的某个GPIO口功能的外设基本配置好,下面在配置一下,系统的时钟。
打开 生成代码的工程设置界面
最后点击生成代码按键:
在打开生成的GPIO.H中的 控制GPIO口电平翻转的HAL 函数;
在主函数中编码代码:代码如下
为了更好的使用cube软件,我们在生成的代码中,编写用户代码时候,一定要在
/* USER CODE BEGIN 3 */ } /* USER CODE END 3 */
上述字样中编写用户的代码,这样我们再次生成的代码的时候,用户编码的代码不会被覆盖,不要问我是咋知道的,问就是沉默;
在debug里面设置一下 Reset and run,这样我们下载程序进入后,代码就会软件复位了,不用引脚复位了。
为了方便我们看一下延时500ms的效果:如下图所示:
再看一下延时100ms的效果:如下图所示:
可以明显的看出,LED灯闪烁的频率要快很多,基本的cube配置就是这样。
后记:通过查看资料和视频,了解到STM32 cube 基本配置过程,开启系统的滴答定时器,GPIO口的配置,写代码的时候注意要写在规定的位置,否则下次生成代码的时候,就会被覆盖的;最重要的是将调试口打开,否则下次就不能下载代码了!!!!