首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在TM4C123GXL (TivaC) Launchpad上使用TM4C123GXL

如何在TM4C123GXL (TivaC) Launchpad上使用TM4C123GXL
EN

Stack Overflow用户
提问于 2014-03-05 04:04:10
回答 1查看 5.6K关注 0票数 3

我正在尝试通过MinIMU9v2总线将我的Launchpad设备连接到Pololu I2C 9 9DoF传感器。我在一个Linux环境下工作,用arm-none-eabi-gcc编译,我已经从德州仪器公司的网站下载了sw tm4c123gxl压缩文件。

在深入了解驱动程序下载过程中,我确定了一个文件夹(示例/外围设备/ I2C ),其中包含了3个使用I2C总线的演示(每个在一个C文件中)。一种是将Launchpad作为从机运行,另一种是将其配置为回环,最后是使用它所称的“软I2c”将Launchpad与基于Atmel I2C的内存设备连接起来。

我假设这其中的“软”部分意味着它是基于软件的,利用中断等等。我正在寻找一个更简单的解决方案,最好没有中断。例如,环回示例就像一种魅力,但是在修改它时,我似乎无法让它与MinIMU9通信,不管我尝试了什么。MinIMU9的文档非常清楚,但我认为我只是缺乏对如何使用这个驱动程序软件的理解。

最后,我不想重新发明轮子,但我似乎找不到其他人在谈论I2C和stellaris或tivac launchpads。我试图用这种方式来实现这一点,是不是太离谱了?如果没有,是否有更简单的方法来解决这个问题?如果没有,我还能在哪里更多地了解我错过的东西呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-07 04:37:03

我还是能搞清楚的。首先,我没有注意到的一件事是,德州仪器提供了一个PDF外围设备资源,讨论了它们的驱动程序库的使用。不幸的是,这个文档还不够全面,如果没有示例的话,可能仍然需要有人将自己埋没在代码中。

现在,外围示例需要一些工作才能开始。为了节省一些时间和精力,我尝试在示例/project/project.c的顶部复制master_slave_loopback.c,根据文件中的注释修改它,然后能够编译这个示例并立即成功地运行它。

接下来,我尝试将新的project.c文件转换为允许我与MiniIMU9v2通信的文件。在大多数情况下,一切似乎都是笔直的。我注释掉了任何看起来与回送功能有关的内容,但是当我尝试执行程序时,它会挂在下面的一行:

代码语言:javascript
运行
复制
while(I2CMasterBusy(I2C0_BASE)) { }

为了开始解决这个问题,我已经不知所措了,于是我决定发布这个问题。幸运的是,这个问题比我想象的要简单得多,解决起来也令人惊讶。一个快速搜索显示了这个页面:arm/f/908/t/316580.aspx

我改变了:

代码语言:javascript
运行
复制
GPIOPinTypeI2C(GPIO_PORTB_BASE, GPIO_PIN_2 | GPIO_PIN_3);

至:

代码语言:javascript
运行
复制
GPIOPinTypeI2C(GPIO_PORTB_BASE, GPIO_PIN_3);

这解决了我的问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22188290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档