我们先尝试用寄存器点亮。
首先在创建工程的时候就比较麻烦,新建工程,起个名字,选择一个合适的芯片,新建main.c,然后随手来一个main函数。
32的工程和51还不太一样,需要在工程里面添加启动文件,这个启动文件在ST的官网能找到。
编译代码的时候,会提示缺少各种头文件,这些头文件,在官网的标准库里面也能找到,按照提示拷贝进去就行。
准备工作做好了,就是真正开始点灯的时候,这一步必须要借助原理图和芯片手册。
配置GPIO时钟、引脚模式、输出方式、输出速度、上拉、输出高电平,这一波操作下来,如果英文水平一般,那真的很痛苦。
代码写的比较随意,也没用位移操作,纯粹就是为了点个灯。运行代码,灯确实亮了。
总结一下,用寄存器点灯确实麻烦,建立工程麻烦,读芯片手册也麻烦。
毫不夸张的说,如果没有基础,芯片又比较冷门,半天时间,保证你可以从入门到放弃。
而且剪辑视频的时候,很多细节还没放进去,比如微库,比如重置运行,少一个,你都要倒腾半天时间。
再来看下HAL库点灯,选择HAL库,就是因为他最简单。
配合cubemx,创建工程也只是分分钟的事。
打开main函数,其实步骤跟刚才的差不多,只是配置时钟,从刚才的寄存器变成了调用函数,好处就是,记住这个函数名就行,不用去看芯片手册。
至于刚才的配置引脚模式、输出方式等等,都变成了一个结构体,结合库手册,给结构体成员逐个赋值就行。
接下来,再次调用两个函数,一个初始化、一个让引脚输出。只要你不去刨根问底,用库来实现功能,比寄存器简单的多,对新手也特别的友好。
审核编辑:刘清
-
led灯
+关注
关注
22文章
1592浏览量
107822 -
寄存器
+关注
关注
31文章
5308浏览量
119975 -
STM32
+关注
关注
2265文章
10870浏览量
354685 -
HAL库
+关注
关注
1文章
114浏览量
6168
原文标题:同样是点灯,看看寄存器和库的区别
文章出处:【微信号:学益得智能硬件,微信公众号:学益得智能硬件】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论