如何stm32cubemx生成工程大量的cube

想问下大家现在都有用cubemx生成初始代码吗? - STM32 - 意法半导体STM32/STM8技术社区
后使用快捷导航没有帐号?
查看: 1209|回复: 14
想问下大家现在都有用cubemx生成初始代码吗?
在线时间2 小时
主题帖子精华
新手上路, 积分 18, 距离下一级还需 32 积分
新手上路, 积分 18, 距离下一级还需 32 积分
大家好,我之前一直用STM8S003,都是直接操作寄存器,感觉还是挺好用的,遇到问题就看看手册泡泡坛子基本都能搞定,后来由于产品的升级,STM8就不够用了,首先就想到STM32,可是当我看到那么多寄存器,感觉头好晕,也看了一些视频教程,感觉设置的确比STM8要麻烦太多了,后来看到STM32CUBEMX可以以图形化的界面产生初始设置的代码,觉得挺不错,但是相关的例程好像不多,视频教程也少,大家有在用cubeMX吗?
欢迎加入STM32/STM8社区技术交流群:& & &STM32L系列开发群:
在线时间201 小时
主题帖子精华
金牌会员, 积分 1088, 距离下一级还需 1912 积分
金牌会员, 积分 1088, 距离下一级还需 1912 积分
当然,使用CubeMX有利有弊。
使用Cube的坏处是,它对操作封装的太好了,不利于你对底层操作的理解。
如果是刚开始使用STM32系列芯片,个人建议先使用标准库。
有的人还在操作寄存器,说这样可以更灵活,代码效率更高。本人持反对态度。
自己操作寄存器,出错的概率很高,编写程序耗费的精力很大,出错的时候检查一样非常困难。再者,现在的CPU主频已经完全可以弥补运行效率的问题,除了非常特殊的应用。
直接操作寄存器无异于使用汇编写代码,除了显摆一下自己知道寄存器哪个位干什么用,没有太多可取的地方。
ST金币3503
在线时间573 小时
主题帖子精华
论坛元老, 积分 4112, 距离下一级还需 9995887 积分
论坛元老, 积分 4112, 距离下一级还需 9995887 积分
cubemx确实方便不少,再配合HAL库是以后的方向。。。
欢迎加入STM32/STM8社区技术交流群:& & &STM32L系列开发群:
在线时间253 小时
主题帖子精华
金牌会员, 积分 2446, 距离下一级还需 554 积分
金牌会员, 积分 2446, 距离下一级还需 554 积分
有啊, 一些简单的东西还是会用hal 的
ST金币3105
在线时间439 小时
主题帖子精华
论坛元老, 积分 4020, 距离下一级还需 9995979 积分
论坛元老, 积分 4020, 距离下一级还需 9995979 积分
用官方的库函数也是很方便的啊
欢迎加入STM32/STM8社区技术交流群:& & &STM32L系列开发群:
ST金币3105
在线时间439 小时
主题帖子精华
论坛元老, 积分 4020, 距离下一级还需 9995979 积分
论坛元老, 积分 4020, 距离下一级还需 9995979 积分
不过现在HAL是趋势
在线时间201 小时
主题帖子精华
金牌会员, 积分 1088, 距离下一级还需 1912 积分
金牌会员, 积分 1088, 距离下一级还需 1912 积分
CubeMX是很好的开发工具,可以省去查看寄存器的麻烦,甚至硬件驱动的细节都不必关心。
刚开始用的时候,会遇到一些麻烦,觉得很不好用。原因是,HAL库的结构和标准库有很大不同,特别是中断部分。HAL库把中断源的判断,中断的标志位处理等封装到中断函数,给用户提供了callback函数(可在相应外设的.h文件找到其原型)。用户使用某个中断的时候,只需要在CubeMX配置并生成代码后,重写相应的callback函数。
CubeMX更强大的地方是对FATFS等中间件的支持。
最近用CubeMX生成了一个SD卡的工程,硬件使用SDIO接口,配置完成之后,直接调用f_mount()函数挂载FATFS,然后就可以调用f_open()等文件操作函数了。对于SD卡的底层操作根本不用自己去写,SD卡复杂的初始化过程也不需要关心。
欢迎加入STM32/STM8社区技术交流群:& & &STM32L系列开发群:
在线时间58 小时
主题帖子精华
中级会员, 积分 291, 距离下一级还需 209 积分
中级会员, 积分 291, 距离下一级还需 209 积分
我直接从arduino转stm32用了两周时间,靠的就是cube。
例程很多的,你安装cubeMX以后,下载对应的pack压缩包,解压后就有例程。
HAL库里的注释也算齐全,用起来没有太大问题。
在线时间5 小时
主题帖子精华
初级会员, 积分 51, 距离下一级还需 149 积分
初级会员, 积分 51, 距离下一级还需 149 积分
HAL 是不是就是middleware???
欢迎加入STM32/STM8社区技术交流群:& & &STM32L系列开发群:
ST金币2185
在线时间191 小时
主题帖子精华
金牌会员, 积分 2477, 距离下一级还需 523 积分
金牌会员, 积分 2477, 距离下一级还需 523 积分
HAL是趋势,只是目前资料不是很多。。。
站长推荐 /2
STM32粉丝狂欢节还剩最后一个月,最高单人可得5块开发板!11月中奖名单即将公布,请收到开发板的朋友好好学习!好好利用!
为表彰他们在过去一年为社区所做的贡献,并将乐于分享、无私奉献的精神传递下去,举办本次社区之星评选活动,欢迎大家推荐和自荐。
Tel: 3-8064
备案号: 苏ICP备号-2
Powered by21ic官方微信-->
后使用快捷导航没有帐号?
查看: 4891|回复: 7
有使用STM32CubeMX生成FATFS后,调度成功过的吗
&&未结帖(1)
主题帖子积分
实习生, 积分 23, 距离下一级还需 27 积分
实习生, 积分 23, 距离下一级还需 27 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 23, 距离下一级还需 27 积分
实习生, 积分 23, 距离下一级还需 27 积分
MCU:STM32F2XX,使用SDIO,生成FATFS代码后,调度不成功
&&retSD = FATFS_LinkDriver(&SD_Driver, SD_Path);
& & & & if(retSD==0)
& & if((RE_mount=f_mount(&Fat,(TCHAR const*)SD_Path,0)) == FR_OK)
& & & & & & & & & & & & HAL_GPIO_WritePin(GPIOE,GPIO_PIN_3,GPIO_PIN_RESET);
& && &if((RE=f_open(&MyFile,&yy1.txt&, FA_CREATE_ALWAYS | FA_WRITE))==FR_OK)
& & & & & & & & & & & & & & & & HAL_GPIO_WritePin(GPIOE,GPIO_PIN_2,GPIO_PIN_RESET);
& && &&&if(f_write(&MyFile, wtext, sizeof(wtext), (void *)&wbytes) == FR_OK)
& && && & f_close(&MyFile);
f_open这一步就出错了,返回结果是FR_NOT_READY,& & & & & & & & & & & & /* (3) The physical drive cannot work */
主题帖子积分
主题帖子积分
专家等级:结帖率:100%打赏:0.00受赏:37.00
主题帖子积分
是不是你的文件格式不对;
主题帖子积分
实习生, 积分 23, 距离下一级还需 27 积分
实习生, 积分 23, 距离下一级还需 27 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 23, 距离下一级还需 27 积分
实习生, 积分 23, 距离下一级还需 27 积分
跟文件格式没关系,是底层的配置,不知道怎么整
主题帖子积分
中级技术员, 积分 108, 距离下一级还需 192 积分
中级技术员, 积分 108, 距离下一级还需 192 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级技术员, 积分 108, 距离下一级还需 192 积分
中级技术员, 积分 108, 距离下一级还需 192 积分
我的mount成功了,但是就是mkdir就会出现HardFault_Handler错误,不知道怎么回事
主题帖子积分
初级工程师, 积分 2371, 距离下一级还需 629 积分
初级工程师, 积分 2371, 距离下一级还需 629 积分
主题帖子积分
专家等级:结帖率:96%
主题帖子积分
初级工程师, 积分 2371, 距离下一级还需 629 积分
初级工程师, 积分 2371, 距离下一级还需 629 积分
我的mount成功了,但是就是mkdir就会出现HardFault_Handler错误,不知道怎么回事
先看看你的Heap/stack大小,缺省的不够。
主题帖子积分
初级工程师, 积分 2371, 距离下一级还需 629 积分
初级工程师, 积分 2371, 距离下一级还需 629 积分
主题帖子积分
专家等级:结帖率:96%
主题帖子积分
初级工程师, 积分 2371, 距离下一级还需 629 积分
初级工程师, 积分 2371, 距离下一级还需 629 积分
也许有帮助:
STM32F407 FreeRTOS+SD+FatFS调试小结
主题帖子积分
中级技术员, 积分 108, 距离下一级还需 192 积分
中级技术员, 积分 108, 距离下一级还需 192 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级技术员, 积分 108, 距离下一级还需 192 积分
中级技术员, 积分 108, 距离下一级还需 192 积分
也许有帮助:
STM32F407 FreeRTOS+SD+FatFS调试小结
/forum.php?mod=viewthr ...
确实有用,谢谢!
主题帖子积分
高级技术员, 积分 613, 距离下一级还需 387 积分
高级技术员, 积分 613, 距离下一级还需 387 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
高级技术员, 积分 613, 距离下一级还需 387 积分
高级技术员, 积分 613, 距离下一级还需 387 积分
技术新星奖章
人才类勋章
技术领袖奖章
人才类勋章
时间类勋章
坚毅之洋流
发帖类勋章
荣誉元老奖章
等级类勋章
社区建设奖章
等级类勋章
湍急之河流
发帖类勋章
时间类勋章
涓涓之细流
发帖类勋章
时间类勋章
技术高手奖章
人才类勋章温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(1393)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_081074',
blogTitle:'图解transformer生成的cube发布到cognos服务器',
blogAbstract:'图解transformer生成的cube发布到cognos服务器',
blogTag:'transformer,cube,图解,cognos',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:5,
publishTime:5,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}

我要回帖

更多关于 unity 代码生成cube 的文章

 

随机推荐