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

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
$ G/ X5 P) X; J首先你不能选择SetSysClock,这样时钟的配置应该会除了问题。之前你的程序卡在这里,就是因为时钟设置的 ...

) S; D; k- N. a2 h$ F8 h# q& q多谢!
5 v! @2 M7 Y; _4 W$ H0 K按您的指导,仔细梳理系统时钟相关的配置:% V# Z7 e6 ]- w/ L8 w9 I0 ^
1)启动时,在System_stm32f4xx.c中给了宏定义 SystemCoreClock = 100000000; 即100MHz;但systemInit()并未定义 SystemCoreClock;而是调用SetSysClk()来配置系统时钟。若采用您所提到的nucleo,时钟由外部供给,则需定义USE_HSE_BYPASS,进而HSE_ON,使得系统时钟配置为PLL;6 H8 C6 e9 O  h7 a9 g/ Y
不过,我的PCB是自制的,使用板上8MHz Resonator(无源);与nucleo不同,故未定义 USE_HSE_BYPASS。
1 g) f3 w& o# p2)进入main()后,调用board_init();最初,调用SystemCoreClockUpdate(); 这个函数我看后,理解就是配置SystemCoreClock = HSI_VALUE; 即16MHz,另外AHB预分频,但是实际取的是AHBPrescTable[[0],即不分频,SystemCoreClock保持16MHz不变。
, K, q; T& |1 i4 U( d综述之,在启动文件里,并未设置系统时钟 = HSE,且将RCC->CFGR复位为0;那么进入main()后调用SystemCoreClockUpdate()配置系统时钟时,tmp = RCC->CFGR & RCC_CFGR_SWS,其值为0;经switch(tmp)选择,SystemCoreClock = HSI_VALUE。也就是说,在启动和初始化两个阶段,系统时钟一直未配置成PLL。8 v/ q6 c* u) r
那么,系统时钟是否必须配置成100MHz,以满足后面的代码应用呢?若是,在何处调整代码呢?
watershade 回答时间:2016-4-1 22:56:27
lzm1019 发表于 2016-3-31 16:39% f5 E5 X8 m9 I& V+ D
多谢!8 d8 }  Y! X* L5 Z$ A3 q6 A, k/ i
按您的指导,仔细梳理系统时钟相关的配置:6 a$ X+ G0 Q. K5 N8 H
1)启动时,在System_stm32f4xx.c中给了宏定义 System ...
0 R# d" n3 A7 z8 [% ^
起初都是使用HSI然后使用SystemInit里面的程序来设置成HSE pll 至于在哪里设置的,你如果使用keil可以全局搜索一下,我记着应该是在s文件中。; y+ `0 u; [9 ?0 Z  u
建议你在搜索一下时钟设置的文章,那里面的介绍的更多。祝你成功
乌了个龟的 回答时间:2016-4-26 19:54:47
lzm1019 发表于 2016-3-30 15:16
. \, }3 J9 }% a- [6 D1 B) a3 l: _再麻烦您一下。
8 ^6 G* |& `. V& d1 }" N4 C0 e2 T之前您提到的STM32F411的移植代码,还能找到吗?可否提供我参考下。多谢!
  q: P+ |8 {# B. e& R============= ...

0 S0 Q! v, X" {0 a' ]你好!8 o  i7 S6 H5 i' z& E$ d
我在运行eMPL-Client.py时也遇到和你一模一样的问题,请问你现在是否已经解决,如果已解决能否请教一下解决方法,谢谢!- |% U! ^. i" e  w- |( o( B
lzm1019 回答时间:2016-5-7 11:48:05
乌了个龟的 发表于 2016-4-26 19:54& m$ d* X- a7 W$ `9 V9 a  z" ]
你好!
3 t, m$ r) E$ U; V我在运行eMPL-Client.py时也遇到和你一模一样的问题,请问你现在是否已经解决,如果已解决能否请 ...
0 i. s0 m7 a. O/ ~; j  H
eMPL_client.py的问题,解决了。版本的问题。
+ R5 M1 Z/ d: }0 PInvensense的文档(Motion Driver 6.12 – Getting Started Guide )里所给出的链接如下:
( {4 Q1 @; b$ I-------------------. B6 B9 z7 p1 l: n
Python: http://www.python.org/downloads/ 0 K: W: r3 m# U3 w: \) L: Z* ]
Pyserial: http://pypi.python.org/pypi/pyserial   n8 V% \0 M( O) \( j
Pygame: http://www.pygame.org/download.shtml
/ ]( ^  ^% q, u, a1 J8 V------------------
  _0 g' I( O! ~) F$ x7 C+ _其中:
3 ?; d' }' q+ G. Epython我选择的是2.7版;但pyserial是按链接下载了3.0.1版。问题就在这里。
& s, ]; E2 }3 W) u, B- i$ d后面下载pyserial2.7,链接http://pypi.python.org/pypi/pyserial/2.7# k/ X% d* l/ m4 h; s/ m. V. G( I
替换安装pyserial后,启动eMPL_client.py就能顺利收到DMP上传的数据了。
乌了个龟的 回答时间:2016-5-23 08:51:18
lzm1019 发表于 2016-5-7 11:486 D( @6 r& h# E5 Q1 }  N
eMPL_client.py的问题,解决了。版本的问题。
' `  v: N  N) S; g/ mInvensense的文档(Motion Driver 6.12 – Getting Started ...

) t1 Z4 B! M: b) }真是太感谢了!
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
1 J" f* S5 j0 A) l还有更新的代码么?!
% g' y7 U6 ]* V; o0 h* N
最近没有更新,过段时间做自己的底盘的时候再更新。! H6 p: t$ C# x2 |# q( }7 k
不过你可以看看Fairchild的FMT-1030和FIS1100,这两款带算法。  g/ o2 o+ M# k5 ^! G
如果你想快速的话...
0 E, q" L+ |% a: i4 a4 O7 f0 Py有更好的方案欢迎沟通。
春夜喜小雨 回答时间:2016-9-19 22:44:59
大神,你有没有测试你这个三个角度,准确性以及稳定性怎么样子~
watershade 回答时间:2016-9-20 00:05:57
春夜喜小雨 发表于 2016-9-19 22:44
# V5 c, f7 \8 l' ^; b9 A大神,你有没有测试你这个三个角度,准确性以及稳定性怎么样子~

% J' c! D4 h' x8 N$ w, q& ?, j用串口接收之后用excel做过表,要求不高还成。话说,这个库是官方的。要是你想让漂移和稳定性在0.5度以下很难。国外有个YEI的公司提供的稳定性能到0.05度,我都震惊了。
春夜喜小雨 回答时间:2016-9-21 10:39:21
watershade 发表于 2016-9-20 00:05
9 k' h  K0 _+ k% J4 u& C用串口接收之后用excel做过表,要求不高还成。话说,这个库是官方的。要是你想让漂移和稳定性在0.5度以下 ...

* z& L1 \( R" D2 a/ O那你这个精度大约是在什么范围内啊,有没有稳定在1°啊~
watershade 回答时间:2016-9-24 22:04:13
春夜喜小雨 发表于 2016-9-21 10:393 K8 D1 J1 _+ P1 P0 m) H$ ~  E
那你这个精度大约是在什么范围内啊,有没有稳定在1°啊~
* N. l% W* V2 |7 b; V
稳定性还可以。精度就难说了,我说的是绝对精度。因为没有办法准确测量。而且受地点和校准影响较高。但是粗略估计应该能够在正负5度的偏差。但是有干扰时,就另说。建议看看专业的测量数据。
zbber 回答时间:2016-9-24 23:55:40
我只是路过打酱油的,嘿嘿
/ P/ q9 [" d+ D3 M& b
春夜喜小雨 回答时间:2016-10-17 20:49:40
你是怎么校准的,是不是mpl在启动之前就能起到校准的作用

所属标签

相似分享

官网相关资源

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