请选择 进入手机版 | 继续访问电脑版
搜索
查看: 5968|回复: 24

[讨论] STM32 CUBEMX 使用注意事项讨论

  [复制链接]

该用户从未签到

41

主题

332

帖子

42

蝴蝶豆

金牌会员

最后登录
2021-4-2
发表于 2018-6-19 20:58:32 | 显示全部楼层 |阅读模式
用了一段时间CubeMx  感觉还是有些不足,
1 不支持函数或任务重命名,如果在CubeMx里强行重命名函数或者任务名 ,用起来就会造成原来的旧函数被清掉,
比如 在Cube中希望重命名一个任务函数,直接在原来已有的函数配置表中修改是不行的,这样会导致旧函数被删除,
目前的办法是 建立新的希望的函数后,手动把旧函数的内容剪切过来,然后删除旧函数,
2 随意写注释,
使用CubeMx后 注释不能再随便写是麻烦的事,主要是因为你一旦在CubeMx中对配置进行了更新, 在新生成代码时就可能把原来的
部分注释清除掉,

我感觉应该有办法让CubeMx在新创建代码时忽略用户注释的办法,但是目前还不知道,谁知道的话 就请教一下
还有什么心得 大家来补充



回复

使用道具 举报

该用户从未签到

64

主题

909

帖子

76

蝴蝶豆

论坛元老

最后登录
2021-9-5
发表于 2018-6-22 10:51:01 | 显示全部楼层
在论坛参与问题讨论分析解答的过程,其实就是一个自我学习的过程,碰到网友提出的问题,自己没有遇到过,通过分析测试,知识点就到自己的信息库中,在以后碰到时就不会花太多的时间去绕弯路,同时分享自己的方法也可以让广大的网友借鉴使用,确实是个两全其美的途径,希望大家各种参与进来,共同使用好ST芯片,充分发挥它的潜力,造福世界。。。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

回复 支持 0 反对 1

使用道具 举报

该用户从未签到

2

主题

53

帖子

15

蝴蝶豆

金牌会员

最后登录
2020-12-25
发表于 2018-6-21 09:59:28 | 显示全部楼层
本帖最后由 o科技人生o 于 2018-6-21 10:04 编辑

如果用cube做freertos的工程  建议你都选择任务在外部声明,然后任务你可以单独用一个或者多个.c写,这样cube就只帮你建立任务,分配空间,并且每个任务都做好了extern的声明,你在自己的.c改任务名,再同步在cube这边修改一下就ok。cube新建的工程不会修改你自己建的.c文件和工程目录。但是你要在cube生产的代码里面改东西,一定要在user code begin / end里面改。相比传统方式, 感觉用cube改起来感觉要方便很多,占用的资源一目了然,各种配置也可视化了。不用花很多时间配置底层,也不容易出错。
微信图片_20180621095645.png

点评

你的建议非常好!!!谢谢  发表于 2018-6-21 10:49

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

回复 支持 1 反对 0

使用道具 举报

该用户从未签到

3

主题

1002

帖子

363

蝴蝶豆

版主

最后登录
2021-4-15
发表于 2018-6-20 11:09:39 | 显示全部楼层
首先,/* USER CODE BEGIN Init */ /* USER CODE END Init */之间写代码,是不会被清掉的。。。其次,Cube启的函数名字干嘛要改呢?这么来说,一套API接口,有专门的人维护,而且还有专门的人搞,对于我们这些使用者来说,只要好用,那必须是拿起就是用啊!!!目前,我HAL和LL都用,感觉不错,不过LL的缺点就是资料有点少,非常接近寄存器配置!!!不过使用方式和HAL差不多吧。。。至少我目前是尽量把HAL和LL使用方式接近!!!

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

回复 支持 1 反对 0

使用道具 举报

该用户从未签到

26

主题

565

帖子

85

蝴蝶豆

金牌会员

最后登录
2021-3-19
发表于 2018-6-19 21:35:15 | 显示全部楼层
我觉得HAL里串口发送t函数和串口接收函数的__HAL_LOCK(huart)是冲突的,不知道为什么这样设定

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

12

主题

427

帖子

0

蝴蝶豆

高级会员

最后登录
2018-12-6
发表于 2018-6-20 09:30:35 | 显示全部楼层
在用户段复制?
回复 支持 反对

使用道具 举报

该用户从未签到

41

主题

332

帖子

42

蝴蝶豆

金牌会员

最后登录
2021-4-2
 楼主| 发表于 2018-6-20 11:16:49 | 显示全部楼层
MrJiu 发表于 2018-6-20 11:09
首先,/* USER CODE BEGIN Init */ /* USER CODE END Init */之间写代码,是不会被清掉的。。。其次,Cube ...

在RTOS 系统中 ,创建的 任务函数名,变量名 ,可能在后期需要调整,改变任务名称,邮箱名称
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

1002

帖子

363

蝴蝶豆

版主

最后登录
2021-4-15
发表于 2018-6-20 11:21:29 | 显示全部楼层
50031185 发表于 2018-6-20 11:16
在RTOS 系统中 ,创建的 任务函数名,变量名 ,可能在后期需要调整,改变任务名称,邮箱名称 ...

RTOS啊,这些组件类的,我都是直接从原先的官网下载的,Cube工具又封装了一波,我个人认为不好。。这么来说吧,我就把Cube当作MCU的外设初始化用了。。。其他东西没必要参考。。。
回复 支持 反对

使用道具 举报

该用户从未签到

41

主题

332

帖子

42

蝴蝶豆

金牌会员

最后登录
2021-4-2
 楼主| 发表于 2018-6-20 16:25:27 | 显示全部楼层
MrJiu 发表于 2018-6-20 11:21
RTOS啊,这些组件类的,我都是直接从原先的官网下载的,Cube工具又封装了一波,我个人认为不好。。这么来 ...

这个确实 有利有弊, 弊端是 对于原始的系统 改变了操作函数接口,有时搞得人摸不清方法, 好处是上手容易,适合新手,
做复杂的系统功能定制不方便,
但是 被CubeMx封装的接口做常规的功能设计已经足够了
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

178

帖子

92

蝴蝶豆

高级会员

最后登录
2019-7-20
发表于 2018-6-21 08:22:04 | 显示全部楼层
这个就是标准化编程,生成代码的时候会把不是User Code的部分全部复盖掉,所以如果自己写代码一定要全部写在User Code的注释范围里面

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

399

帖子

43

蝴蝶豆

金牌会员

最后登录
2021-3-5
发表于 2018-6-22 09:14:39 | 显示全部楼层
推荐一看来是研究过啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-3-29 23:58 , Processed in 0.278876 second(s), 49 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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