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.
您好!
我不熟悉 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 监控器以及是否需要更改代码以使通信正常工作、是否会更好