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

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

[复制链接]
watershade 发布时间:2015-8-8 14:46
阅读主题, 点击返回1楼
赞 1 收藏 12 评论117 发布时间:2015-8-8 14:46
117个回答
lzm1019 回答时间:2016-3-31 16:39:08
watershade 发表于 2016-3-31 13:37
5 y7 W& F& P" s9 ^% o% U' b" J1 U首先你不能选择SetSysClock,这样时钟的配置应该会除了问题。之前你的程序卡在这里,就是因为时钟设置的 ...
% [" J# K8 ~' B7 n( h4 Z: @  G' w
多谢!
% D6 i, H" ~) x, x! n1 [6 d按您的指导,仔细梳理系统时钟相关的配置:  b/ W( E% k+ m! K+ i4 S/ d& V7 D  l
1)启动时,在System_stm32f4xx.c中给了宏定义 SystemCoreClock = 100000000; 即100MHz;但systemInit()并未定义 SystemCoreClock;而是调用SetSysClk()来配置系统时钟。若采用您所提到的nucleo,时钟由外部供给,则需定义USE_HSE_BYPASS,进而HSE_ON,使得系统时钟配置为PLL;
& X: m1 o  u7 Z- Q! [不过,我的PCB是自制的,使用板上8MHz Resonator(无源);与nucleo不同,故未定义 USE_HSE_BYPASS。
- T: O8 ^/ Q4 X/ k# @' [2)进入main()后,调用board_init();最初,调用SystemCoreClockUpdate(); 这个函数我看后,理解就是配置SystemCoreClock = HSI_VALUE; 即16MHz,另外AHB预分频,但是实际取的是AHBPrescTable[[0],即不分频,SystemCoreClock保持16MHz不变。
6 @5 O, W( n# k  u8 p& I综述之,在启动文件里,并未设置系统时钟 = HSE,且将RCC->CFGR复位为0;那么进入main()后调用SystemCoreClockUpdate()配置系统时钟时,tmp = RCC->CFGR & RCC_CFGR_SWS,其值为0;经switch(tmp)选择,SystemCoreClock = HSI_VALUE。也就是说,在启动和初始化两个阶段,系统时钟一直未配置成PLL。
  Z5 I3 r* o- i" ^" k那么,系统时钟是否必须配置成100MHz,以满足后面的代码应用呢?若是,在何处调整代码呢?
watershade 回答时间:2016-4-1 22:56:27
lzm1019 发表于 2016-3-31 16:39
9 X  v; L/ Q4 M* @. A多谢!
& U; W* p' F8 q/ r; }# H7 L7 k按您的指导,仔细梳理系统时钟相关的配置:# O6 U* Z; {& p- w$ V/ T
1)启动时,在System_stm32f4xx.c中给了宏定义 System ...
* {% X0 _4 a" I( g& ~+ Z
起初都是使用HSI然后使用SystemInit里面的程序来设置成HSE pll 至于在哪里设置的,你如果使用keil可以全局搜索一下,我记着应该是在s文件中。
% O, i) h8 c$ a% {建议你在搜索一下时钟设置的文章,那里面的介绍的更多。祝你成功
乌了个龟的 回答时间:2016-4-26 19:54:47
lzm1019 发表于 2016-3-30 15:16
! f* F5 I, v- F* r再麻烦您一下。- G( c5 y! E( l
之前您提到的STM32F411的移植代码,还能找到吗?可否提供我参考下。多谢!& E( G7 {# W1 s. X
============= ...

6 ~& D; o# Q, M1 C* u你好!# w' O9 A  b6 B/ d- n2 J2 g( ]' S
我在运行eMPL-Client.py时也遇到和你一模一样的问题,请问你现在是否已经解决,如果已解决能否请教一下解决方法,谢谢!
" f# {' S0 i8 U  y0 k) m; r% F
lzm1019 回答时间:2016-5-7 11:48:05
乌了个龟的 发表于 2016-4-26 19:54) v% h# p0 c) o3 e
你好!
: v; J9 [" g, h1 I5 p我在运行eMPL-Client.py时也遇到和你一模一样的问题,请问你现在是否已经解决,如果已解决能否请 ...

' c6 ^- L7 Z6 Z; f" k  S2 X! KeMPL_client.py的问题,解决了。版本的问题。
6 ^1 n2 Y' ]/ n! BInvensense的文档(Motion Driver 6.12 – Getting Started Guide )里所给出的链接如下:
! u$ }1 Q& f5 V2 Z- }  w% a-------------------! x4 e5 s& k0 `
Python: http://www.python.org/downloads/ & y; P# k* _  z& w
Pyserial: http://pypi.python.org/pypi/pyserial 9 U) L! i7 c$ t# W5 w1 A
Pygame: http://www.pygame.org/download.shtml ) n5 \6 ?6 C+ W, G2 Z4 e
------------------
8 [* b, ?6 ]+ O. X" _/ ]) [其中:
) w, n* P9 K8 w# y, m1 M: Spython我选择的是2.7版;但pyserial是按链接下载了3.0.1版。问题就在这里。
( P* L) O8 y; p3 P' N0 J后面下载pyserial2.7,链接http://pypi.python.org/pypi/pyserial/2.7。7 f6 W, J  k$ }5 f
替换安装pyserial后,启动eMPL_client.py就能顺利收到DMP上传的数据了。
乌了个龟的 回答时间:2016-5-23 08:51:18
lzm1019 发表于 2016-5-7 11:48
6 P- P  k* g$ K- _7 peMPL_client.py的问题,解决了。版本的问题。; `- I) M$ e8 G, g
Invensense的文档(Motion Driver 6.12 – Getting Started ...

; M! \. R; |& x3 ~0 A. ?/ o真是太感谢了!
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
) Z8 l% r4 V; h7 o还有更新的代码么?!
+ S, D6 e) K. N$ n$ g. ]
最近没有更新,过段时间做自己的底盘的时候再更新。
- m7 c$ O$ l, ?不过你可以看看Fairchild的FMT-1030和FIS1100,这两款带算法。; n0 N* D# H! }5 Z+ f. Q( X, v9 b
如果你想快速的话...
  M% e  m8 N7 u) b* by有更好的方案欢迎沟通。
春夜喜小雨 回答时间:2016-9-19 22:44:59
大神,你有没有测试你这个三个角度,准确性以及稳定性怎么样子~
watershade 回答时间:2016-9-20 00:05:57
春夜喜小雨 发表于 2016-9-19 22:44) W9 |1 D! d5 O# c+ c3 e; D
大神,你有没有测试你这个三个角度,准确性以及稳定性怎么样子~

$ s# L: W6 x& |$ c5 X用串口接收之后用excel做过表,要求不高还成。话说,这个库是官方的。要是你想让漂移和稳定性在0.5度以下很难。国外有个YEI的公司提供的稳定性能到0.05度,我都震惊了。
春夜喜小雨 回答时间:2016-9-21 10:39:21
watershade 发表于 2016-9-20 00:05
! r% W5 ^4 Q5 |# V6 ~用串口接收之后用excel做过表,要求不高还成。话说,这个库是官方的。要是你想让漂移和稳定性在0.5度以下 ...

4 t* G2 {# d/ m" q$ }; A( f那你这个精度大约是在什么范围内啊,有没有稳定在1°啊~
watershade 回答时间:2016-9-24 22:04:13
春夜喜小雨 发表于 2016-9-21 10:39
) Y4 B$ c6 E, ?1 w& o3 N" f那你这个精度大约是在什么范围内啊,有没有稳定在1°啊~
6 E$ Z* x% T" P4 U) v
稳定性还可以。精度就难说了,我说的是绝对精度。因为没有办法准确测量。而且受地点和校准影响较高。但是粗略估计应该能够在正负5度的偏差。但是有干扰时,就另说。建议看看专业的测量数据。
zbber 回答时间:2016-9-24 23:55:40
我只是路过打酱油的,嘿嘿1 @) C5 Y8 \$ L4 C
春夜喜小雨 回答时间:2016-10-17 20:49:40
你是怎么校准的,是不是mpl在启动之前就能起到校准的作用

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版