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.

[参考译文] MSP430G2553:GUI Composer 和 MSP430G2553

Guru**** 2207170 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/686470/msp430g2553-gui-composer-and-msp430g2553

器件型号:MSP430G2553

您好!

我不熟悉 GUI Composer、我正在尝试创建一个应用程序、在该应用程序中可以看到连接到 launchpad 的 ldc1000读取的数据

我已经使用 PuTTY 进行了验证、我通过串行通信接收到了所需的数据、但对于 GUI Composer、我无法查看任何数据

#include
#include "LDC1000_EVM.h"
#include "LDC1000_cmd.h"
#include "spi_1p1.h"

#include "printf_lib.h"

静态 uint8_t led = 0;

int main (空)

uint8_t data[4];//数据缓冲区
uint16_t proxyData;//要打印的数据
uint16_t freqData;//要打印的数据
WDTCTL = WDTPW + WDTHOLD;//停止看门狗计时器

// 12MHz
IF (CALBC1_12MHz=0xFF)//如果校准常数被擦除

while (1);//请勿加载,陷阱 CPU!!

DCOCTL = 0;//选择最低 DCOx 和 MODx 设置
BCSCTL1 = CALBC1_12MHz;//设置范围
DCOCTL = CALDCO_12MHz;//设置 DCO 步长+调制
BCSCTL2 |= DIVS_1;// SMCLK = MCLK /2

//初始化 printf 的 UART 端口
P1SEL |= BIT1 + BIT2;// P1.1、2 = USCI_A0 RXD/TXD
P1SEL2 |= BIT1 + BIT2;// P1.1、2 = USCI_A0 RXD/TXD
UCA0CTL1 |= UCSWRST;//**将状态机置于复位状态**
UCA0CTL1 |= UCSSEL_2;// SMCLK
UCA0BR0 = 0x71;// 6MHz/9600 = 625 = 0x271
UCA0BR1 = 0x02;// 6MHz/9600 = 625 = 0x271
UCA0MCTL = 0;//无调制
UCA0CTL1 &=~UCSWRST;//**初始化 USCI 状态机**

//初始化 LDC1000 (EVM_INT 上的默认阈值函数)
EVM_INIT ();//将 SMCLK 输出到 LDCLK、其中包括 LDC1000
EVM_TEST ();//测试和校准 LDC1000

//将 EVM_INT 引脚设置为 DRDY 功能
SPI_writeByte (NULL、LDC1000_CMD_INTCONFIG、0x04);

//设置引脚中断
P1DIR &=~BIT0;//输入
P1IE |= BIT0;//中断被启用
P1IES |= BIT0;// Hi->Lo Edge
P1IFG &=~BIT0;//清除 IFG

while (1){
_BIS_SR (LPM3_BITS + GIE);//输入 LPM3并进行中断
//读取数据
SPI_readBytes (NULL、LDC1000_CMD_PROXLSB、DATA、sizeof (data));
proxyData = data[0]|(data[1]<< 8);//缓冲区接近数据
freqData = data[2]|(data[3]<< 8);//缓冲器频率计数器数据
//注释掉 printf 以实现更高的吞吐量
printf ("%u、%u\r\n"、proxyData、freqData);//打印数据

//端口1中断服务例程
#pragma vector=Port1_vector
_interrupt void Port_1 (void)

如果(!(P1IN & BIT0)){
LED ^= 1;
如果(LED)
EVM_GRN_LED_OFF ();//关闭 LED
其他
EVM_GRN_LED_ON ();//打开 LED
_BIC_SR_IRQ (LPM3_BITS);//从睡眠状态唤醒

P1IFG &=~BIT0;// IFG 清零

上面这是我在 LaunchPad 中使用的代码、由 TI 及其工作区提供。

关于 GUI Composer、我不能弄清楚的是、如果使用 JSON 协议通信或 USB 监控器以及是否需要更改代码以使通信正常工作、是否会更好

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Vittorio:
    使用 GUI 编写器时、我始终认为 JSON 更简单。 这里有几个使用它的示例。 您只需更改代码、使字符串采用 JSON 格式。