分享到:
Step1 :将原启动文件替换为 startup_stm32f10x_hd.s
Step2:尝试编译,报错,发现 #include "upload.h" #include "math.h" 这两句的“”
紧跟在 #include 后边,分别加上空格,搞定
Step3:再次编译依然报错,路径中有乱码,于是进入文件夹,发现有一文件夹名为
“上位机”,将其改为 computer ,然后在 manage project items 和 tagart 中都修改
文件路径。
Step4:再次编译,有一个
warning ,..\HARDWARE\MPU6050\inv_mpu_dmp_motion_driver.c(1344): warning:
#223-D: function "get_ms" declared implicitly 。暂时无视
Step5:修改 devcie ,将器件修改为 STM32F103RC,晶振频率改为 8MHz
Step6:硬件连接,
#define SCL PEout(8)
………..
#define SDA PEout(9) ,
可以看出楼主的 6050 的 SCL 和 SDA 分别接在了 PE8 和 PE9 上,而我准备接在 PC12
和 PC11 上,与原子哥的 I2C 实验例程相同,故改为
#define SCL PCout(12)
………..
#define SDA PCout(11) ,其他地方做同样修改
Step7:检查 6050 的地址,为 0x68 ,与我的 6050 模块一样,不用改
Step8:检查 USART 的输出引脚,为 PA9、PA10,和 miniv3 板子一样,不用改
Step9:编译,使用软件仿真 ok,使用 jlink 仿真,有问题,不能擦写 flash。发现问题
原因是 Jlink 设置 flash download 那里没有选择 flash device 。选择 512k ,jlink 仿真
ok~
Step10 :烧写程序, mini 开发板显示 TFT test 95 ,开发板无其他反应
Step11 :突然想起来第六步改过之后没有使能 portc 时钟,没有设置 IO 状态,找到
void i2cInit(void)
{ RCC->APB2ENR|=1<<4; // 使能 PORTE 口时钟
GPIOE->CRH&=0XFFFFFF00;
GPIOE->CRH|=0X00000055;//IO 状态设置
改为: RCC->APB2ENR|=1<<4; // 使能 PORTC 口时钟
GPIOC->CRH&=0XFFF00FFF;
GPIOC->CRH|=0X00033000;//IO 状态设置
GPIOC->ODR=3<<11; //PC11/12 输出高 和原子哥的 I2C 实验相同。
改完之后,这下牛逼了。。。 LCD 整个不亮了啊,但是串口那边接收到了
pu initialization complete......
mpu_set_sensor complete ......
mpu_configure_fifo complete ......
mpu_set_sample_rate complete ......
dmp_load_motion_driver_firmware complete ......
dmp_set_ori
说明 6050 初始化成功了,有一点成果了! ,全速运行。 Oye,有串口输出!!!有数
据!!
(0 )
(0 )


-
- Sandsinwater
-
0 发帖46 回复192 积分
- 私信他 +关注
-
- 普通用户_2b5490f97fbf4b4
-
0 发帖39 回复178 积分
- 私信他 +关注
发表回复
块
导
航
举报
请选择举报类别
- 广告垃圾
- 违规内容
- 恶意灌水
- 重复发帖