关于STM32选择和购买的问题

kegev587 2020-04-22 03:40:59
本人刚开始学习嵌入式开发,需要一款32开发板(核心板),能控制3个舵机,并且可以与树莓派通讯。不知道板子需要带有哪些配置。。。各位大佬有推荐的板子购买链接嘛。。。
...全文
109 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kegev587 2020-04-23
  • 打赏
  • 举报
回复
引用 1 楼 worldy 的回复:
64或以上引脚的芯片,随便哪款都可以
worldy 2020-04-22
  • 打赏
  • 举报
回复
64或以上引脚的芯片,随便哪款都可以
纯人工翻译中文版本,STM32CubeMX用户手册中文版,STM32CubeMX用户手册中文版UM1718-翻译版.菜鸟到高手,显得有些霸气哈,不过的确如此,官方带给我们一个比较实用的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等外围配置花去的时间,图像化配置,秒变高手。最主要的是功能直观可见,编辑性好,可导入工程编辑。修改配置也简单
声明:该设计资料来源于立创社区,仅供网友学习参考,不可用于商业用途。 基于STM32 的 USB温湿度计概述: 该USB温湿度计基于STM32F070F6P6 设计完成。STM32F070F6P6 是ST公司新出品不久的一款 ARM Cortex-M0芯片,内置 32 Kbytes Flash,6K SRAM,12Bit ADC,运行主频48MHZ,支持USB 2.0 SLAVE通信接口,更重要的是它是TSSOP20封装的! 曾经在立创商城上,有个SHT30温湿度计的方案验证板,但该设计有个麻烦的地方,那就是需要另外接串口装置才能观察到MCU测量得到的SHT30温湿度数据。为此本人,决定用带这款支持USB通讯功能的STM32F0x0超值系列ARM芯片--- STM32F070F6P6,结合温湿度传感器AM2320,制作一款USB温湿度计。 它使用很简单:直接插入PC机的USB端口,然后打开串口助手之类的软件,即可观察到现场的温湿度数据。通过这个制作,大家可以学习一下AM2320的I2C和单总线的驱动方法,还有如何使用ST的Cube MX软件来实现一个USB转串口(USB TO CDC)的通信设备。 系统构架图: 系统解说:本系统有二大部分组成,分别是:支持USB通信的ARM Cortex-M0主控芯片 STM32F070F6P6和AM2320数字式温湿度传感器。 视频演示: 作品亮点 ① 无需额外仪器装置,直插到PC后运行串口助手软件即可观察到实时的温湿度数据。 ② 采用引脚紧凑、低成本、同时支持USB通信的Cortex-M0 AMR STM32F070作为主控。 ③ 使用出厂时己校准数字信号输出的AM2320作为传感器单元。插件,极易好焊接! ④ 温度分辨率是: ±0.1度,精度±0.5度;湿度分辨率: ±0.1%RH,精度:±3%RH ⑤ 提供2种演示范例,支持单总线和标准I2C 两种通信方式来驱动AM2320传感器。 ⑥ 板上STM32F070的全部I/O都被引出,可当作一个低廉的最小系统板、开发板使用。 ⑦ 本方案验证板采用USB BUS总线供电,无需额外再提供电源。 原理图分为多个部分,逐个详见分析讲解,详见“相关文件”进行下载 USB温湿度计实物展示: 软件部分的描述 限于篇幅,这里不太方便展示全部代码,比如USB通信实现和单总线、I2C总线驱动温湿度传感器AM2320等等。需要指出的是,USB通信部分,本人直接采用了ST官方出品的STM32CubeMX软件,该软件是一个基于GUI界面配置软件,通过鼠标操作芯片的配置和功能,最终该软件即可自动产生初始化代码和一个应用程序框架范例。本电子制作就是使用这个默认生成的USB转串口(USB CDC协议)应用程序,然后添加相关的温湿度采集驱动完成的。 调试过程和应用实例 按前面提供的BOM清单,正常焊接完毕后,接着把HEX烧录到ARM STM32F070F6P6芯片,即可完成准备工作。随后,将USB电缆把该PCBA电路模块和电脑链接起来(如果Windows 系统提示需要安装驱动程序,那按默认位置按照即可)。最后,打开串口助手之类的软件,即可观察到现场的温度和湿度数据。 总结 STM32F070F6P6 是一个内置USB功能、性价比很高的芯片,结合AM2320实现了比之前SHT30方案验证板更好的应用体验。该PCB板设计时,把STM32F070F6P6的全部I/O都引出了,因此,该板可当作一个低廉的最小系统板、开发板使用。如果想学习ARM Cortex-M0 芯片的应用,特别是USB总线通信的实现过程,那本文介绍的这个电子制作作品和PCB空板,是一个不错的入门选择! 基于STM32F070和AM2320的USB温湿度计实验板购买链接:https://www.szlcsc.com/product/details_97773.html

1,068

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧