你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

粉丝测评 | NUCLEO-G070RB DMA中断通信测试

[复制链接]
eefishing 发布时间:2019-10-1 18:02

No.1
开发板基本参数

开发板基本参数在官网上面都可以查看到,就不详细介绍了。

我们可以发现这块开发板分为两个部分,并使用巧妙的设计将两个部分分开,左边是集成了ST-LINK/V2仿真器的电路,中间有个C8T6的芯片,右边是STM32G070RBT6的最小系统板,左右都把IO口都引出了。

如果仔细观察,就会发现裸露的焊盘,这是为了能够在同一块电路板板上使用多种类型的芯片做的设计,换芯片的话,只要更换其中的元件,就可以变成另一种芯片的核心版,无需改变电路设计。这块开发板上只有一片32.768 KHz的晶体振荡器低速晶振,没有一般的8MHz的高速晶振,开始我觉得很奇怪,在查看电路原理图之后才发现,原来处理器和板载ST-Link/V2仿真器的STM32C8T6芯片共用一个高速晶振,好设计!!!
1.jpg

No.2
上电测试

上电亮三个LED灯,运行的是官方初始化的DEMO程序,电脑USB也出现了ST-LINK/V2的识别,上电测试没问题。
2.jpg

No.3
程序测试

首先是USART的 DMA中断通信测试,因为ST的新出的芯片不支持标准库了,所以我选用HAL库,用STM32CubeMX生成代码(以后可能试试用LL库,ST官方的历程了有LL库的内容,可以看出这块芯片是支持LL库的)。我们打开STM32CubeMX,首先是外部时钟源设置,我们选择Crystal/Ceramic Resonator。
3.jpg
记得在SYS选项上勾选Serial Wire,不然调试会出问题。接着是配置UART,我们用DMA中断的方式配置UART,所以在这里打勾。
4.jpg
在DMA Settings选项添加DMA通道,把RX和TX都加进去。
5.jpg
将字长(word length)改为8bit,不然如果不同步修改调试器配置就会出现乱码,倒不是说7bit、5bit、6bit不可以用,在特殊场合是有特殊用处的,比如说在传输0-127的数据时用7bit可以提升速度,然后把波特率改为9600。
6.jpg
然后生成代码,这里我们对生成的代码进行一些改动,设置缓冲区数组uint8_t aTxBuffer[ ]和uint8_t aRxBuffer[ ],用来保存串口缓冲区数据,并添加一些管脚的支持, - 当电路板2正在等待来自电路板1的信息时,其LED4正在发光,每半秒闪一下。按下板1上的用户按钮。然后,板1以DMA模式向板2发送一条消息,将其发送回板1也处于DMA模式。最后,板1和2将收到的消息与发送的消息进行比较。如果消息相同,则测试通过,LED4不亮,实际效果如下。
7.jpg
图二中按下User按钮后LED4不亮了
接下来我们给G0加上一个操作系统,看看操作系统运行情况。给工程创建两个实时任务,任务一通过等待任务二的信号,然后运行。
8.jpg
FreeRTOS.c的代码
然后进入仿真模式,查看代码运行状态,可以看到代码可以很好地运行,程序在两个线程之间切换来切换去,在Watch窗口可以查看变量状态,可以在线程中加上断点,可以debug。
9.jpg

No.4
总结


  • 集成了ST-LINK/V2仿真器,让debug更加方便。
  • 开发板小巧携带方便,可以在很多项目中应用,也是很多初学STM32的开发人员的首选。
  • 开发板质量良好,运行起来无任何质量问题。
  • 相比于其他高性能的单片机,低功耗性能足够优秀。
  • ST在做到成本未提升,功耗没有提高的情况下,提高主频,很优秀。   

    作者:EEToday网友 比特小丸子



收藏 评论1 发布时间:2019-10-1 18:02

举报

1个回答
fly015 回答时间:2019-10-1 19:25:48
不错,先点个小灯

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版