历史上的今天
返回首页

历史上的今天

今天是:2025年04月27日(星期日)

正在发生

2019年04月27日 | STM32F0系列Hal库SPI库BUG

2019-04-27 来源:eefocus

在使用STM32Cube_FW_F0_V1.8.0版本的HAL库时,应用中需要使用SPI总线,两片STM32F03x系列微控制器分别作为主机和从机使用。并且为了提高通讯效率和通讯可靠性,通讯时使用DMA交互数据并使能SPI控制器自带的CRC校验功能。在实际使用时发生以下问题:当从机使用循环DMA模式时,从机接收到的数据会错位。但是关闭CRC校验功能后,从机缓冲区接收到的数据就不会发生错位了。考虑原因是CRC校验位长度处理异常导致的。从机在实际使用过程中调用了如下函数:


HAL_StatusTypeDef HAL_SPI_TransmitReceive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData,


 uint16_t Size)


  此函数是使用DMA交互SPI数据,从机DMA的收发通道采用DMA_CIRCULAR模式,从机仅在初始化时调用一次该函数,以后不需要重复调用,因为DMA控制器会自动循环内存地址。


  由于关闭CRC校验功能后数据错位的现象消失,所以考虑从CRC校验的设置方面解决。参考STM32F0xx系列参考指南,在SPI控制器的章节找到如下说明:


  可以看出,在使能CRC校验时,DMA通道的长度设置是有变化的。


  ST的库中长度设置如下,并没有针对CRC功能设置额外长度。

  现在按下图修改:

  修改后数据DMA数据和CRC校验功能均正常,数据不再顺序错乱。


  关于此BUG,没有找到ST官方的BUG报告email,所以发布博文以供网友参考。

推荐阅读

史海拾趣

Entegris公司的发展小趣事

在半导体材料领域,对纯度的要求越来越高。Entegris通过不断的技术创新,提升材料的纯度,以满足晶圆厂对材料的高要求。同时,随着制程工艺的步骤增多,控制污染的环节也随之增加,Entegris在微尘控制方面也面临着巨大的挑战。

ATM [Advanced Technical Materials]公司的发展小趣事

然而,随着ATM的普及,安全问题也日益凸显。黑客攻击、恶意软件植入等事件时有发生,给ATM的安全运营带来了挑战。为了应对这些挑战,ATM行业加强了技术研发和安全防护,采用更加先进的加密技术和安全机制,确保用户的资金安全。

以上五个故事虽然不直接涉及ATM公司的具体发展,但展示了ATM技术在电子行业中的发展历程和重要事件。这些故事反映了ATM从诞生到广泛应用,再到技术创新和安全挑战的整个过程,也展示了电子行业在推动ATM发展中的重要作用。

Boyd Corporation公司的发展小趣事

为了进一步扩大市场份额和提升技术实力,Boyd Corporation进行了一系列战略收购。其中,收购Aavid Thermalloy是其中的重要一环。Aavid在热管理领域拥有卓越的技术和工程团队,通过合并,Boyd Corporation成功将Aavid的技术和团队纳入旗下,进一步增强了其在热管理领域的市场地位。

电连(ECT)公司的发展小趣事

为了进一步扩大市场份额,ECT积极推进国际化战略。截止2022年初,公司在全球共设立23个分支机构,覆盖了中国台湾、中国香港、韩国、日本、泰国、越南、美国等国家和地区。通过国际化战略的实施,ECT不仅成功将产品推向全球市场,也提升了公司的国际影响力和竞争力。

Enterpoint公司的发展小趣事

随着技术的不断发展,Enterpoint公司意识到,要想在竞争激烈的市场中保持领先地位,必须不断进行技术突破和产品升级。公司投入大量资源进行研发,成功开发出一系列具有高性能、低能耗特点的数据处理设备。这些产品的推出不仅提升了公司的市场竞争力,也为客户带来了更高效、更稳定的数据处理体验。

Anachip公司的发展小趣事

Anachip公司自成立以来,一直致力于半导体技术的研发。在某个关键时期,公司研发团队成功开发出一种新型的芯片技术,这项技术在性能上远超当时的行业标准。凭借这一技术突破,Anachip迅速在市场上推出了一系列高性能的芯片产品,赢得了客户的广泛认可。随着产品销量的增长,公司的知名度和市场份额也逐步提升。

问答坊 | AI 解惑

丰田自动织机展出新型转换器

丰田自动织机在“人与车科技展2007”(太平洋横滨会展中心)上,展示了“雷克萨斯LS460/600h”采用的电动助力转向系统中的2款DC/DC转换器。 雷克萨斯LS460采用的是可将12V电源电压升至45V的型号,主要用于电动助力转向系统(EPS)。最大输出功率 ...…

查看全部问答>

哥们根据实物反画的视频一拖四分配器原理图PROTEL99SE格式

哥们根据实物反画的视频一拖四分配器原理图PROTEL99SE格式,有兴趣的朋友拿去吧.…

查看全部问答>

回家上网,论坛速度慢的问题已经解决

看来是办公室网络的问题。 办公室上开心网也慢,这里快多了。…

查看全部问答>

TI公司的AD转换芯片TLV5616的中文版资料

好不容易找到的,和大家一同分享…

查看全部问答>

车载信息中心电路保护措施

新型客车、卡车、公共汽车甚至摩托车都已成为移动的网络,将众多特征和功能连接在一起。如内置控制、移动媒体和无线网络。信息娱乐系统、远程信息处理、安全控制等的应用均需使用几种现有的网络标准。如LIN、CAN、MOST、IDB-1394、FlexRay、Bytefli ...…

查看全部问答>

蓝精灵第三讲:STM32 GPIO的使用

本期主要讲述一下stm32GPIO的使用,做了一个GPIO的例子(流水灯)。需要的可以在附件中下载。该程序在飞嵌电子的蓝精灵stm32上测试运行通过。…

查看全部问答>

冰天雪地裸体跪求

请问一下哪位大哥有Programming the Microsoft Windows driver Model 的源代码啊? 先谢了!!…

查看全部问答>

如何定义不定长数组

                                 请教STM32如何动态分配空间,是否有现成的函数可以调用,请高手指教…

查看全部问答>

问下各位大侠,关于那个板载仿真器哈

TI开发板板载仿真器十分方便,我想问的是那个CPLD能否去掉,因为我还得CPLD编程,麻烦的很。请回答谢了…

查看全部问答>

51单片机的语音自动报时系统中的语音部分该用什么芯片做

初步是这样想的,用一个AT89S51的芯片,再加上A/D转换以及D/A转换,在加上放大器和扬声器,以及数码显示。但我不知道语音录入者一部分该怎么做,求高人指教…

查看全部问答>