打印
[信息]

STM32cube例程序的缺点

[复制链接]
2365|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhuotuzi|  楼主 | 2017-12-14 10:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
看了STM32CUBE都会发现,例子都是建立在官方开发板基础上的,这样就很容易让用户陷入开发板模式的泥淖之中。
看了新唐的BSP例子后发现,都是以芯片为基础的例子,很是好懂。大家说我说的对吗?
因为里面好多函数都是定义在开发板宏上的。。这让初学者容易迷惑。
沙发
zhuotuzi|  楼主 | 2017-12-14 10:30 | 只看该作者
例子应该具备最原始的基础性,不应该依赖某个板子。。。

比如这个最简单的GPIO IO Toggle例子,会发现,LED都用宏表示了,,就连初始化函数也是特别的宏实现的。。这让用户不容易看到最接近HAL库的东西。。

使用特权

评论回复
板凳
zhuotuzi|  楼主 | 2017-12-14 10:31 | 只看该作者
希望以后ST做例子的时候,提供一份不基于任何开发板的例子,像新唐的BSP那种。另外也可以同时提供这种基于开发板的。

使用特权

评论回复
地板
husoffer| | 2017-12-14 10:41 | 只看该作者
对初学者来说直接用cube不太好,很多都被封装好了不便于学习

使用特权

评论回复
5
sopc12| | 2017-12-14 10:55 | 只看该作者
学习了

使用特权

评论回复
6
zhuotuzi|  楼主 | 2017-12-14 11:01 | 只看该作者
husoffer 发表于 2017-12-14 10:41
对初学者来说直接用cube不太好,很多都被封装好了不便于学习

对,太对了,他们封装的层次太多了,这一点很坑爹,没有新唐的BSP做的好。

使用特权

评论回复
7
憨厚诚实大叔| | 2017-12-14 11:24 | 只看该作者
初学者最好先接触寄存器,不求习惯用寄存器,最起码知道什么是寄存器,再用库,不然出问题了根本不会找

使用特权

评论回复
8
zhuotuzi|  楼主 | 2017-12-14 13:44 | 只看该作者
憨厚诚实大叔 发表于 2017-12-14 11:24
初学者最好先接触寄存器,不求习惯用寄存器,最起码知道什么是寄存器,再用库,不然出问题了根本不会找 ...

是啊,特别是STM32给的库函数的例子写法,套的层次太深,不容易到底层。

使用特权

评论回复
9
kmzuaz| | 2017-12-14 17:19 | 只看该作者
现在还是使用库开发。

使用特权

评论回复
10
mmuuss586| | 2017-12-14 22:20 | 只看该作者

恩,有一定道理

使用特权

评论回复
11
香水城| | 2017-12-14 23:12 | 只看该作者
STM32的工程例程基于芯片及目标板而写,很自然啊。

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

CUBE HAL库因要考虑到整个STM32全系列的移植上兼容性,API函数通用性强,但整体代码效率偏差。正因为这点,ST同时又推出了近于寄存器操作层面的LL库,即底层LL cube库,不论HAL库还是LL库都兼容STM32cubeMx图形化配置工具。使用STM32CUBEMX配置完成后可以根据需要生成基于HAL库或LL库的工程代码。

使用特权

评论回复
12
junpeng324| | 2017-12-15 08:27 | 只看该作者
分享的不错。

使用特权

评论回复
13
grant_jx| | 2017-12-15 12:37 | 只看该作者
不是有LL库吗,套路没HAL深的

使用特权

评论回复
14
戈卫东| | 2017-12-15 13:51 | 只看该作者
投入不够。
东西搞得不上不下。

使用特权

评论回复
15
huahuagg| | 2017-12-15 18:43 | 只看该作者
有些库函数实在看不懂,也是正常的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

197

主题

3267

帖子

7

粉丝