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.
我正在使用 MSP430F1611、我想在 MSP430F1611 (主器件)和 FPGA (从器件)之间执行 SPI 通信、我可以从 MSP430F1611成功发送数据到 FPGA、并在 U0RXBUF 和 RXBUF0中获取 MISO 数据、现在问题是如何在任何其他变量中存储来自(U0RXBUF 和 RXBUF0)的数据 请帮助我解决此问题。
谢谢
注意事项。
代码:
#include char MST_Data = 0x4F; unsigned char MSD、msd1、msd2; unsigned int j; unsigned int i; int main (void) { WDTCTL = WDTPW + WDTHOLD; //停止 WDT P3DIR =0x001; P3SEL = 0x00E; //设置 P3为 SPI 模式 // U0CTL = (0x0070u) /* USART 0 Control */ // char = (0x10) /*数据0:7位/1:8位*// 同步= (0x04) /* UART / SPI 模式*/ // mm = (0x02) /*主模式关闭/打开*/ U0CTL = char + SYNC + mm + SWRST; // 8位、SPI、主器件 U0TCTL = CKPH + SSEL1 + STC; //极性、SMCLK、3线 // U0BR0 = (0x0074u)/* USART 0波特率0 *// U0BR0 = 0x064; // SPICLK = SMCLK/2 // U0BR1 = (0x0075u)/* USART 0波特率1 */ U0BR1 = 0x000; // UMCTL0 = U0MCTL /* USART 0调制控制*/ reg 名称 U0MCTL = 0x000; // ME1 = (0x0004u)/*模块使能1 */ ME1 = USPIE0; //模块启用 U0CTL &&~SWRST; // SPI 使能 IE1 |= URXIE0; //接收中断启用 __enable_interrupt (); //启用中断 // TXBUF0 = 0x00; MSD = RXBUF0; msd1 = U0RXBUF; I = 50000; //延迟 DO (i---); while (i!= 0); MSD = RXBUF0; msd1 = U0RXBUF; {MSD = RXBUF0; msd1 = U0RXBUF; TXBUF0 = MST_Data; //发送第一个字符 LPM0; // CPU 关闭 } MSD = RXBUF0; msd1 = U0RXBUF; } //结束主 代码#if defined (__TI_Compiler_version__)|| defined (__IAR_systems_ICC__) #pragma vector=USART0RX_vector __interrupt void SPI0_Rx (void) #Elif defined (__GRx__) void __attribute__((interrupt (USART0RX_vector)不 支持 void SPI0_R0! #endif { J = 5000; //延迟 DO (j-); while (j!= 0); TXBUF0 = MST_Data; // J = 10000; //延迟 DO (j-); while (j!= 0); TXBUF0 = 0x34; J = 10000; //延迟 DO (j-); while (j!= 0); TXBUF0 = 0x56; J = 10000; //延迟 DO (j-); while (j!= 0); TXBUF0 = 0x78; J = 10000; //延迟 DO (j-); while (j!= 0); TXBUF0 = 0x9A; * //TXBUF0 = 0xab; // TXBUF0 =0xbb; //P3OUT = 0x00; }
Rizwan、您好!
请查看我之前链接的 SPI 示例。 它们表现出类似的情况。 您只需在收到接收中断时为变量分配 RXBUFF 的值。 在上面的屏幕截图中、您尚未运行代码、因此变量中不会有任何内容。 此外、检查优化级别并将其关闭、就像将数据从缓冲区中取出到变量一样、从不将该变量用于任何用途、编译器会优化此代码。
伪代码
Receive_bufferISR ( var = rxbuff; }