
在开启广播的情况下,能否不适用HSE,而使用HSI作为系统时钟? 实际测试的时候发现 我将系统时钟配置为HSI,也配置成功,如下图 但是一旦执行完上图中的下面语句 shciContext.io.Send(0,0); 之后系统时钟的配置就变成了HSE了 这样就会造成FreeRTOS的tick周期出错。请ST的专家帮忙看看。万分感谢 |
CubeMX配置STM32WBA55在utilities里选项ADV_trace具体功能体现在哪里?
使用CubeMX配置STM32WBA55CG为什么中间件freertos被替换为了 Xcube freertos 它与非无线系列MCU的freertos有什么区别?
stm32旗舰店 天猫旗舰店是没有了吗?
nucleo-wb05kz开发板BLE问题
STM32WB55 USB dongle FUS 0.0.0问题
STM32WB55RG使用USB ST-LINK连接电脑显示未知USB设备,更新驱动后也没有变化,这大概是哪里的问题?
关于意法半导体BLE AOA测向定位的问题
NUCLEO-WBA55CG debug的Serial忘记配置,请教boot模式怎么切换
STM32WB55客户端应用接收的特征长度为什么更改无效呢?
STM32WBA55CG使用spi驱动ST7789 LCD
HSI精度不高。对于BLE的性能会有影响的,会影响距离和连接稳定性。
通常为了RF有好的性能,都是建议用HSE时钟的。
因为希望有更低的功耗,对工作电流要求比较高。
RF部分用HSE这个可以理解,但是系统时钟是否可以用HSI
另外,这个切换不是我要切换的,我是想mcu特别是m4内核一直使用hsi即可
所以最好调试看,具体(上层函数)哪一部分被切换回来的。
另外,从另一个角度看,RF部分始终连接并使用HSE,既然HSE已经工作了,再用HSI做系统时钟,能省电流么?
具体哪里切换因为我也没看到,所以想在这里请教。
关于能否省功耗,我举个例子,如果广播周期是5000mS,这5000mS的周期只有在广播的时候HSE才被需要。而业务用到的M4核需要100mS定时做一次,那么如果M4使用HSI是不是比使用HSE能省功耗了?
不过开启广播是,RF电路自动选择HSE时钟,这时由于CPU2也要时钟跑相关的代码,所以猜测CPU2也要将HSE也设为系统时钟,这个应该是不能改变的。所以这段时间是不能优化的。
但从这张时钟图中看起来,好像SYSCLK跟RF的时钟之间并没有绑定或者跟随关系?
RF电路和CPU2这时要工作,而供给CPU2的HCLK2 是来自与系统时钟,所以此时应该都设置为HSE了。
这个图中,RF这条路是指定HSE的,而CPU2时钟SYSCLK,跟RF这条路没有绑定关系吧?我看从连线关系上,是可以不用HSE,而使用HSI的,你看这图里面红色部分走线,是指定HSE,但是CPU2则由SYSCLK来决定使用的哪个时钟源,没有必须要用HSE。所以我的理解他们是相互独立的,不知理解对不对
从这张时钟树的图中看起来,RF部分(红色画线)是指定要红HSE,这个没问题,能理解;但是CPU2的时钟是SYSCLK(蓝色画线),这个可以由SYS clock source control来决定来自哪个时钟源,其中就包括了HSE,也包括了HSI。所以我的理解,即使RF使用,那么RF跟CPU2之间的时钟也是相互独立的,并没有绑定关系,CPU2能指定使用HSI。不知道我的理解对不对
CPU2是跑协议并控制RF部分的电路。CPU2的时钟如果和RF电路不一致,控制上就会产生异步事件,那么就无法准确的驱动RF电路工作。所以我认为CPU2的软件应该将他们设置成统一时钟源才能正常工作。
从楼主调试的现象上看,也是这样的一个结果。
能找到对应的官方资料佐证这个说法吗?
非常感谢你耐心帮忙解答,不过我希望能有材料能佐证这个说法,不然仅从认为和现象,以及从用户指南文档上的这个时钟树,我并不认同这个说法
既然这样,CPU2为何不跟RF一样,固定使用HSE就好了,CPU2只跑RF协议,而RF系统又只能HSE。
希望能有确切的材料/资料证明你的认为和这些现象
很感谢耐心你的指导的