器件型号:DK-TM4C129X
工具/软件:TI-RTOS
您好:)
我不熟悉 MCU
我正在尝试从网站上查找要下载的示例。
我正在使用 Tiva-C TM4C129X 开发板
以及 IAR 嵌入式工作区
有人能指导我从哪里下载此文件吗?
谢谢。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
器件型号:DK-TM4C129X
工具/软件:TI-RTOS
您好:)
我不熟悉 MCU
我正在尝试从网站上查找要下载的示例。
我正在使用 Tiva-C TM4C129X 开发板
以及 IAR 嵌入式工作区
有人能指导我从哪里下载此文件吗?
谢谢。
您好!
首先、如果您使用的是 Tiva C 系列处理器、则应使用 TivaWare 库。 TivaWare 可从下载
。 TivaWare 库包含硬件外设驱动程序以及示例、文档、工具和许多其他内容。 TivaWare 中包含的示例不是基于 TI-RTOS 的。 TI-RTOS 是 TI 开发的实时操作系统。 许多人可以在没有操作系统的情况下开发他们的应用程序。 这取决于您的应用需求。 如果您需要 TI_RTOS、那么我在之前的答复中向您展示的示例就是为 TI-RTOS 开发的示例。 您也可以参考它们。
对于 IAR 的非 TIRTOS 示例、您可以在中找到 driverlib.a /driverlib/ewarm/Exe/driverlib.a. 我不熟悉 IAR IDE、但在您的 IAR 连接器配置/设置中、您需要将 driverlib.a 指定为库和 /driverlib/ewarm/Exe 作为 SearchPath。
再次感谢您的回答。
我解决了我的链接问题。 显然、该示例使用项目和中的项目库
我必须在示例中运行第一个 driverlib 和 grlib。 它们会在 子项目库的每个输出文件夹中创建 driverlib、a 和 glib.a 文件。 只有在这之后、我才需要运行 main.c 文件。
现在、我面临一个不同的问题。
1.在我从 IDE 下载的示例中,一切正常, 我正在使用中断。
我尝试编写自己的代码。
当我写入命令:" ROM_IntMasterEnable()"时(为了在 CPU 中启用中断)
我收到一个错误:" 没有"ROM_IntMasterEnable"的定义,但我确实将 rom.h Heather 文件包含在定义中。
我缺少什么?
2.我还尝试使用 Tiva 外设驱动程序库。 当我尝试写入命令“ IntMasterEnable()”时,出现错误:“没有 CPUcpsie 的定义”
通过查看 interrupt.c 文件、函数调用"cpucpsie"、 CPUcpsie 的宏定义位于 cpu.c 文件中。
我在项目中包含了这两个文件。
我将在下一条消息中添加我的代码。
此致、
Eliran。
我的代码:
#include
#include
#include
#include
#include "driverlib/rom.h"
#include "driverlib/rom_map.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"
#include "driverlib/interrupt.h"
#include "driverlib/cpu.h"
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_NVIC.h"
#include "inc/hw_types.h"
//#include "grlib/grlib.h"
//#include "drivers/frame.h"
//#include "drivers/kentec320x240x16_ssd2119.h"
//#include "drivers/pinout.h"
//#include "inc/tm4c129xncszad.h"
/*
PN5=红色 LED
PQ4 =蓝色 LED
PQ7=绿色 LED
PN3= SW2
*
//原型函数
空延迟(unsigned int x);
void INT_SW2 (void);
int main()
{
//设置时钟
SysCtlClockFreqSet (SYSCTL_OSC_INT|SYSCTL_USE_PLL|SYSCTL_CFG_VCO_320、4000000);
//激活系统控制中的 GPIO
SysCtlPeripheralEnable (SYSCTL_Periph_GPION);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOQ);
while (!SysCtlPeripheralReady (SYSCTL_Periph_GPION));
while (!SysCtlPeripheralReady (SYSCTL_Periph_GPIOQ));
GPIODirModeSet (GPIO_PORTN_BASE、GPIO_PIN_5、GPIO_DIR_MODE_OUT);
GPIODirModeSet (GPIO_PORTQ_BASE、GPIO_PIN_4、GPIO_DIR_MODE_OUT);
GPIODirModeSet (GPIO_PORTQ_BASE、GPIO_PIN_7、GPIO_DIR_MODE_OUT);
GPIODirModeSet (GPIO_PORTN_BASE、GPIO_PIN_3、GPIO_DIR_MODE_IN); // SW2是中断输入
GPIOPadConfigSet (GPIO_PORTN_BASE、GPIO_PIN_5、GPIO_FORMENT_2mA、GPIO_PIN_TYPE_STD);
GPIOPadConfigSet (GPIO_PORTN_BASE、GPIO_PIN_3、GPIO_FORMENT_2mA、GPIO_PIN_TYPE_STD);
GPIOPadConfigSet (GPIO_PORTQ_BASE、GPIO_PIN_4、GPIO_Strength _2mA、GPIO_PIN_TYPE_STD);
GPIOPadConfigSet (GPIO_PORTQ_BASE、GPIO_PIN_7、GPIO_Strength _2mA、GPIO_PIN_TYPE_STD);
//GPIOIntRegister (GPIO_PORTN_BASE、INT_SW2);
GPIOIntTypeSet (GPIO_PORTN_BASE、GPIO_PIN_3、GPIO_LOW_LEVEL);
GPIOIntEnable (GPIO_PORTN_BASE、GPIO_INT_PIN_3);
//////////// 这里有问题... IntMasterEnable();
IntMasterEnable(); //////////// 问题就在这里
while (1)
{
GPIOPinWrite (GPIO_PORTN_BASE、GPIO_PIN_5、GPIO_PIN_5);
延迟(30000);
GPIOPinWrite (GPIO_PORTN_BASE、GPIO_PIN_5、0);
延迟(30000);
GPIOPinWrite (GPIO_PORTQ_BASE、GPIO_PIN_4、GPIO_PIN_4);
延迟(30000);
GPIOPinWrite (GPIO_PORTQ_BASE、GPIO_PIN_4、0);
}
返回0;
}
空延迟(unsigned int x)
{
volatile unsigned int i=0;
for (i;i;<x;i++);
for (i;i;<x;i++);
for (i;i;<x;i++);
}
空 INT_SW2 (空)
{
GPIOIntClear (GPIO_PORTN_BASE、GPIO_INT_PIN_3);
}
图片:
您好!
我按原样使用您的代码、没有任何编译错误。 我不确定问题是什么。 您是否正在使用 IAR IDE 提供的示例? 有一些为 IAR 构建的 TivaWare 示例。 您为什么不试一下这些示例?
您有 LaunchPad 吗? 您是否在 TM4C129 Launchpad 上运行示例?
另一个建议是、您可以使用 CCS IDE、该 IDE 无需许可证。 这是一款 TI 工具、我们将能够为您提供更好的支持。 对于 IAR 问题、我建议您联系 IAR 以获取支持。
好的。
我找到了问题。
在项目选项中、如果我选择:c/c++ compiler->Preprocessor->defined symbols
我从工作项目复制了三个定义:
1微瓦
2- PART_TM4C129XNCZAD
3- TARGET_IS 雪花_RA0
链接器可能无法找到项目中的某些库或定义。
这实际上是 IAR 定义问题。
非常感谢您的帮助。
此致、
Eliran。