主题中讨论的其他器件: MSP430WARE
大家好、
现在、我有 MSP430F67791接口 W25q64 Winbond 芯片、但通信无法正常工作、发生了什么情况?
这是我的以下代码详细信息、
接口引脚详细信息、以供您参考、
SCLK P3.3  SCK  
SOMI P3.4  DO 
SIMO P3.5  DI 
CS   P3.6  CS 
void SPI_init (void) 
{ 
UCA1CTL1 = UCSWRST; 
P3OUT &=~BIT6;            //清除 P1.0 
P3DIR |= BIT6;               //将 P1.0设置为输出方向 
P3SEL0 = BIT3| BIT4 | BIT5;  //将 P3.0、P3.1、P3.2设置为非 IO 
UCA1CTL0 |= UCCKPH + UCMSB + UCMST + UCSYNC;  
UCA1CTL1 |= UCSSEL_2;// SMCLK 
UCA1BR0 |= 0x02; 
UCA1BR1 = 0x00; 
UCA1MCTLW = 0; 
UCA1CTL1 &=~UCSWRST; 
}
void SPI_chipHigh (void) 
{ 
P3OUT |= CS; 
} 
void SPI_chipLow (void) 
{ 
P3OUT &=~CS; 
} 
int datacount=0;
unsigned char data=0;
unsigned char GCU_Tx_Data[10]; 
unsigned char GCU_recged_Data[10]; 
uint8_t sFLASH_SendByte (unsigned char * UDATA、unsigned char 计数) 
{ 
while (!(UCA1IFG &= UCTXIFG)); 
for (datacount=0;<count;datacount++) 
UCA1TXBUF = UDATA[数据连接]; 
while (!(UCA1IFG & UCRXIFG)); 
UDATA[0]= UCA1RXBUF; 
返回* UDATA;
}
unsigned char read_SingleBytes (unsigned int Liu Flash_Add){ 
unsigned char lcu_read_Data=0; 
SPI_chipLow ();  
GCU_Tx_Data[0]= 0x03;                       //读取  
GCU_Tx_Data[1]=(Liu Flash_Add >> 16)和0xFF; 
GCU_Tx_Data[2]=(Liu Flash_Add >> 8)和0xFF; 
GCU_Tx_Data[3]=(Liu Flash_ADD >> 0)和0xFF;  
LCU_READ_Data=sFLASH_SendByte (&GCU_Tx_Data[0]、4); 
SPI_chipHigh (); 
返回(LCU_READ_Data); 
} 
while (1)
{
Read_SingleBytes (0x000000);
}
如果有任何编码问题、请告诉我准确的原因以及如何正确地工作、请尽快指导我。Pls 检查 SPI init 函数此初始化寄存器解算是否正确。同时检查整个程序详细信息并尽快指导我解决问题。
 
				 
		 
					