[信息] STM32cube例程序的缺点

[复制链接]
2733|14
 楼主| zhuotuzi 发表于 2017-12-14 10:28 | 显示全部楼层 |阅读模式
看了STM32CUBE都会发现,例子都是建立在官方开发板基础上的,这样就很容易让用户陷入开发板模式的泥淖之中。
看了新唐的BSP例子后发现,都是以芯片为基础的例子,很是好懂。大家说我说的对吗?
因为里面好多函数都是定义在开发板宏上的。。这让初学者容易迷惑。
 楼主| zhuotuzi 发表于 2017-12-14 10:30 | 显示全部楼层
例子应该具备最原始的基础性,不应该依赖某个板子。。。
QQ截图20171214102737.png
比如这个最简单的GPIO IO Toggle例子,会发现,LED都用宏表示了,,就连初始化函数也是特别的宏实现的。。这让用户不容易看到最接近HAL库的东西。。
 楼主| zhuotuzi 发表于 2017-12-14 10:31 | 显示全部楼层
希望以后ST做例子的时候,提供一份不基于任何开发板的例子,像新唐的BSP那种。另外也可以同时提供这种基于开发板的。
husoffer 发表于 2017-12-14 10:41 | 显示全部楼层
对初学者来说直接用cube不太好,很多都被封装好了不便于学习
sopc12 发表于 2017-12-14 10:55 | 显示全部楼层
学习了
 楼主| zhuotuzi 发表于 2017-12-14 11:01 | 显示全部楼层
husoffer 发表于 2017-12-14 10:41
对初学者来说直接用cube不太好,很多都被封装好了不便于学习

对,太对了,他们封装的层次太多了,这一点很坑爹,没有新唐的BSP做的好。
憨厚诚实大叔 发表于 2017-12-14 11:24 | 显示全部楼层
初学者最好先接触寄存器,不求习惯用寄存器,最起码知道什么是寄存器,再用库,不然出问题了根本不会找
 楼主| zhuotuzi 发表于 2017-12-14 13:44 | 显示全部楼层
憨厚诚实大叔 发表于 2017-12-14 11:24
初学者最好先接触寄存器,不求习惯用寄存器,最起码知道什么是寄存器,再用库,不然出问题了根本不会找 ...

是啊,特别是STM32给的库函数的例子写法,套的层次太深,不容易到底层。
kmzuaz 发表于 2017-12-14 17:19 | 显示全部楼层
现在还是使用库开发。
mmuuss586 发表于 2017-12-14 22:20 | 显示全部楼层

恩,有一定道理
香水城 发表于 2017-12-14 23:12 | 显示全部楼层
STM32的工程例程基于芯片及目标板而写,很自然啊。

要说脱离开发板的话,库函数就是纯粹基于芯片的代码,你可以基于库函数重新组建自己的工程。这个过程
中你也可以参考下官方例程。对于新手来说,CUBE库熟悉起来很快的,它条理很清晰。【其实基于官方相应例程框架来建自己的工程也很方便】

CUBE HAL库因要考虑到整个STM32全系列的移植上兼容性,API函数通用性强,但整体代码效率偏差。正因为这点,ST同时又推出了近于寄存器操作层面的LL库,即底层LL cube库,不论HAL库还是LL库都兼容STM32cubeMx图形化配置工具。使用STM32CUBEMX配置完成后可以根据需要生成基于HAL库或LL库的工程代码。
junpeng324 发表于 2017-12-15 08:27 来自手机 | 显示全部楼层
分享的不错。
grant_jx 发表于 2017-12-15 12:37 | 显示全部楼层
不是有LL库吗,套路没HAL深的
戈卫东 发表于 2017-12-15 13:51 | 显示全部楼层
投入不够。
东西搞得不上不下。
huahuagg 发表于 2017-12-15 18:43 | 显示全部楼层
有些库函数实在看不懂,也是正常的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

214

主题

3375

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部