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.
我已加载 并安装 MSP430Ware_3_80_14_01。
我创建 了一个空项目 BlinkLED_MSP430FR2433 、并从 C:\ti\MSP430Ware_3_80_14_01\examples\boards\MSP-EXP430FR2433\MSP-EXP430FR2433_Software_Examples\Firmware\Source\BlinkLED_MSP430FR2433添加了 main.c 文件
我在编译器包含路径中添加了文件夹 C:\ti\MSP430Ware_3_80_14_01\examples\boards\MSP-EXP430FR2433\MSP-EXP430FR2433_Software_Examples\Firmware\Source\BlinkLED_MSP430FR2433\driverlib\MSP430FR2xx_4xx、以便可以找到 driverlib.h 文件。
我收到几个链接错误、例如...未解析的符号 GPIO_setAsOutputPin、首先在./main.obj 中引用
这是 CCS 生成的文件搜索路径
您是否能够帮助我解决链接器错误?
谢谢、
维克多
尊敬的 Victor:
我有点困惑、您是否只是尝试运行闪烁的 LED 示例代码?
您使用的是 CCS 还是 IAR IDE?
您能否仔细检查您是否已执行以下步骤: https://software-dl.ti.com/ccs/esd/documents/users_guide/index_overview.html
此致、
Henok
我正在使用 CCS 构建和运行两个闪烁示例代码。
在 CCS 中、您可以为新项目选择
它会生成以下代码、这些代码会进行编译、链接和运行。
#include <msp430.h> void main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer PM5CTL0 &= ~LOCKLPM5; // Disable the GPIO power-on default high-impedance mode // to activate previously configured port settings P1DIR |= 0x01; // Set P1.0 to output direction for(;;) { volatile unsigned int i; // volatile to prevent optimization P1OUT ^= 0x01; // Toggle P1.0 using exclusive-OR i = 10000; // SW Delay do i--; while(i != 0); } }
您还可以使用 CCS 构建空项目。
并从 MSP430Ware 中添加 main.c、该文件将进行编译、但不会链接。
#include <driverlib.h> int main(void) { volatile uint32_t i; // Stop watchdog timer WDT_A_hold(WDT_A_BASE); // Set P1.0 to output direction GPIO_setAsOutputPin( GPIO_PORT_P1, GPIO_PIN0 ); // Disable the GPIO power-on default high-impedance mode // to activate previously configured port settings PMM_unlockLPM5(); while(1) { // Toggle P1.0 output GPIO_toggleOutputOnPin( GPIO_PORT_P1, GPIO_PIN0 ); // Delay for(i=10000; i>0; i--); } }
两者的链接器文件搜索路径相同
尊敬的 Victor:
您能否在文件存储库中共享已安装 MSP430Ware 的位置?
您还可以尝试导入与上述 main.c 代码最相似的 driverlib 示例吗? 通常、我们建议从预先存在的示例开始、并根据需要进行修改。
此致、
Henok
您好、Henok、
感谢你的帮助。
让我来为您提供一个 TivaWare 系列中的工作示例。
我使用位于 TivaWare 外设驱动程序库中的 API 函数调用 GPIOIntEnable。
在工程属性中、我添加了 driverlib.lib 的路径、其中所有内容都可以编译并链接而不会出现错误。
如果我删除了 driverlib.lib 的路径、链接器会生成错误。
如果我搜索 TivaWare 安装、我会找到这些文件。
现在适用于 MSPWare。
我使用 API 调用 GPIO_setAsOutputPin、如 《适用于 MSP430FR2xx_4xx 器件的 MSP430 DriverLib 用户 指南》中所示
在项目属性的文件搜索路径中没有对 driverlib.lib 的引用。
链接器会生成错误。
如果我在 MSPWare 中搜索 driverlib.lib、我会得到以下结果。
没有 MSP430和 FR4333的列表。
在哪里可以找到 MSP430或 FR4333的 driverlib.lib?
尊敬的 Victor:
我相信我知道问题是什么、让我在我的身边做一些测试、我将很快告诉您如何解决这个问题。
此致、
Henok
尊敬的 Victor:
让我们尝试直接从 msp430Ware 导入空的 driverlib 示例。
1.单击项目选项卡并转至"import CCS projects...(导入 CCS 项目...)"
2.单击右上角的浏览
3.找到 msp430Ware 并按照以下目录顺序操作:msp430Ware --> driverlib--> examples --> MSP430FR2xx_4xx --> 00_EmptyProject
4.现在选择文件夹并重试、您现在应该会在工作区的这个项目下看到一个 driverlib 文件夹
请告诉我这是否可行。
另一个想法是选择一个有效的 msp430Ware 示例、然后将 driverlib 文件夹直接复制到您的项目中
以下是之前的 E2E、其中显示了以下内容: MSP430F5438A:如何将 driverlib 包含在我的现有 CCS 项目中? - MSP 低功耗微控制器论坛- MSP 低功耗微控制器- TI E2E 支持论坛
此致、
Henok