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

F4-Discovery连接MPU9250【MD6.12 keil移植】 精华  

[复制链接]
watershade 发布时间:2015-8-8 14:46
阅读主题, 点击返回1楼
1 收藏 12 评论118 发布时间:2015-8-8 14:46
118个回答
watershade 回答时间:2016-3-31 13:37:28
lzm1019 发表于 2016-3-30 21:25
多谢!
关于物理连线,确认过多次,应该没有问题。
昨天调试,发现无法跳转main(),实际应操作失误。但具 ...

首先你不能选择SetSysClock,这样时钟的配置应该会除了问题。之前你的程序卡在这里,就是因为时钟设置的问题。如果你用的是nucleo,那么主芯片的时钟是从另一个片子的MCO来得,是8MHZ。我记得之前观察程序发现使用的是外部时钟。时钟的配置需要做一些修改,怎么修改呐。在main函数的开头,有boardInit的部分,这里面的开始就是配置了一下系统时钟,然后是systick。你而SystemCoreClock是系统的宏定义,在原始代码中是168000000。而411则不是这个数值,这个数值与你最终配置的有关。但是这里你是直接追踪不到时钟配置的,时钟的配置是在SystemInit里面执行的,起初会使用HSI时钟,然后再通过SetSysClock()来是能PLL时钟。但是这部分的具体工作你最好查一下网络。
lzm1019 回答时间:2016-3-31 16:39:08
watershade 发表于 2016-3-31 13:37
首先你不能选择SetSysClock,这样时钟的配置应该会除了问题。之前你的程序卡在这里,就是因为时钟设置的 ...

多谢!
按您的指导,仔细梳理系统时钟相关的配置:
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,以满足后面的代码应用呢?若是,在何处调整代码呢?
watershade 回答时间:2016-4-1 22:56:27
lzm1019 发表于 2016-3-31 16:39
多谢!
按您的指导,仔细梳理系统时钟相关的配置:
1)启动时,在System_stm32f4xx.c中给了宏定义 System ...

起初都是使用HSI然后使用SystemInit里面的程序来设置成HSE pll 至于在哪里设置的,你如果使用keil可以全局搜索一下,我记着应该是在s文件中。
建议你在搜索一下时钟设置的文章,那里面的介绍的更多。祝你成功
乌了个龟的 回答时间:2016-4-26 19:54:47
lzm1019 发表于 2016-3-30 15:16
再麻烦您一下。
之前您提到的STM32F411的移植代码,还能找到吗?可否提供我参考下。多谢!
============= ...

你好!
我在运行eMPL-Client.py时也遇到和你一模一样的问题,请问你现在是否已经解决,如果已解决能否请教一下解决方法,谢谢!
lzm1019 回答时间:2016-5-7 11:48:05
乌了个龟的 发表于 2016-4-26 19:54
你好!
我在运行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上传的数据了。
乌了个龟的 回答时间:2016-5-23 08:51:18
lzm1019 发表于 2016-5-7 11:48
eMPL_client.py的问题,解决了。版本的问题。
Invensense的文档(Motion Driver 6.12 – Getting Started ...

真是太感谢了!
Kiwi000 回答时间:2016-6-30 22:37:48
楼上各位大神,请问这个可以移植到STM32F1系列上嘛?
charmyoung 回答时间:2016-7-31 17:27:14
赞赞赞赞赞赞赞赞赞赞赞赞!!!
charmyoung 回答时间:2016-7-31 17:27:34
还有更新的代码么?!
watershade 回答时间:2016-8-1 23:27:52
charmyoung 发表于 2016-7-31 17:27
还有更新的代码么?!

最近没有更新,过段时间做自己的底盘的时候再更新。
不过你可以看看Fairchild的FMT-1030和FIS1100,这两款带算法。
如果你想快速的话...
y有更好的方案欢迎沟通。

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

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