问题标签 [msp430]

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 回答
3519 浏览

embedded - 使用 IAR Embedded Workbench 430 5.3 调试 CC430F6137 时无法看到静态变量

我一直在寻找原因两个小时。现在我正在使用 IAR Embedded Workbench Evaluation 5.30 在 CC430F6137 开发套件板上进行调试。当我声明了一些全局静态变量时,我意识到我无法正确观看。它们显示为 FF 或 3F。

我试图在内存表中查找它们,模式看起来像 ff 3f ff 3f ...。这个模式从 0x1C00-0x1CFF 开始;数据显示在 0x1D00 - 0x2BFF。根据CC430F6137的datasheet,RAM的section 0范围为0x1C00-0x23FF,一共2KB。第 1 节的范围从 0x2400 到 0x2BFF。

例如,根据监视窗口,静态变量位于 0x1CED。但是,该值为 0x3F。当我使用局部变量从该静态变量中复制值时,它不是 0x3F。我的静态变量位于第 0 节中的一个小边界区域(具有奇怪的模式)。我的硬件:TI 的 USB-MSP430 调试接口。评估板是 EM430F6137F900。

我试过模拟器,没问题。我还使用 MSP430F449 的静态变量(由 TI LPT MSP430 调试器)创建了一段简单的代码,并且还可以看到静态变量。有谁知道为什么会发生这种情况以及可能的解决方案?提前致谢!

此错误已在最新版本的 IAR Embedded Workbench 中修复

0 投票
2 回答
157 浏览

c - 在 MSP430 软件中缩短 2 个不同的端口

我需要一些关于如何在 MSP430软件中缩短两个 2 端口的帮助/建议/提示。

set P4.4 to be equal to P2.6

0 投票
1 回答
169 浏览

c - 关于定义指令参数的简单代码混淆

我正在尝试学习 C 来在德州仪器 MSP430 上编写这个小程序。你能帮我理解这((unsigned char *) 0x0023)部分吗?

我在理解此定义指令的中间部分时遇到问题。我试过查找这个,但在这((unsigned char *) 0x0023)部分没有找到任何东西。这看起来像一个类型转换,但它没有转换任何东西。

我主要关心的是 0x0023(十进制 35)。这只是一个 35 位的无符号字符指针吗?

代码:

任何帮助都非常感谢,并在此先感谢您。

0 投票
1 回答
486 浏览

filesystems - 关于简单 FAT16/FAT32 读/写实现的建议

乡亲

我正在使用MSP430 and M25P64(serial flash memory). 我需要有关可用于实现的通用文件系统的建议

谢谢 AK

0 投票
2 回答
3670 浏览

real-time - 复位后的 MSP430 时钟问题

我使用以下例程来配置我的 MSP430 (msp430g2231) 微控制器的时钟:

问题是代码第一次运行时(在给微控制器加电之后)一切都按预期工作,我得到了 32768 kHz 时钟。但是,如果我按下板上的复位按钮(MSP430 Launchpad),时钟似乎无法正常工作,代码执行速度很慢(比如 10 次左右)。关于时钟配置的任何想法?

谢谢!

佩雷

0 投票
5 回答
2311 浏览

c - 是否“静态/外部 uint8_t 数组 [2] = {0};” 符合 ANSI C 规范?

我对以下代码有疑问:

是否允许如上所述初始化(模块)全局数组,以便在符合 ANSI C 的同时将每个成员设置为零?

我在 Code Composer 5 (MSP430 Project) 中遇到问题,我必须将其更改为

用于正确初始化数组的第二个成员。

0 投票
2 回答
505 浏览

makefile - Makefile 在不同的文件夹中构建多个文件

我一直在尝试使用 MSP GCC 编译器。我已经为单个文件编写了一个生成文件,并且能够在 MSP430 设备中编译和闪存。

我不知道如何为不同文件夹中相互依赖的许多源文件编写makefile。

我正在开发一个串行派生文件夹,文件结构如下

任何人都可以提供一些想法来为这个项目编写 make 文件以及如何在未来更大的项目中扩展。

感谢和问候 Ashok Kumar P

0 投票
1 回答
2748 浏览

memory - 内存映射中的 R0 和 R1 寄存器在哪里?

我对内存映射中程序计数器(R0)和堆栈指针(R1)的位置感到非常困惑。我认为它们在 CPU 内部,所以内存映射中没有任何位置可以显示这些寄存器。但是我的朋友坚持认为它们位于特殊功能寄存器(SFR)中,即它们位于内存映射的底部。哪个是正确答案?

0 投票
4 回答
7214 浏览

c - 如何使用 msp430 获取执行时间?

我想以毫秒为单位获得 C 代码的执行时间,我使用msp430f16.

任何帮助将不胜感激。

谢谢你。

0 投票
2 回答
954 浏览

c - 读取 MSP430 IO 寄存器太快?

我正在开发一个 MSP430 通过其 SPI 总线与另一个芯片通信的系统。我正在通过 SPI 总线发送一系列设置命令,并在从芯片的就绪线上轮询。我使用 IAR 作为我的 IDE,并且我正在编译代码而没有任何优化。代码看起来像这样:

无论有没有空的内部 for 循环,这段代码都能正常工作。所有设置消息都通过 SPI 总线正确传输。如果没有内部 for 循环,此代码块大约需要 10 秒。使用内部 for 循环,此代码块大约需要 100 毫秒。

在没有内部 for 循环的情况下,似乎尽可能快地读取 P1IN 会导致 P1IN 无法尽快更新。这有道理吗?是否有明确的理由添加/删除内部 for 循环会导致如此剧烈的时间变化?