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

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
# e6 H* F. y  M首先你不能选择SetSysClock,这样时钟的配置应该会除了问题。之前你的程序卡在这里,就是因为时钟设置的 ...

! r: g: @7 h7 X1 J# {# A多谢!2 z3 g3 f# b9 E) W* {
按您的指导,仔细梳理系统时钟相关的配置:
% e# }% }. @/ ^. v% s2 W1)启动时,在System_stm32f4xx.c中给了宏定义 SystemCoreClock = 100000000; 即100MHz;但systemInit()并未定义 SystemCoreClock;而是调用SetSysClk()来配置系统时钟。若采用您所提到的nucleo,时钟由外部供给,则需定义USE_HSE_BYPASS,进而HSE_ON,使得系统时钟配置为PLL;, k" j" I5 _4 B0 s- j
不过,我的PCB是自制的,使用板上8MHz Resonator(无源);与nucleo不同,故未定义 USE_HSE_BYPASS。4 {7 F7 X& c; l1 S$ s
2)进入main()后,调用board_init();最初,调用SystemCoreClockUpdate(); 这个函数我看后,理解就是配置SystemCoreClock = HSI_VALUE; 即16MHz,另外AHB预分频,但是实际取的是AHBPrescTable[[0],即不分频,SystemCoreClock保持16MHz不变。# j$ w+ V% H" J$ i) u  ?
综述之,在启动文件里,并未设置系统时钟 = HSE,且将RCC->CFGR复位为0;那么进入main()后调用SystemCoreClockUpdate()配置系统时钟时,tmp = RCC->CFGR & RCC_CFGR_SWS,其值为0;经switch(tmp)选择,SystemCoreClock = HSI_VALUE。也就是说,在启动和初始化两个阶段,系统时钟一直未配置成PLL。
) }& z! m! s( L) v" B, w8 ?那么,系统时钟是否必须配置成100MHz,以满足后面的代码应用呢?若是,在何处调整代码呢?
watershade 回答时间:2016-4-1 22:56:27
lzm1019 发表于 2016-3-31 16:39: I! @1 a  B2 S! R. `
多谢!% Z. L7 S2 k% E
按您的指导,仔细梳理系统时钟相关的配置:
5 `/ d" M0 r5 G8 t' q1 g1 d! ~1)启动时,在System_stm32f4xx.c中给了宏定义 System ...
5 d) o) O5 \  Y5 U! U, E6 i$ K$ R
起初都是使用HSI然后使用SystemInit里面的程序来设置成HSE pll 至于在哪里设置的,你如果使用keil可以全局搜索一下,我记着应该是在s文件中。
" \! A* I4 m/ j, e建议你在搜索一下时钟设置的文章,那里面的介绍的更多。祝你成功
乌了个龟的 回答时间:2016-4-26 19:54:47
lzm1019 发表于 2016-3-30 15:16
4 ~& j  {$ a/ ?* r. p& a再麻烦您一下。
3 k3 U  i8 ?7 _% u; j6 u" ^! O之前您提到的STM32F411的移植代码,还能找到吗?可否提供我参考下。多谢!* ^8 L$ x8 k8 k/ ?5 e/ T0 _
============= ...

8 h9 d2 L, }& S2 V5 g你好!
/ _- ~6 X) b2 j8 K0 i5 }3 v/ F我在运行eMPL-Client.py时也遇到和你一模一样的问题,请问你现在是否已经解决,如果已解决能否请教一下解决方法,谢谢!
3 N, D5 z# q5 ?3 h' m
lzm1019 回答时间:2016-5-7 11:48:05
乌了个龟的 发表于 2016-4-26 19:54
7 o) }4 ?, O3 X+ F+ L你好!
+ B8 `- `, w  l* G6 K( A我在运行eMPL-Client.py时也遇到和你一模一样的问题,请问你现在是否已经解决,如果已解决能否请 ...
  n. N/ t3 l: j  t% L5 i  C! D0 c
eMPL_client.py的问题,解决了。版本的问题。
' n' l2 d8 ^; z4 DInvensense的文档(Motion Driver 6.12 – Getting Started Guide )里所给出的链接如下:1 J9 L# e5 G1 G" {/ a
-------------------
) u$ }& O9 y" ^; }Python: http://www.python.org/downloads/
7 k8 O! a/ z0 N- }Pyserial: http://pypi.python.org/pypi/pyserial : `% T  s3 F1 H, F6 \
Pygame: http://www.pygame.org/download.shtml
. J; `" A  N; U' x( x------------------& K1 I5 |5 R1 q" `# H
其中:
1 @3 q3 x5 l: E  j3 ~- Zpython我选择的是2.7版;但pyserial是按链接下载了3.0.1版。问题就在这里。& T+ s) G) ~; ^
后面下载pyserial2.7,链接http://pypi.python.org/pypi/pyserial/2.7- b, Q! P/ ]4 M* d
替换安装pyserial后,启动eMPL_client.py就能顺利收到DMP上传的数据了。
乌了个龟的 回答时间:2016-5-23 08:51:18
lzm1019 发表于 2016-5-7 11:486 h) r& O' l8 i" ?. _
eMPL_client.py的问题,解决了。版本的问题。" D; Q) n+ A7 Y' Z
Invensense的文档(Motion Driver 6.12 – Getting Started ...

+ n; n1 k2 Z1 ^& T真是太感谢了!
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
- }+ x, Y) ~$ Y; L还有更新的代码么?!

* ]- [1 b5 k& d% w6 C  c最近没有更新,过段时间做自己的底盘的时候再更新。3 M" U2 u: Q% K" u) q5 |7 k
不过你可以看看Fairchild的FMT-1030和FIS1100,这两款带算法。/ x" ~2 h7 u' A6 H
如果你想快速的话...0 P3 b$ y+ p9 O6 s% g' o
y有更好的方案欢迎沟通。
春夜喜小雨 回答时间:2016-9-19 22:44:59
大神,你有没有测试你这个三个角度,准确性以及稳定性怎么样子~
watershade 回答时间:2016-9-20 00:05:57
春夜喜小雨 发表于 2016-9-19 22:44
: N0 \. E6 c) [; O) W& Y& L! {) L7 j大神,你有没有测试你这个三个角度,准确性以及稳定性怎么样子~
. Q. j, g  H  Q, ]% p8 d
用串口接收之后用excel做过表,要求不高还成。话说,这个库是官方的。要是你想让漂移和稳定性在0.5度以下很难。国外有个YEI的公司提供的稳定性能到0.05度,我都震惊了。
春夜喜小雨 回答时间:2016-9-21 10:39:21
watershade 发表于 2016-9-20 00:05
/ R* Z4 h3 ]4 W/ U4 n/ }用串口接收之后用excel做过表,要求不高还成。话说,这个库是官方的。要是你想让漂移和稳定性在0.5度以下 ...

6 D" ]$ v# h5 _4 L' q那你这个精度大约是在什么范围内啊,有没有稳定在1°啊~
watershade 回答时间:2016-9-24 22:04:13
春夜喜小雨 发表于 2016-9-21 10:399 H; e) V( I+ y( U& ?
那你这个精度大约是在什么范围内啊,有没有稳定在1°啊~
6 N9 j* N4 L( d: H8 M/ ~2 z: ^; l
稳定性还可以。精度就难说了,我说的是绝对精度。因为没有办法准确测量。而且受地点和校准影响较高。但是粗略估计应该能够在正负5度的偏差。但是有干扰时,就另说。建议看看专业的测量数据。
zbber 回答时间:2016-9-24 23:55:40
我只是路过打酱油的,嘿嘿
5 m/ U) m4 ?; _2 v* q. N
春夜喜小雨 回答时间:2016-10-17 20:49:40
你是怎么校准的,是不是mpl在启动之前就能起到校准的作用

所属标签

相似分享

官网相关资源

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