问题标签 [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 回答
104 浏览

c - 多种获取地址的方法

在 IAR C/C++ Compiler 手册中,它指出编写优化友好的源代码:

避免使用 & 运算符获取局部变量的地址。由于两个主要原因,这是低效的。首先,变量必须放在内存中,因此不能放在处理器寄存器中。这会导致代码更大更慢。其次,优化器不能再假设局部变量不受函数调用的影响。

还有哪些其他方法可以获取局部变量的地址?显然,我知道如果我有一个指向该变量的指针,我可以使用它,如果我有一个数组,我可以使用数组名称,但是我不知道除& 操作员。

0 投票
2 回答
9097 浏览

cmake - 如何将编译标志传递给 cmake 初始编译器测试?

我正在尝试使用 CMake 构建一个将MSPGCC 交叉编译器用于 MSP430 微控制器的项目。要使用它成功编译任何简单程序,我们需要传递一个指示目标处理器的编译标志,否则它会像这样失败:

-mmcu因此,如果我使用开关指示处理器,它工作正常。问题是,虽然我已经在我的CMakeLists.txt文件中指定了这个:

CMake 抱怨编译器未能通过测试来编译一个简单的程序,我敢打赌这是因为它可能没有使用开关-mmcu(请注意有关无法打开链接器脚本文件 memory.x 的消息):

仅作记录,我的工具链文件如下,我的 PATH 变量允许它在以下位置找到编译器二进制文件/usr/local/bin

说了这么多,谁能告诉我如何检查 CMake 使用哪些编译标志来进行编译器测试,以及我们如何传递自定义标志(例如-mmcu,例如)使其不会失败?

0 投票
1 回答
2921 浏览

assembly - MSP430 汇编代码中的“.bss”命令有什么作用?例如,“.bss beep_cnt,2”对变量 beep_cnt2 做了什么?

MSP430 汇编代码中的“.bss”命令有什么作用?例如,“.bss beep_cnt,2”对变量 beep_cnt2 做了什么?

0 投票
1 回答
86 浏览

assembly - 使用“$”访问数据值登录程序集

我想知道如何访问存储在这些变量中的数据......但我不知道 N0$ 例如代表以及如何将数据从那里提取到寄存器中,例如。

0 投票
2 回答
600 浏览

signal-processing - MCU 上的高效调幅 (C)

我正在研究微控制器合成器,但我遇到了音量包络生成问题。我现在有这个代码:
to_dac =(SinTable[lut_pos] * (volume))>>8;

它工作正常,但分辨率真的很差,我不知道如何改进它以使其仍然可以足够快地运行(因为必须为每个样本执行此操作)

这些是我现在得到的结果:

波形

这是一个 MP3 现在的声音:(注意:DAC 在面包板上,输出端没有低通滤波器,所以有一些多余的噪音)

我正在使用 MSP430 设备(目前是 MSP430G2553,但如果真的有必要,我可以使用 MSP430F5510(更多内存,更快的速度)我也尝试寻找示例,但它们都使用浮点变量,sin() ; 函数和 math.h 中的其他函数,但我没有这些的奢侈......

编辑:我是个彻头彻尾的白痴,另一段代码导致幅度包络的分辨率较低,但我对幅度调制的其他解决方案持开放态度。

0 投票
2 回答
349 浏览

c - uint8_t * const LCDMem = (uint8_t *) &LCDM3; 意义

此代码在 msp430fg4618 培训套件中用于 lcd 配置。谁能解释一下上述代码的含义?

它允许使用array LCDMem[]? 我不知道怎么做。

0 投票
3 回答
2665 浏览

embedded - 为什么上传的二进制文件大小比实际大小小很多?

我只使用过 AVR 和 MSP430,但对它们来说都是如此。编译和静态链接后,我的最终 ELF 二进制文件大约是 208kB,而 Intel Hex 二进制文件大约是 41kB。AVRDUDE 告诉我它正在上传大约 18kB。这里到底发生了什么?

0 投票
1 回答
636 浏览

linux - mspdebug 收不到数据

我正在尝试学习对微控制器进行编程。我从 msp430 开始,我已经安装了 mspdebug 0.18 和 mspgcc 4.5.3。我想将一个简单的程序加载到设备上进行测试,但是 mspdebug 无法通过擦除设备。

0 投票
2 回答
1519 浏览

arduino - 为什么 Launchpad msp430 (g2553) 中的 Arduino 库 dht11 不起作用?

如果 Launchpad 与 Arduino 兼容,为什么库不能工作?传感器数据足以导出到串口。

dht11 和 dht22 库有什么区别?

0 投票
1 回答
866 浏览

usb - 多个 MSP430 之间是否可以同时进行 I2C、SPI 和 USB 通信?

我已经编写了几个 MSP430x6xx 微控制器作为一些 I2C 从设备的主控。其中一个 MSP430 使用其内置的 USB 模块将从 I2C 从机接收的数据传输到 PC。我想扩展它以允许所有微控制器使用公共总线系统将从各自的 I2C 从机接收到的数据发送到 PC。使用 SPI 将数据从所有 MSP430 传输到单个 MSP430 主控(已经同时作为 I2C 主控和 USB 设备)然后将其传输到 PC 是否可行?我将不胜感激任何其他建议。谢谢