gpt4 book ai didi

c - MSP430 兼容性问题

转载 作者:太空宇宙 更新时间:2023-11-04 08:45:55 24 4
gpt4 key购买 nike

我使用的是 MSP430 Launchpad。更具体地说,我使用的是微 Controller MS430G2553。我试图编译一些为 MS430G2230 设计的代码,但问题是代码的某些部分与 MS430G2553 不匹配。这是代码

void USI_Init (void)
{
// configure SPI
USICTL0 |= USISWRST; // USI in reset
USICTL0 = USICTL0 | USILSB; // Least Significant Bit first
USICTL0 |= USIPE7 + USIPE6 + USIPE5 + USIMST + USIOE; // Port, SPI Master
USICTL1 |= USICKPH; // flag remains set
USICKCTL = USIDIV_1 + USISSEL_2; // /2 SMCLK
USICTL0 &= ~USISWRST; // USI released for operation
USICNT = USICNT | 0x50; // 16 bit mode; 16 bit to be transmitted/received
return;
}


这是第二个不起作用的例程


#pragma vector=WDT_VECTOR
__interrupt void Write_Matrix(void)
{
static unsigned char index=0;

P1OUT |= DATA_LATCH_PIN;
P1OUT &= ~DATA_LATCH_PIN;

USICTL1 &= ~USIIFG; // Clears the interrupt flag
USISRH = 1<<index; // Move the index of the column in the high bits of USISR
USISRL = Matrix[index]; // Move the index of the rows (value of Matrix[index]) in the low bits of USIRS
USICNT = USICNT | 0x10; // 16 bit format
index = (index+1) & 7;

return;
}

有什么想法吗?谢谢

最佳答案

首先,您不应期望代码在这两个处理器系列之间 100% 可移植。 MSP430G2553 是一款值(value)更高的处理器,比 MSP430G2230 配备更多的外设。

请引用下图:

MSP430G2230功能图

MSP430G2230 Functional Diagram

MSP430G2553功能图

MSP430G2553 Functional Diagram

如您所见,这些 MCU 非常不同。

您的第一个例程不起作用,因为 MSP430G2553 没有 USI 外设。相反,SPI 通信是使用 USCI 外设执行的。您将需要修改代码以改为使用此外围设备。请引用User's Guide获取更多信息。

您的第二个例程由于再次缺少 USI 外围设备而无法运行。注意对 USI 寄存器的引用:USICTL1 &= ~USIIFG; 等。您将需要再次修改代码以使用 USCI周边。

关于c - MSP430 兼容性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21668790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com