怎样如何查看历史浏览记录tm6050的历史记录

亚马逊意外错误报歉,由于程序执行时,遇到意外错误,您刚刚操作没有执行成功,请稍后重试。或将此错误报告给我们的客服中心:推荐您,确认您的操作无误后,再继续其他操作。您可以通过亚马逊,获得更多的帮助。后使用快捷导航没有帐号?
查看: 4886|回复: 35
TM4C123GH6PM 硬件IIC读取
MPU6050(DMP库哦)
在线时间12 小时
芯币291 枚
TA的帖子TA的资源
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
已有 120 人购买&
本主题需向作者支付 1 枚芯币 才能浏览
在线时间12 小时
芯币291 枚
TA的帖子TA的资源
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
TivaWare_C_Series-2.1.0.12573 这你你在那下载的我没找啊
TI官网给的例程。EEWROLD提供的TI视频里面有链接。下载后安装就能用了
在线时间44 小时
芯币204 枚
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
感谢楼主分享!
在线时间19 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
求楼主指教啊,还是不会
你是什么问题。前些日子不在线&
你是什么问题。我是CCS6的工程。。直接用的话,要在预定义设置里面设置一些预定义的。。。或者你在#include之前 #define 也行。。。&
在线时间11 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
打开工程失败,我的是CCS.V5版本的 。楼主的IIC为什么没用到官方写的6050的库。是因为不好用嘛?
我用的是CCS6.0 会不会你的不兼容啊? 不过我同学用5 的可以 用我的程序啊。。。你是打不开,还是编译不通过?&
用的是官方DMP(原版是430——usb通信的的)移植的。。不是用CCS5自带的样例MPU6050.。。另外我用的CCS6.没有那些样例程序,so········&
在线时间8 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
打开工程失败
我用的是CCS6 你失败是编译不过嘛?&
在线时间12 小时
芯币291 枚
TA的帖子TA的资源
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
打开工程失败,我的是CCS.V5版本的 。楼主的IIC为什么没用到官方写的6050的库。是因为不好用嘛?
用的是官方DMP(原版是430——usb通信的的)移植的。。不是用CCS5自带的样例MPU6050.。。另外我用的CCS6.没有那些样例程序,so········
在线时间12 小时
芯币291 枚
TA的帖子TA的资源
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
求楼主指教啊,还是不会
你是什么问题。我是CCS6的工程。。直接用的话,要在预定义设置里面设置一些预定义的。。。或者你在#include之前 #define 也行。。。
在线时间12 小时
芯币291 枚
TA的帖子TA的资源
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
打开工程失败,我的是CCS.V5版本的 。楼主的IIC为什么没用到官方写的6050的库。是因为不好用嘛?
我用的是CCS6.0 会不会你的不兼容啊? 不过我同学用5 的可以 用我的程序啊。。。你是打不开,还是编译不通过?
在线时间12 小时
芯币291 枚
TA的帖子TA的资源
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
打开工程失败
我用的是CCS6 你失败是编译不过嘛?
在线时间12 小时
芯币291 枚
TA的帖子TA的资源
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
我自己能下载而且能编译过哦。。。
在线时间8 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
TivaWare_C_Series-2.1.0.12573 这你你在那下载的我没找啊
TI官网给的例程。EEWROLD提供的TI视频里面有链接。下载后安装就能用了&
在线时间14 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
请问楼主,设置系统时钟为3.2MHz,我把它改为50MHz就出现初始化失败,单步调试发现问题在,就想问下如果用3.2MHz的做四轴平衡控制是不是太低了??
本帖子中包含更多资源
才可以下载或查看,没有帐号?
3.2M也差不多了。够用的了。&
这个问题是因为单步调试。。单步调试往往会死在这个你图片的那个地方。你断开连接重新供电,然后全速运行,用液晶或者串口或者LED等,作为终端显示,再试试。&
在线时间14 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
最高我只试到SysCtlClockSet(SYSCTL_SYSDIV_9 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ);& &20几MHz吧
基本上一直用40或者50M.感觉40M比较稳定&
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
自己移植好久了,一直有BUG,感谢分享
在线时间17 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
是直接能用的吗
能直接用。。先要直接编译通过&
在线时间11 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
唉,不成功,读取的ID号不对
在线时间57 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
给个地址我邮件给你&
在线时间12 小时
芯币291 枚
TA的帖子TA的资源
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
给个地址我邮件给你
在线时间12 小时
芯币291 枚
TA的帖子TA的资源
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
是直接能用的吗
能直接用。。先要直接编译通过
在线时间12 小时
芯币291 枚
TA的帖子TA的资源
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
一粒金砂(中级), 积分 14, 距离下一级还需 186 积分
最高我只试到SysCtlClockSet(SYSCTL_SYSDIV_9 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ);&&...
基本上一直用40或者50M.感觉40M比较稳定
Powered by
逛了这许久,何不进去瞧瞧?TM4C123GxL MPU6050读出陀螺仪和加速度计的值全为0 - TM4C 微控制器 - 德州仪器在线技术支持社区
TM4C123GxL MPU6050读出陀螺仪和加速度计的值全为0
发表于2年前
<input type="hidden" id="hGroupID" value="41"
工程上传了附件,下面是主函数&/p>
&p>int&br>main(void)&br>{&br> char a[2];&br> int_fast32_t i32IPart[16], i32FPart[16];&br> uint_fast32_t ui32Idx, ui32CompDCMS&br> float pfData[13];&br> float *pfAccel, *pfGyro, *pfMag, *pfEulers, *pfQ&/p>
&p>//&br> // Initialize convenience pointers that clean up and clarify the code&br> // meaning. We want all the data in a single contiguous array so that&br> // we can make our pretty printing easier later.&br> //&br> pfAccel = pfD&br> pfGyro = pfData + 3;&br> pfEulers = pfData + 6;&br> pfQuaternion = pfData + 9;&/p>
&p>//&br> //&E&&O&A&I&&I&sup3;&E&&O&O&I&40MHz&br> //&br> ROM_SysCtlClockSet(SYSCTL_SYSDIV_5 | SYSCTL_USE_PLL | SYSCTL_XTAL_16MHZ |&br> SYSCTL_OSC_MAIN);&/p>
&p>//&br> // &E&sup1;&A&UGPIOB&O&ETH;&&I&br> //&br> ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);&/p>
&p>//&br> // &sup3;&&E&frac14;&&UART.&br> //&br> ConfigureUART();&/p>
&p>//&br> // &&&O&&E&frac34;&A&&ETH;&A&I&&br> //&br> UARTprintf(&\033[2JMPU6050 Raw Example\n&);&/p>
&p>//&br> // &E&&O&A&A&&&&&&N&O&E&&E&&&&br> //&br> g_pui32Colors[RED] = 0x8000;&br> g_pui32Colors[BLUE] = 0x8000;&br> g_pui32Colors[GREEN] = 0x0000;&/p>
&p>//&br> // &sup3;&&E&frac14;&&RGB&C&&&&br> //&br> RGBInit(0);&br> RGBColorSet(g_pui32Colors);&br> RGBIntensitySet(0.5f);&br> RGBEnable();&/p>
&p>//&br> // &E&sup1;&A&UI2C3&I&&E&&br> //&br> ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C3);&br> ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);&/p>
&p>//&br> // &A&&O&AI2C3&&AIO&I&PD0&&IPD1&br> //&br> ROM_GPIOPinConfigure(GPIO_PD0_I2C3SCL);&br> ROM_GPIOPinConfigure(GPIO_PD1_I2C3SDA);&/p>
&p>//&br> // &N&&O&IO&&&O&A&sup1;&&A&U&&A&A&&&&br> //&br> GPIOPinTypeI2CSCL(GPIO_PORTD_BASE, GPIO_PIN_0);&br> ROM_GPIOPinTypeI2C(GPIO_PORTD_BASE, GPIO_PIN_1);&/p>
&p>//&br> // &E&&O&A&O&ETH;&&I&O&&frac12;&A&&&sup2;&&&frac12;MPU6050&&A&O&ETH;&&I&ETH;&A&&A &br> //&br> ROM_GPIOPinTypeGPIOInput(GPIO_PORTB_BASE, GPIO_PIN_2);&br> GPIOIntEnable(GPIO_PORTB_BASE, GPIO_PIN_2);&br> ROM_GPIOIntTypeSet(GPIO_PORTB_BASE, GPIO_PIN_2, GPIO_FALLING_EDGE);&br> ROM_IntEnable(INT_GPIOB);&/p>
&p>//&br> // Keep only some parts of the systems running while in sleep mode.&br> // GPIOB is for the MPU6050 interrupt pin.&br> // UART0 is the virtual serial port&br> // TIMER0, TIMER1 and WTIMER5 are used by the RGB driver&br> // I2C3 is the I2C interface to the ISL29023&br> //&br> ROM_SysCtlPeripheralClockGating(true);&br> ROM_SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_GPIOB);&br> ROM_SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_UART0);&br> ROM_SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_TIMER0);&br> ROM_SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_TIMER1);&br> ROM_SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_I2C3);&br> ROM_SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_WTIMER5);&/p>
&p>//&br> // &E&sup1;&A&U&O&ETH;&&I&&&A&&AE&&br> //&br> ROM_IntMasterEnable();&/p>
&p>//&br> // &E&sup1;&A&UI2C3&I&&E&&br> //&br> I2CMInit(&g_sI2CInst, I2C3_BASE, INT_I2C3, 0xff, 0xff,&br> ROM_SysCtlClockGet());&/p>
&p>//&br> // &sup3;&&E&&&MPU6050&C&&&&br> //&br> MPU6050Init(&g_sMPU6050Inst, &g_sI2CInst, MPU6050_I2C_ADDRESS, MPU6050AppCallback, 0);&br> MPU6050AppI2CWait();&br> &br>// g_sMPU6050Inst.pui8Data[0] = MPU6050_CONFIG_DLPF_CFG_94_98;&br>// g_sMPU6050Inst.pui8Data[1] = MPU6050_GYRO_CONFIG_FS_SEL_250;&br>// g_sMPU6050Inst.pui8Data[2] = MPU6050_ACCEL_CONFIG_AFS_SEL_2G;&br>// MPU6050Write(&g_sMPU6050Inst, MPU6050_O_CONFIG, g_sMPU6050Inst.pui8Data, 3,&br>// MPU6050AppCallback, 0);&br>// MPU6050AppI2CWait();&br> MPU6050ReadModifyWrite(&g_sMPU6050Inst, MPU6050_O_ACCEL_CONFIG,&br> ~MPU6050_ACCEL_CONFIG_AFS_SEL_M,&br> MPU6050_ACCEL_CONFIG_AFS_SEL_4G, MPU6050AppCallback,&br> 0);&br> MPU6050AppI2CWait();&br> //&br> // &E&sup1;&A&U&E&A&E&&O&&E&frac34;&sup3;&&E&frac14;&&&I&&sup3;&E&br> //&br> RGBBlinkRateSet(1.0f);&/p>
&p>ui32CompDCMStarted = 0;&/p>
&p>while(1)&br> {&br> MPU6050DataRead(&g_sMPU6050Inst, MPU6050AppCallback, 0);&br> MPU6050AppI2CWait();&br> MPU6050DataAccelGetFloat(&g_sMPU6050Inst, pfAccel, pfAccel + 1, pfAccel + 2);&br> MPU6050DataGyroGetFloat(&g_sMPU6050Inst, pfGyro, pfGyro + 1, pfGyro + 2);&br> &br> int_fast32_t fAccel[3], fGyro[3];&br> &br> fAccel[0] = (int32_t)(pfAccel[0]);&br> fAccel[1] = (int32_t)(pfAccel[1]);&br> fAccel[2] = (int32_t)(pfAccel[2]);&br> fGyro[0] = (int32_t)(pfGyro[0]);&br> fGyro[1] = (int32_t)(pfGyro[1]);&br> fGyro[2] = (int32_t)(pfGyro[2]);&br> &br> UARTprintf(&\033[1;14H%010d %010d %010d\n\n&, fAccel[0], fAccel[1],fAccel[2]);&br> UARTprintf(&\033[2;14H%010d %010d %010d\n\n&, fGyro[0], fGyro[1], fGyro[2]);&br> }&br>}&/p>&div style=&clear:&>&/div>" />
TM4C123GxL MPU6050读出陀螺仪和加速度计的值全为0
此问题尚无答案
All Replies
工程上传了附件,下面是主函数
intmain(void){ char a[2]; int_fast32_t i32IPart[16], i32FPart[16]; uint_fast32_t ui32Idx, ui32CompDCMS float pfData[13]; float *pfAccel, *pfGyro, *pfMag, *pfEulers, *pfQ
// // Initialize convenience pointers that clean up and clarify the code // meaning. We want all the data in a single contiguous array so that // we can make our pretty printing easier later. // pfAccel = pfD pfGyro = pfData + 3; pfEulers = pfData + 6; pfQuaternion = pfData + 9;
// //&E&&O&A&I&&I&sup3;&E&&O&O&I&40MHz // ROM_SysCtlClockSet(SYSCTL_SYSDIV_5 | SYSCTL_USE_PLL | SYSCTL_XTAL_16MHZ | SYSCTL_OSC_MAIN);
// // &E&sup1;&A&UGPIOB&O&ETH;&&I // ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
// // &sup3;&&E&frac14;&&UART. // ConfigureUART();
// // &&&O&&E&frac34;&A&&ETH;&A&I& // UARTprintf(&\033[2JMPU6050 Raw Example\n&);
// // &E&&O&A&A&&&&&&N&O&E&&E&&& // g_pui32Colors[RED] = 0x8000; g_pui32Colors[BLUE] = 0x8000; g_pui32Colors[GREEN] = 0x0000;
// // &sup3;&&E&frac14;&&RGB&C&&& // RGBInit(0); RGBColorSet(g_pui32Colors); RGBIntensitySet(0.5f); RGBEnable();
// // &E&sup1;&A&UI2C3&I&&E& // ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C3); ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
// // &A&&O&AI2C3&&AIO&I&PD0&&IPD1 // ROM_GPIOPinConfigure(GPIO_PD0_I2C3SCL); ROM_GPIOPinConfigure(GPIO_PD1_I2C3SDA);
// // &N&&O&IO&&&O&A&sup1;&&A&U&&A&A&&& // GPIOPinTypeI2CSCL(GPIO_PORTD_BASE, GPIO_PIN_0); ROM_GPIOPinTypeI2C(GPIO_PORTD_BASE, GPIO_PIN_1);
// // &E&&O&A&O&ETH;&&I&O&&frac12;&A&&&sup2;&&&frac12;MPU6050&&A&O&ETH;&&I&ETH;&A&&A
// ROM_GPIOPinTypeGPIOInput(GPIO_PORTB_BASE, GPIO_PIN_2); GPIOIntEnable(GPIO_PORTB_BASE, GPIO_PIN_2); ROM_GPIOIntTypeSet(GPIO_PORTB_BASE, GPIO_PIN_2, GPIO_FALLING_EDGE); ROM_IntEnable(INT_GPIOB);
// // Keep only some parts of the systems running while in sleep mode. // GPIOB is for the MPU6050 interrupt pin. // UART0 is the virtual serial port // TIMER0, TIMER1 and WTIMER5 are used by the RGB driver // I2C3 is the I2C interface to the ISL29023 // ROM_SysCtlPeripheralClockGating(true); ROM_SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_GPIOB); ROM_SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_UART0); ROM_SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_TIMER0); ROM_SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_TIMER1); ROM_SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_I2C3); ROM_SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_WTIMER5);
// // &E&sup1;&A&U&O&ETH;&&I&&&A&&AE& // ROM_IntMasterEnable();
// // &E&sup1;&A&UI2C3&I&&E& // I2CMInit(&g_sI2CInst, I2C3_BASE, INT_I2C3, 0xff, 0xff, ROM_SysCtlClockGet());
// // &sup3;&&E&&&MPU6050&C&&& // MPU6050Init(&g_sMPU6050Inst, &g_sI2CInst, MPU6050_I2C_ADDRESS, MPU6050AppCallback, 0); MPU6050AppI2CWait(); // g_sMPU6050Inst.pui8Data[0] = MPU6050_CONFIG_DLPF_CFG_94_98;// g_sMPU6050Inst.pui8Data[1] = MPU6050_GYRO_CONFIG_FS_SEL_250;// g_sMPU6050Inst.pui8Data[2] = MPU6050_ACCEL_CONFIG_AFS_SEL_2G;// MPU6050Write(&g_sMPU6050Inst, MPU6050_O_CONFIG, g_sMPU6050Inst.pui8Data, 3,// MPU6050AppCallback, 0);// MPU6050AppI2CWait(); MPU6050ReadModifyWrite(&g_sMPU6050Inst, MPU6050_O_ACCEL_CONFIG, ~MPU6050_ACCEL_CONFIG_AFS_SEL_M, MPU6050_ACCEL_CONFIG_AFS_SEL_4G, MPU6050AppCallback, 0); MPU6050AppI2CWait(); // // &E&sup1;&A&U&E&A&E&&O&&E&frac34;&sup3;&&E&frac14;&&&I&&sup3;&E // RGBBlinkRateSet(1.0f);
ui32CompDCMStarted = 0;
while(1) { MPU6050DataRead(&g_sMPU6050Inst, MPU6050AppCallback, 0); MPU6050AppI2CWait(); MPU6050DataAccelGetFloat(&g_sMPU6050Inst, pfAccel, pfAccel + 1, pfAccel + 2); MPU6050DataGyroGetFloat(&g_sMPU6050Inst, pfGyro, pfGyro + 1, pfGyro + 2);
int_fast32_t fAccel[3], fGyro[3];
fAccel[0] = (int32_t)(pfAccel[0]); fAccel[1] = (int32_t)(pfAccel[1]); fAccel[2] = (int32_t)(pfAccel[2]); fGyro[0] = (int32_t)(pfGyro[0]); fGyro[1] = (int32_t)(pfGyro[1]); fGyro[2] = (int32_t)(pfGyro[2]);
UARTprintf(&\033[1;14H%010d %010d %010d\n\n&, fAccel[0], fAccel[1],fAccel[2]); UARTprintf(&\033[2;14H%010d %010d %010d\n\n&, fGyro[0], fGyro[1], fGyro[2]); }}
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
进士3545分
能否详细描述一下目前的状态。MCU与6050是否通信成功?
建议分步进行调试,可以参考sensorhub里面mpu9150的例程。
best regards
Best Regards
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
& & & &IIC初始化应该没有问题,示波器能打出对应管脚的波形。&我是参考的sensorhub里面mpu9150的例程,只是对函数名稍作了修改,直接烧录MPU9150的示例的能读出陀螺仪和加速度值,但是函数名修改后对出的值全为0;不知是不是初始化6050是有问题初始化也是直接参考9150后的:
MPU6050Init(&g_sMPU6050Inst, &g_sI2CInst, MPU6050_I2C_ADDRESS, MPU6050AppCallback, 0); MPU6050AppI2CWait();
g_sMPU6050Inst.pui8Data[0] = MPU6050_CONFIG_DLPF_CFG_94_98; g_sMPU6050Inst.pui8Data[1] = MPU6050_GYRO_CONFIG_FS_SEL_250; g_sMPU6050Inst.pui8Data[2] = MPU6050_ACCEL_CONFIG_AFS_SEL_2G; MPU6050Write(&g_sMPU6050Inst, MPU6050_O_CONFIG, g_sMPU6050Inst.pui8Data, 3, MPU6050AppCallback, 0); MPU6050AppI2CWait();
// // Configure the data ready interrupt pin output of the MPU6050. // g_sMPU6050Inst.pui8Data[0] = MPU6050_INT_PIN_CFG_INT_LEVEL | MPU6050_INT_PIN_CFG_INT_RD_CLEAR | MPU6050_INT_PIN_CFG_LATCH_INT_EN; g_sMPU6050Inst.pui8Data[1] = MPU6050_INT_ENABLE_DATA_RDY_EN; MPU6050Write(&g_sMPU6050Inst, MPU6050_O_INT_PIN_CFG, g_sMPU6050Inst.pui8Data, 2, MPU6050AppCallback, &g_sMPU6050Inst); MPU6050AppI2CWait();
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
进士3545分
观察到你对程序还是有一些改动的比如初始化
MPU6050Init(&g_sMPU6050Inst, &g_sI2CInst, MPU6050_I2C_ADDRESS, MPU6050AppCallback, 0);
最后一个变量你传递的是0,实际上该变量应该传递一个指针,给callback函数的。
由于我手上没有MPU6050的demo,抱歉没法帮你调试。既然9150读数是正常的,建议在9150的基础上一步步进行修改。测试修改无问题后再进行下一步修改。谢谢
Best Regards
Wellin Zhang
Best Regards
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
非常抱歉我这个程序实在看了传感器驱动程序手册的示例上做了修改,如果非常抱歉没有注意说明,还有
MDK5.1下提示非法字符说以也没有使用这两个产生,对使用这两个产生的地方进行了注释。
回调函数好航向有没有使用到传递的参数所以就照手册传递的为0
其他地方应该除了有个指令在6050中没有&MPU9150_ACCEL_CONFIG_ACCEL_HPF_5HZ&&,将其删除了。其他的我几乎原封不动只是修改了函数名称。现在手里只有6050,我现在的解决办法是直接使用的9150的库来操作6050。
因为调试时间比较紧,我会有空在详细看看库函数,待对库有了一定理解,后再尝试可能是自己在什么地方,传递的命令没能初始化6050,非常感谢
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
Wellin Zhang:
& & & & & 你好,非常感谢你之前对我的回复,我对照MPU9150简单的改写为MPU6050的代码直接使用是有问题的,下面我说说我调试过程以使后来者能少走弯路:
1、对于你的回答我开始怀疑是传感器的IIC库有问题(对于权威的质疑让我浪费了不少的时间,这也希望对我这样的小白能有所体谅),我开始自己写IIC的硬件驱动函数,但是发现也不能行通,用示波器查看是有不行输出,这让我很苦恼。这里我要反应一个问题,我写的是通过查询方式工作的,没有使用IIC中断,后来发现通过查询需要延时一段时间,但是没有在TM4C123的库文档,和相关手册中知道,我认为TI可以对一些需要特殊在程序启动流程注意的地方,单独写一个文档或加载元件文档或库文档举例中,这样能给使用者个好的使用体验,当然我觉TI在已经做的很好了关于用户使用体验上,这是值的肯定的,不过还是希望TI能做的更好。
2、我通过网上论坛和看MPU6050元件手册知道可以查看6050ID,通过自己的IIC能读出ID,用TI也能示例能读出ID,但发现多处6050的POWERMANAGEMENT 1这个寄存器发现芯片还是在休眠,也就是我的初始化没有被写进寄存器,这是由于初始化是TI给的是有一次复位,复位和上电6050都是在休眠状态的,这样是读不到值的。
3、在复位之后在次将6050唤醒,开始从串口传出我想要的数据了。
这是本人的调试过程和一些意见,希望TI做的愈来愈好。
对了还有之前这个问题是我在阿莫论坛看到说要放在英文的路径下就不会有警告了,当然我实践发现放在中文路径下程序也能正常工作的!
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
进士3545分
Hi Pengyin
非常感谢你的分享。同时也非常感谢您的意见。
Best Regards
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
您好,请问能不能让我看看您的最终成功的程序代码
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
&请问可以分享一下,正确的MPU6050的程序,最近也在diy四旋翼飞行器。谢谢
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
请问现在有9150或者6050的DEMO程序吗?
Best Regards
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
感谢楼主的反馈,居然真的是设备休眠了,无法写入寄存器。
后来自己紧接着MPU6050初始化函数之后,写寄存器唤醒设备,之后,设备就可以正常读取值了。
可能是用其他单片机习惯了,之前只用过TI的430系列。
TM4Cxi列的库真的很多很强大,但是初次接触理解起来有点困难,一个MPU6050的示例居然那么多。从TI的整个库更接近于面向对象语言的思维模式,开发环境CCS也是用的eclipse这种框架。风格很不一样。但是应该长时间接触还是有好处的。只是现在不习惯而已,先赞一个。还有那些图形库真的很好用,赞一个。
然后就按照官方文档上写MPU6050的初始化,一开始是初始化不过去,发现是没有重新写IIC的中断函数,所以没有传递该中断函数中的tI2CMInstance实例,才导致这样的。
后来初始化成功了,设备号也可以读到,但是数据一值是0,后来发现是楼主说所的问题,官方库函数初始化里面,最后是复位设备。那么设备复位后默认是休眠。但是官方文档提供的初始化步骤又没有说这个。而且读写寄存器的函数也不易理解,文档说得也不清楚。所以希望TI在这方面能改进一下。
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
1.先初始化Pin端口,可以直接用TI提供的可视化图形配置Pin功能的软件。
2.按照TI 传感器库的文档的Programming Example写初始化。
3.重写中断函数,调用i2cm_drv.c中的中断函数并传递tI2CMInstance实例。
4.在MPU6050Init初始化后,写寄存器唤醒设备。
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
用sensorlib里的9150改的6050程序
一运行就卡在 &while((g_vui8I2CDoneFlag == 0) && (g_vui8ErrorFlag == 0))
是为什么?I2C初始化没有弄好吗?好像读取到了一次数据。
MPU6050AppI2CWait(char *pcFilename, uint_fast32_t ui32Line){ // // Put the processor to sleep while we wait for the I2C driver to // indicate that the transaction is complete. // while((g_vui8I2CDoneFlag == 0) && (g_vui8ErrorFlag == 0)) { // // Do Nothing // }
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
您好,我最近也在调6050,但是使用您的工程读出的数据也是0,看了您的话,还是不知道该怎么修改,请指教,是否能发我一份直接能用的6050程序,,不甚感激!!!!!
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
碰到了类似的问题,读出来的数据,不知道该怎么解决
You have posted to a forum that requires a moderator to approve posts before they are publicly available.}

我要回帖

更多关于 怎么查看网页历史记录 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信