
新鲜出炉!X-LINUX-QT正式支持Qt 6!STM32 MPU迎来UI科技美学
利用STM32MP1和STM32MP2为嵌入式Linux提供有效的安全措施:供当今决策者参考的3条宝贵经验
有奖直播 | STM32MP2x 资源隔离架构 (RIF) 介绍与使用
白皮书下载|边缘 AI 变革:MCU集成 NPU 的破局与领航
OpenSTLinux:为STM32 MPU生态系统带来超强助力
【STM32MP257】轻松搭建A35 Linux编译及调试环境
【STM32MP257】🥳STM32MP257-DK-开发板开箱体验
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【STM32MPU 安全启动】 TF-A BL2 TrustedBoot原理学习
《STM32MPU安全启动》学**结
首先你不能选择SetSysClock,这样时钟的配置应该会除了问题。之前你的程序卡在这里,就是因为时钟设置的问题。如果你用的是nucleo,那么主芯片的时钟是从另一个片子的MCO来得,是8MHZ。我记得之前观察程序发现使用的是外部时钟。时钟的配置需要做一些修改,怎么修改呐。在main函数的开头,有boardInit的部分,这里面的开始就是配置了一下系统时钟,然后是systick。你而SystemCoreClock是系统的宏定义,在原始代码中是168000000。而411则不是这个数值,这个数值与你最终配置的有关。但是这里你是直接追踪不到时钟配置的,时钟的配置是在SystemInit里面执行的,起初会使用HSI时钟,然后再通过SetSysClock()来是能PLL时钟。但是这部分的具体工作你最好查一下网络。
多谢!
按您的指导,仔细梳理系统时钟相关的配置:
1)启动时,在System_stm32f4xx.c中给了宏定义 SystemCoreClock = 100000000; 即100MHz;但systemInit()并未定义 SystemCoreClock;而是调用SetSysClk()来配置系统时钟。若采用您所提到的nucleo,时钟由外部供给,则需定义USE_HSE_BYPASS,进而HSE_ON,使得系统时钟配置为PLL;
不过,我的PCB是自制的,使用板上8MHz Resonator(无源);与nucleo不同,故未定义 USE_HSE_BYPASS。
2)进入main()后,调用board_init();最初,调用SystemCoreClockUpdate(); 这个函数我看后,理解就是配置SystemCoreClock = HSI_VALUE; 即16MHz,另外AHB预分频,但是实际取的是AHBPrescTable[[0],即不分频,SystemCoreClock保持16MHz不变。
综述之,在启动文件里,并未设置系统时钟 = HSE,且将RCC->CFGR复位为0;那么进入main()后调用SystemCoreClockUpdate()配置系统时钟时,tmp = RCC->CFGR & RCC_CFGR_SWS,其值为0;经switch(tmp)选择,SystemCoreClock = HSI_VALUE。也就是说,在启动和初始化两个阶段,系统时钟一直未配置成PLL。
那么,系统时钟是否必须配置成100MHz,以满足后面的代码应用呢?若是,在何处调整代码呢?
起初都是使用HSI然后使用SystemInit里面的程序来设置成HSE pll 至于在哪里设置的,你如果使用keil可以全局搜索一下,我记着应该是在s文件中。
建议你在搜索一下时钟设置的文章,那里面的介绍的更多。祝你成功
你好!
我在运行eMPL-Client.py时也遇到和你一模一样的问题,请问你现在是否已经解决,如果已解决能否请教一下解决方法,谢谢!
eMPL_client.py的问题,解决了。版本的问题。
Invensense的文档(Motion Driver 6.12 – Getting Started Guide )里所给出的链接如下:
-------------------
Python: http://www.python.org/downloads/
Pyserial: http://pypi.python.org/pypi/pyserial
Pygame: http://www.pygame.org/download.shtml
------------------
其中:
python我选择的是2.7版;但pyserial是按链接下载了3.0.1版。问题就在这里。
后面下载pyserial2.7,链接http://pypi.python.org/pypi/pyserial/2.7。
替换安装pyserial后,启动eMPL_client.py就能顺利收到DMP上传的数据了。
真是太感谢了!
最近没有更新,过段时间做自己的底盘的时候再更新。
不过你可以看看Fairchild的FMT-1030和FIS1100,这两款带算法。
如果你想快速的话...
y有更好的方案欢迎沟通。
用串口接收之后用excel做过表,要求不高还成。话说,这个库是官方的。要是你想让漂移和稳定性在0.5度以下很难。国外有个YEI的公司提供的稳定性能到0.05度,我都震惊了。
那你这个精度大约是在什么范围内啊,有没有稳定在1°啊~
稳定性还可以。精度就难说了,我说的是绝对精度。因为没有办法准确测量。而且受地点和校准影响较高。但是粗略估计应该能够在正负5度的偏差。但是有干扰时,就另说。建议看看专业的测量数据。