你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
想问下大家现在都有用cubemx生成初始代码吗?
[复制链接]
zhaojianhua822
提问时间:2015-12-6 21:30 /
问答
是否解决:
大家好,我之前一直用STM8S003,都是直接操作寄存器,感觉还是挺好用的,遇到问题就看看手册泡泡坛子基本都能搞定,后来由于产品的升级,STM8就不够用了,首先就想到STM32,可是当我看到那么多寄存器,感觉头好晕,也看了一些视频教程,感觉设置的确比STM8要麻烦太多了,后来看到STM32CUBEMX可以以图形化的界面产生初始设置的代码,觉得挺不错,但是相关的例程好像不多,视频教程也少,大家有在用cubeMX吗?
赞
0
收藏
0
评论
19
分享
发布时间:2015-12-6 21:30
举报
请先
登录
后回复
19个回答
adlu
回答时间:2015-12-7 09:27:46
a0a.1 32b0c
当然,使用CubeMX有利有弊。
使用Cube的坏处是,它对操作封装的太好了,不利于你对底层操作的理解。
如果是刚开始使用STM32系列芯片,个人建议先使用标准库。
有的人还在操作寄存器,说这样可以更灵活,代码效率更高。本人持反对态度。
自己操作寄存器,出错的概率很高,编写程序耗费的精力很大,出错的时候检查一样非常困难。再者,现在的CPU主频已经完全可以弥补运行效率的问题,除了非常特殊的应用。
直接操作寄存器无异于使用汇编写代码,除了显摆一下自己知道寄存器哪个位干什么用,没有太多可取的地方。
赞
1
评论
回复
支持
1
反对
0
adlu
回答时间:2015-12-7 09:12:36
a0a.1 32b0c
CubeMX是很好的开发工具,可以省去查看寄存器的麻烦,甚至硬件驱动的细节都不必关心。
刚开始用的时候,会遇到一些麻烦,觉得很不好用。原因是,HAL库的结构和标准库有很大不同,特别是中断部分。HAL库把中断源的判断,中断的标志位处理等封装到中断函数,给用户提供了callback函数(可在相应外设的.h文件找到其原型)。用户使用某个中断的时候,只需要在CubeMX配置并生成代码后,重写相应的callback函数。
CubeMX更强大的地方是对FATFS等中间件的支持。
最近用CubeMX生成了一个SD卡的工程,硬件使用SDIO接口,配置完成之后,直接调用f_mount()函数挂载FATFS,然后就可以调用f_open()等文件操作函数了。对于SD卡的底层操作根本不用自己去写,SD卡复杂的初始化过程也不需要关心。
赞
0
评论
回复
支持
反对
Paderboy
回答时间:2015-12-6 22:47:26
a0a.1 32b0c
cubemx确实方便不少,再配合HAL库是以后的方向。。。
赞
0
评论
回复
支持
反对
wu1169668869
回答时间:2015-12-7 00:24:49
a0a.1 32b0c
有啊, 一些简单的东西还是会用hal 的
赞
0
评论
回复
支持
反对
zhangdaijin
回答时间:2015-12-7 07:06:26
a0a.1 32b0c
用官方的库函数也是很方便的啊
赞
0
评论
回复
支持
反对
zhangdaijin
回答时间:2015-12-7 08:44:28
a0a.1 32b0c
不过现在HAL是趋势
赞
0
评论
回复
支持
反对
tempchar
回答时间:2015-12-7 14:27:03
a0a.1 32b0c
我直接从arduino转stm32用了两周时间,靠的就是cube。
例程很多的,你安装cubeMX以后,下载对应的pack压缩包,解压后就有例程。
HAL库里的注释也算齐全,用起来没有太大问题。
赞
0
评论
回复
支持
反对
工程师傅
回答时间:2015-12-7 15:35:17
a0a.1 32b0c
HAL 是不是就是middleware???
赞
0
评论
回复
支持
反对
orima
回答时间:2015-12-7 16:06:50
a0a.1 32b0c
HAL是趋势,只是目前资料不是很多。。。
赞
0
评论
回复
支持
反对
stary666
回答时间:2015-12-7 16:46:24
a0a.1 32b0c
没有,只是用来看看时钟设置图
赞
0
评论
回复
支持
反对
wuweijie
回答时间:2015-12-8 10:29:58
a0a.1 32b0c
不怎么用,只是知道怎么用而已
赞
0
评论
回复
支持
反对
埃斯提爱慕
回答时间:2015-12-8 20:59:52
a8a.1 32b0c
提示:
作者被禁止或删除 内容自动屏蔽
赞
0
评论
回复
支持
反对
随风飘扬
回答时间:2015-12-8 21:36:28
a0a.1 32b0c
最近的项目开始用的,感觉还不错
赞
0
评论
回复
支持
反对
xiaoxiang2012
回答时间:2015-12-11 15:59:53
a0a.1 32b0c
新做一个项目,也用一用CubeMX
赞
0
评论
回复
支持
反对
1
2
/ 2 页
下一页
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
使用Cube的坏处是,它对操作封装的太好了,不利于你对底层操作的理解。
如果是刚开始使用STM32系列芯片,个人建议先使用标准库。
有的人还在操作寄存器,说这样可以更灵活,代码效率更高。本人持反对态度。
自己操作寄存器,出错的概率很高,编写程序耗费的精力很大,出错的时候检查一样非常困难。再者,现在的CPU主频已经完全可以弥补运行效率的问题,除了非常特殊的应用。
直接操作寄存器无异于使用汇编写代码,除了显摆一下自己知道寄存器哪个位干什么用,没有太多可取的地方。
刚开始用的时候,会遇到一些麻烦,觉得很不好用。原因是,HAL库的结构和标准库有很大不同,特别是中断部分。HAL库把中断源的判断,中断的标志位处理等封装到中断函数,给用户提供了callback函数(可在相应外设的.h文件找到其原型)。用户使用某个中断的时候,只需要在CubeMX配置并生成代码后,重写相应的callback函数。
CubeMX更强大的地方是对FATFS等中间件的支持。
最近用CubeMX生成了一个SD卡的工程,硬件使用SDIO接口,配置完成之后,直接调用f_mount()函数挂载FATFS,然后就可以调用f_open()等文件操作函数了。对于SD卡的底层操作根本不用自己去写,SD卡复杂的初始化过程也不需要关心。
例程很多的,你安装cubeMX以后,下载对应的pack压缩包,解压后就有例程。
HAL库里的注释也算齐全,用起来没有太大问题。