找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 810|回复: 17
收起左侧

关于STM32库函数 问题一个非常弱智的问题

  [复制链接]
ID:401564 发表于 2022-3-29 12:36 | 显示全部楼层 |阅读模式
这几天在学STM32,看到库函数的代码都是好长好长的,里头的宏定义,函数名都是莫名的长
我想问一下,你们都是ctrl+c+v完成的吗?
都是在哪里复制的?是库文件的inc文件夹中的.h文件中,还是有现成的?
或者是说使用别的方法
回复

使用道具 举报

ID:1013784 发表于 2022-3-29 14:46 | 显示全部楼层
有现成的项目直接复制粘贴就行,剩下的在根据自己的需要增删改查。刘火良的野火大学堂里就有一大堆项目
回复

使用道具 举报

ID:879348 发表于 2022-3-29 15:19 | 显示全部楼层
这只是网上不懂的人误传而已,真以为复制过去就能运行吗
回复

使用道具 举报

ID:1014009 发表于 2022-3-29 15:27 来自手机 | 显示全部楼层
这就是误传,没事的
回复

使用道具 举报

ID:844772 发表于 2022-3-29 15:48 | 显示全部楼层
1、不太一样,我是先Ctrl+C 再 Ctrl+V。2、其实这些名字用的是标准起名方式,挺好记的。
回复

使用道具 举报

ID:962286 发表于 2022-3-29 16:14 | 显示全部楼层
做实际项目的时候,工程项目下会建一个文件夹(Libraries)放的是CMSIS和HAL库or标准库,设置好头文件的路径,添加会用到的模块c,然后在conf里边选择用到的模块(@brief This is the list of modules to be used in the HAL driver),最后库里边的函数我都是直接CTRL+C+V用,当然前提是知道这个函数有啥用,所以我还是会把整个函数看一遍理解了再CTRL+C+V。虽然很多函数都巨长,尤其是那些init,但里边大部分是断言和预编译判断,还是挺好读懂的。
当然我也有很客户是直接啥都不管,只知道库函数的作用,不去深究,就直接开搞。这样也是行得通,本身这些库已经有很多断言判断机制,一般不会出错。这些这库的初衷本身就为让用户对底层BSP控制层面上极可能脱离,减少开发周期。
回复

使用道具 举报

ID:139866 发表于 2022-3-29 16:27 | 显示全部楼层
我是手敲的,敲多了就记住了,另外为什么用库函数,刚开始学直接操作寄存器不香吗
回复

使用道具 举报

ID:276663 发表于 2022-3-29 16:45 | 显示全部楼层
如果编辑器能自动补全就不用复制大法,如果不能就复制
回复

使用道具 举报

ID:339654 发表于 2022-3-29 17:13 | 显示全部楼层
会自己复制粘贴自己需要的东西就很厉害了
回复

使用道具 举报

ID:1014073 发表于 2022-3-29 17:44 | 显示全部楼层
使用自动补全工具,一般只需要记得待使用API和宏的前前几个字符即可
回复

使用道具 举报

ID:1014140 发表于 2022-3-29 21:13 | 显示全部楼层
我都是自己写的 这样时间长了记忆比较深刻
回复

使用道具 举报

ID:878061 发表于 2022-3-29 21:52 | 显示全部楼层
对于我来说我基本都是复制的,因为我不会摸键盘,看着键盘码太慢
回复

使用道具 举报

ID:1011864 发表于 2022-3-30 11:02 | 显示全部楼层
大部分都是复制的,只有函数是自己写的,什么定义呀,复制就行了,有简单的方法为什么要费力自己去写,而且你也不一定能写好
回复

使用道具 举报

ID:1006510 发表于 2022-3-30 14:47 | 显示全部楼层
我听其它人说STM32的标准库初始化复杂,HAL库简单快速一点
回复

使用道具 举报

ID:883242 发表于 2022-3-30 17:05 | 显示全部楼层
是从库例程里面Ctrl-C、Ctrl-V出来的代码拼凑一下,项目就完成了,非常简单。
回复

使用道具 举报

ID:50910 发表于 2022-4-3 21:46 | 显示全部楼层
用source insight来写代码可以自动补全。
回复

使用道具 举报

ID:883242 发表于 2022-4-3 22:20 | 显示全部楼层
Leokex 发表于 2022-3-30 14:47
我听其它人说STM32的标准库初始化复杂,HAL库简单快速一点

HAL库看似简单的操作埋着很深的地雷,串口中断处理程序也就一句话,但跟踪进去发现有3000行!不管能不能用所有的寄存器都摸了一遍,效率极其低下!!!

所以还是要用StdPeriph库或者HAL库里面的LL库,效率足够,能充分发挥单片机性能。HAL库里面的HAL库就是一坨shit,根本不能用!
回复

使用道具 举报

ID:419909 发表于 2022-4-4 08:10 | 显示全部楼层
也是刚刚学STM32,用了一段时间了。开发了1-2个小项目,别人不知道。我反正主要是C+V,能明显感觉库的标准化好处。就是网上随意一段DEMO。复制过来。基本都能适用,一些基本功能函数。复制过来就能用。就是参数太多。要自己慢慢摸索。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表