问题标签 [msp432]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
614 浏览

c - MSP432 LaunchPad 按钮初始化

我正在努力初始化 MSP432p401R LaunchPad 上的 LED 和按钮。

问题:

编写一个代码,读取两个按钮 S1 和 S2(P1.1 和 P1.4)的输入并相应地更改 LED 的状态:无 - 关闭 S1 - 红色 S2 - 两者都绿色 - 蓝色

这是一些代码:

我的 if 语句如下所示:

我在初始化时做错了什么?

0 投票
0 回答
472 浏览

css - MSP432:连接到目标时出错:(错误 -615 @ 0x0)

我正在尝试使用带有 CCSV 7.0.0 的 XDS110 仿真器在 MSP432P401R 设计板上调试代码。当我调试代码时,它显示以下错误:CS_DAP_0:连接到目标时出错:(错误 -615 @ 0x0)目标看不到格式正确的 SWD 标头。与目标的连接可能不可靠。在重试之前尝试降低 TCLK 设置。(仿真包 9.2.0.00002)。我已经尝试了 e2e 论坛上发布的以下所有解决方案:-

  1. 出厂重置 - 当我右键单击 - > 在右键单击后在不可调试设备下的设备上连接目标时发生同样的错误 - > 显示所有内核。
  2. 更改 JTAG/SWD 模式 - 我尝试了下拉菜单中存在的所有模式,但出厂重置不适用于其中任何一个。

请帮我。谢谢

0 投票
0 回答
86 浏览

c - Makefile 错误 - 包含错误 - C 编程

构建 Makefile 时遇到错误。它无法在 root/include 目录中找到头文件。这是我的文件结构:

我在 TARGET.out 指令中包含了 -I$(INCLUDES)。这是我的 Makefile:

这是我的 Sources.mk。我尝试删除 *.h 但收到相同的错误:

输出错误:

0 投票
1 回答
101 浏览

c - TI MSP432P401 板的位带别名偏移地址

请任何人解释一下,在下面的公式中计算TI MSP432P401R板的位带别名偏移地址,为什么我们应该添加(addr & 0xF0000000) + BB_OFFSET这个值((addr & 0xFFFFF) << 5)

如果MSP432addr中的变量具有. 代表着:word == uint32_t

  1. (addr & 0xF0000000) + BB_OFFSET = 0x42000000
  2. 进而:(bit << 2) = 0x00000002
  3. 别名将很简单:0x42000000 + 0x00000002 = 0x42000002?所以,我提出了我的问题:为什么我们还需要添加((addr & 0xFFFFF) << 5)(addr & 0xF0000000) + BB_OFFSET

我的计算错了吗?

提前谢谢了,

0 投票
1 回答
139 浏览

embedded - 未解析的符号 pthread_create,首先在 ./armrtk/src/task.obj 中引用

几天来我一直试图弄清楚这一点,但无法弄清楚。我正在使用 CCS 作为 IDE,并且正在使用 Windows。我正在尝试在 MSP432 上创建一个 RTOS 内核,并且需要使用 pthreads。我已经能够在其他示例中使用 pthreads,但我正在尝试编写自己的程序,并且在构建时遇到了这个问题:

我已将文件路径包含在 CCS 中,但我无法使用 .cfg 文件,因为我没有使用 XDCTools。我只需要这方面的帮助,我非常感谢。我也收到警告:

任务.H

任务.C

0 投票
0 回答
239 浏览

debugging - MSP432 Lauchpad 在调试时返回错误 614

昨天我在 MSP432 Lauchpad 中运行调试是很正常的。但是今天,我不知道为什么以及如何在运行调试时,Code Composer Studio (CCS) 返回错误代码 -614,如下图所示:

CS_DAP_0:连接到目标时出错:(错误 -614 @ 0x0)目标指示存在来自先前 SWD 请求的错误情况。清除错误条件,然后再次尝试 SWD 请求。(仿真包 9.2.1.00046)

在此处输入图像描述

0 投票
2 回答
78 浏览

embedded - 如何在 C 中创建内联汇编函数?

我正在使用 MSP 432 并且必须在 C 中创建一个汇编函数。我尝试使用__asm void PendSV_Handler{}. 但这不起作用,并说期望一个标识符。

另外,我正在尝试运行此汇编程序命令 cpsid i,但它说CPSID未定义但CPSIE i可以工作。在这一点上我有点困惑。我对此很陌生,我仍在学习。

下面是我试图组装的代码。我尝试通过__asm void PendSV_handler.

我不确定创建一个 asm 是否更容易。与这些说明一起归档。

0 投票
0 回答
82 浏览

c++ - MSP432 Launchpad 板对两个不同的器件使用相同的引脚

我目前正在做一个使用 NFC 技术与手机通信的智能计量设备。该设备由 3 个部分组成:

  1. 一个 MSP432P401R 启动板。
  2. 连接到 J1 和 J2 引脚阵列的 TRF7970(标签传感器)设备
  3. 我仍然必须购买温度或湿度或两者传感器。

我想从德州仪器购买一个使用 I2C/SPI/UART 接口的传感器,这样也许我可以找到一些 API,或者至少让它更容易编程,但是 TRF7970 设备使用所有这些接口。我的问题是我是否可以将这些设备连接到连接 TRF7970 的相同 I2C/SPI/UART 接口。我知道 I2C 或 SPI 接口可以寻址不同的从机,但我想在购买任何传感器之前确定一下。

此外,我还有一些用于与 TRF7970 通信的 API。我需要更改这些 API 的代码吗?

0 投票
0 回答
61 浏览

c - MSP432 内存地址 0x40004c04

我正在使用 MSP432 创建一个 RTOS 内核。这可能是一个加载的问题,但我的 PendSV 处理程序没有被调用。我使用内存地址 0xE000ED04 并且第一次围绕 0xE000ED04 的值是“E000 1000”,这会正确调用 PendSV 处理程序。第二次围绕内存地址 0xE000ED04 具有值“E80E 1000”。我读到这是不正确的,但我不知道如何解决这个问题。

这是我用来触发 PendSV 的代码。我已经解决这个问题一个星期左右了。如果需要,我会提供额外的代码我只是不想让问题变得混乱。我也在使用优先级为 0U 的 Systick 计时器,并使用 NVIC_SetPriority(PendSV_IRQn, 0xFF) 设置 PendSV 优先级;。

另一个问题是,当我单步执行代码时,我得到这个“在地址“0x40004c04”处中断,没有可用的调试信息,或者在程序代码之外。”

现在地址“0x40004c04”是 P1_P1DIR、PA_PADIR 的地址,其值为 FF41。我试图搜索这个,但我找不到它,我不确定这是否是一个问题。我不认为这可能是一个问题,因为关于输出引脚。

我被困住了,我需要帮助,这应该是我的高级项目,我无法弄清楚。谢谢你们。我可以提供额外的代码。

0 投票
2 回答
1438 浏览

c - How does ARM cortex handle PendSV Handler

I am creating a RTOS kernel and need to use the PendSV handler for context switching. I trigger the PendSV handler by doing : 0xE000ED04 = (0x1 << 28);. This sets the PendSVset register to 1, so theoretically, the handler should trigger. I do disable interrupts before triggering and enable after triggering. After the enabling PendSV should trigger. The priority is the lowest 0xFF and the systick handler priority is 0x00. I am not sure what is going on and why the pendsv handler is not running. I am using an TI-MSP432 controller and I figure maybe its the way the controller is handling the interrupt?

It is set in vectpending, vectpending is 001110 which is 14 for pendsv.

If anybody can help, I'd greatly appreciate it.