历史上的今天
返回首页

历史上的今天

今天是:2024年09月19日(星期四)

正在发生

2018年09月19日 | 让菜鸟秒变stm32高手的STM32CubeMX

2018-09-19 来源:eefocus

         菜鸟到高手,显得有些霸气哈,不过的确如此,官方带给我们一个比较实用的stm32的工具。这个工具就是STM32CubeMX,昨天玩freeRTOS的时候就提到过。说到freeRTOS,这里就多说两句。全局变量,在任务间相互访问的时候也是需要临界保护的,不然可能会出现奇怪的问题。不过我们可以关掉时间片调度,任务间可以访问全局变量而不用加保护(不等于菜鸟可以随意代码)。关闭了时间片调度,只有发生vTaskDelay的时候才会上下文切换。只要代码合理访问全局变量可以不加保护的。因此代码也不是可以任意书写的,关于freeRTOS的问题,多看看源码,一切都会有答案。源码较少,这里就不过多介绍。关闭时间片不是网上说的configUSE_TIME_SLICING这个宏定义,老鸟发现这个宏压根没用哈,嘿嘿。阅读源码可以找到相关宏配置。不过不建议关闭,时间片调度也可以让一个任务在执行一定时间后切换到其他就绪任务去执行。如果有freeRTOS相关问题,可以留言给我。废话说多了点哈,继续我们的STM32CubeMX。下面我们来讲讲这个工具的作用,讲完后,可以自己下载一个试试,挺简单不多介绍。

     到官网下载STM32CubeMX,并安装。

     1:芯片选型

       打开STM32CubeMX,我们点击new project,我们就可以进行芯片选型,如果你下载了打开了这个工具,是不是很惊讶,stm32的所有产品型号都在里面,而且左下提供了资源勾选,比如你要以太网支持,勾选以太网选项,所有的支持以太网的stm32芯片才会被显示,旁边还有个max的栏目指示了芯片最多支持该功能的个数。空白的一般默认只有一个。下图是我勾选以太网的截图。

     

上图不仅提供了芯片,还提供了价格,是否在售,封装,存储,频率等一些列信息。

除了cpu资源可以选型外,上面还提供了脚多少,存储大小等非常灵活的选型方式。

我们选择其中一个的单片机后。右上部分给我们提供了完美的支持。

第一个选项提供了改cpu

的特性,我们可以大概的了解选中的cpu资源。





第二个选项提供该cpu框图,截图图片太大,这里就不截图了。

第三个选项提供了cpu文档,这个文档非常多也非常全面,基本不用在网上东找西找了,主要给硬件工程师用。

第四个选项提供了cpu的相关设计资源,软件编程文档,给软件工程师用,非常全面,包括网上很少用到的文档资料,比如系统移植相关的底层资料(堆栈,指令,汇编)。

第五个选项提供了芯片购买途径,这个每个人自己选择吧。

第六个选项开始工程,芯片选好了,就可以开始工程。


2:设定芯片。

芯片选好后,可以开始设定芯片。这就是软件工程师的好帮手呀。比如我要以太网功能,勾选上以太网即可,他就会自动分配出芯片对应的以太网接口。如下图:


上面我选了标准的MII接口。很多人可能就不理解,你勾了个以太网,咋报错了。老鸟告诉你为啥变红了,stm32有个复杂的功能就是io口复用,勾选mii后分配的io口和spi2以及iis口重合了,所以这个工具非常智能的提示了出来,非常神奇吧。告诉你他们不能使用了。还有些变黄了,说明他们可以选择性使用,真是太方便了,省去了查资料慢慢找io的痛苦。比如我们还要给它个外部时钟。我们勾选时钟即可,响应的时钟脚就会分配出来。


如果要将某个脚设置成输入输出那就更简单了,鼠标点选对应的io口选择对应功能即可,比如我单击PA6,它的所有功能可以轻松选择:


软件使用比较简单,不过多解释,一看就明白,设置完芯片功能后,我们就设定系统各项功能时钟。

选择时钟设置页面(clock configuration)时钟轻松设定,如下图,简单明了,不过多解释了:


时钟配置完成后,可以切换到configuration选项对功能进一步设定,里面参数都是常用的功能,设置较为简单。就不多举例了,比如网络功能里面设置mac地址等。


       3:生产初始化代码

        经过上面的图形化设定,我们可以直接生产初始化代码。省去我们查阅资料慢慢配置的的环节,时间更多的利用在应用层设计。点击project下面的生成代码选项。输入工程名(根据你项目需要起名),这里我就随便输入一个名字。设定好相关参数。点击ok即可。顺便说下,这个工具是配带教程的,我这里只是告诉大家有这样个工具可以加速开发,具体设置参考官方教程。

生成后打开文件夹内容如下:


上图的inc 和src文件夹里面是生成的主要代码,其他几个文件夹里面的东西,大家可以根据自己需要选择。src文件夹文件如下:


打开熟悉的main.c,可以看到如下内容:


初始化已经完成,直接写自己的功能即可了,然后就是加入到工程里面编辑,是不是非常简单。熟悉的话10来分钟一个工程构架就出来了。这样一来,stm32就变成最简单的单片机了,有木有,这个是基于库函数的,io操作直接可以查看库函数手册完成。这个工具主要是加速底层开发。轻松弄出自己的应用程序。对于新入手stm32来说,用这个库函数,让开发变得简单。减少定时器,can,ad,line等外围配置花去的时间,图像化配置,秒变高手。最主要的是功能直观可见,编辑性好,可导入工程编辑。修改配置也简单


推荐阅读

史海拾趣

GHz Technology ( Microsemi )公司的发展小趣事

对于5G169节日彩灯集成电路,网友可能提出多种问题,以下是一些常见问题及其详细回答:

1. 5G169节日彩灯集成电路的基本工作原理是什么?

回答
5G169节日彩灯集成电路通过交流电输入,经过VDI~VD4桥式整流输出全波脉动直流电,供四路彩灯用电。该电路还包含简单的稳压电路(由Rl、R2、VD5和VD6组成),经过Cl滤波后输出约6V直流电供集成块用电。VD6在这里起隔离作用,使得R2两端能获得6V全波脉动直流电压,其脉动频率为交流电的2倍(即100Hz)。此100Hz信号经R4注入集成块的8脚作为同步信号。电路中还包含正、反向控制开关SB,用于控制彩灯的正向或反向循环。

2. 如何调节5G169节日彩灯的亮灯周期?

回答
5G169节日彩灯的亮灯周期是可调的,但具体调节方式可能因不同型号的集成电路或电路设计而异。通常,亮灯周期的调节可能涉及改变与集成电路相关的电阻、电容或其他元件的值。然而,对于5G169这样的具体型号,如果没有详细的电路设计图或说明书,很难给出确切的调节步骤。一般情况下,可以通过查阅产品手册或联系制造商获取具体的调节方法。

3. 5G169节日彩灯集成电路是否需要外接电源?

回答
是的,5G169节日彩灯集成电路需要外接电源来提供工作所需的电能。通常,这种集成电路会设计为能够接受家庭常用的交流电源(如220V或110V,具体取决于所在地区的电压标准),并通过内部的整流和稳压电路转换为集成电路和彩灯所需的直流电压。

4. 5G169节日彩灯集成电路在使用过程中需要注意哪些事项?

回答
在使用5G169节日彩灯集成电路时,需要注意以下事项:

  • 确保电源电压与集成电路的额定电压相匹配,避免过电压或过电流导致的损坏。
  • 遵循产品手册中的安装和接线指导,确保电路连接正确无误。
  • 注意电路的散热问题,避免长时间在高温环境下使用导致集成电路过热。
  • 定期检查电路连接和元件状态,及时发现并处理可能的问题。
  • 避免在潮湿或腐蚀性环境中使用,以防电路受潮或腐蚀。

5. 5G169节日彩灯集成电路有哪些常见故障及解决方法?

回答
5G169节日彩灯集成电路的常见故障可能包括灯不亮、亮度不均、闪烁异常等。针对这些故障,可以尝试以下解决方法:

  • 检查电源电压是否正常,确保电路得到足够的电能供应。
  • 检查电路连接是否牢固可靠,无短路或断路现象。
  • 检查集成电路的引脚是否接触良好,无虚焊或断裂现象。
  • 如果集成电路损坏,需要更换新的集成电路。
  • 对于亮度不均或闪烁异常的问题,可以尝试调整与集成电路相关的电阻、电容等元件的值,或者检查彩灯本身是否存在问题。

请注意,以上回答基于一般性的集成电路知识和经验,具体情况可能因不同型号的集成电路或电路设计而异。在实际操作中,建议根据具体的产品手册或咨询专业人士进行故障排查和解决。

芯联(CHIPLINK)公司的发展小趣事

芯联集成非常重视企业文化建设,致力于打造一个高效、协作、创新的团队。公司倡导“以人为本”的管理理念,关注员工成长和发展,为员工提供良好的工作环境和福利待遇。同时,公司还建立了完善的激励机制和培训体系,激发员工的工作热情和创造力。这些努力使芯联集成在行业内树立了良好的口碑和形象,吸引了众多优秀人才加入公司。

CoolerMaster公司的发展小趣事

Cooler Master一直致力于技术创新,不断推出具有颠覆性的产品。例如,其推出的MasterLiquid 360 Ion高性能散热器,配备了壮观的2.1英寸LCD屏幕,可实现无与伦比的定制显示内容。这一产品不仅展现了Cooler Master在散热技术上的领先地位,更体现了其对于用户体验的深刻洞察。此外,公司还借助Atmos系列迈向可持续散热的未来,为行业的发展注入了新的活力。

Circuit Technology Inc公司的发展小趣事

随着国内市场的饱和,CTI开始将目光投向海外市场。公司制定了国际化发展战略,积极开拓国际市场。通过设立海外分支机构、参加国际展会等方式,CTI的产品逐渐打入国际市场,并获得了良好的口碑。同时,公司还与国外企业开展技术合作和产品研发,进一步提升了公司的国际化水平。

3E SECURITY公司的发展小趣事

3E SECURITY公司自创立之初,便以技术创新为核心竞争力。在电子安全领域,公司不断投入研发,推出了一系列具有自主知识产权的安全产品。其中,一款智能安全监控系统凭借其高度集成和智能化特点,迅速在市场上占据了一席之地。通过不断的技术革新,3E SECURITY逐渐在电子安全行业树立了技术领先的形象,吸引了大量合作伙伴和客户的关注。

GeneSiC Semiconductor公司的发展小趣事

3E SECURITY公司自创立之初,便以技术创新为核心竞争力。在电子安全领域,公司不断投入研发,推出了一系列具有自主知识产权的安全产品。其中,一款智能安全监控系统凭借其高度集成和智能化特点,迅速在市场上占据了一席之地。通过不断的技术革新,3E SECURITY逐渐在电子安全行业树立了技术领先的形象,吸引了大量合作伙伴和客户的关注。

问答坊 | AI 解惑

矢量控制的几个物理量解释

磁通,磁动势,磁势,磁链,转子归算,磁场定向, 有明白可以回帖…

查看全部问答>

转载:硬件工程师面试试题及答案

转载:硬件工程师面试试题及答案 [ 2010-7-13 6:19:00 | By: master0722 ]   模拟电路 1、基尔霍夫定理的内容是什么? 基尔霍夫定律包括电流定律和电压定律 电流定律:在集总电路中,任何时刻,对任一节点, ...…

查看全部问答>

串口信息如下,请高手分析~

MMC::MMCCommandResponse: MMCSendCommand error, command = 17 MMC::MMCCommandResponse: Command Response Error MMCRead: MMCCommandResponse error on READ_SINGLE_BLOCK! read error SDHC: command response timeout CTO! MMC::MMCComman ...…

查看全部问答>

51单片机移植uC/OS-II编译出错

本人在编译uC/OS-II的时候,出现了一个比较难缠的编译错误,望高手指点! 先看OS_CPU.H文件,该头文件包含与cpu有关的定义 typedef unsigned char  INT8U;         //无符号8位数 复制代码 OS_CFG.H文件 ...…

查看全部问答>

我是新手请大家指点一个RTL8019AS 的问题

我是新手最近在学习基于c51的RTL8019AS ,我想问问它是否能直接和互联网络连接来实现一种远程的控制呢?还是只能实现和pc机的通信啊?谢谢啦!!!!…

查看全部问答>

雷电对LED的影响以及防范措施

总结雷击主要有以下四种类型: 1.直击雷  直击雷蕴含极大的能量,峰值电压可达5000kv的雷电流入地,具有极大的破坏力。会造成以下三种影响: (1)巨大的富电流在数微秒时间内流下地,使地电位迅速拾高,造成反击事故,危害人身和设备安全。 ...…

查看全部问答>

用JLINK在SWD方式下只接SWDIO,SWCLK,GND?

                                 这三根线就可以调试么?…

查看全部问答>

UCOS-II的中断

哪位朋友那里有UCOS-II在STM320F103X上跑的中断示例程序啊?共享下,谢谢:houwnq@126.com!!!…

查看全部问答>