簡體   English   中英

MSP430兼容性問題

[英]MSP430 Problems with compatibility

我正在使用MSP430 Launchpad。 更具體地說,我正在使用微控制器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是一款體積更大的線路處理器,具有比MSP430G2230更多的外設。

請參考下圖:

MSP430G2230功能框圖

MSP430G2230功能框圖

MSP430G2553功能框圖

MSP430G2553功能框圖

如您所見,這些MCU非常不同。

您的第一個例程不起作用,因為MSP430G2553沒有USI外設。 相反,使用USCI外設執行SPI通信。 您需要修改代碼才能使用此外圍設備。 有關更多信息,請參閱用戶指南

由於缺少USI外圍設備,您的第二個例程不起作用。 注意USI寄存器的引用: USICTL1 &= ~USIIFG; 等等。您需要再次修改代碼以使用USCI外設。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM