[疑难问答] spi通信

[复制链接]
1034|13
 楼主| qiangweii 发表于 2016-6-21 11:15 | 显示全部楼层 |阅读模式

#include  <msp430x14x.h>

void main(void)
{
  volatile unsigned int i;

  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog
  P1OUT = 0x00;                             // P1.0 setup for LED output
  P1DIR |= 0x03;
  P5SEL |= 0x0E;                            // P5.1,2,3 SPI option select
  P5OUT &= ~0x01;
  P5DIR |= 0x01;                            //Reset Slave
  P5DIR &= ~0x01;
  U1CTL = CHAR + SYNC + MM + SWRST;         // 8-bit, SPI, Master
  U1TCTL = CKPL + SSEL1 + STC;              // Polarity, SMCLK, 3-wire
  U1BR0 = 0x02;                             // SPICLK = SMCLK/2
  U1BR1 = 0x00;
  U1MCTL = 0x00;
  ME2 |= USPIE1;                            // Module enable
  U1CTL &= ~SWRST;                          // SPI enable
  IE2 |= URXIE1 + UTXIE1;                   // RX and TX interrupt enable

  for (i = 0xFFF; i > 0; i--);              // Time for slave to ready
  _BIS_SR(LPM0_bits + GIE);                 // Enter LPM0 w/ interrupt
}

#pragma vector=USART1RX_VECTOR
__interrupt void SPI1_rx (void)
{
  P1OUT = RXBUF1;                           // RXBUF1 to TXBUF1
}

#pragma vector=USART1TX_VECTOR
__interrupt void SPI1_tx (void)
{
  unsigned int i;

  i = P1IN;
  i = i >> 4;
  TXBUF1 = i;                               // Transmit character
}
 楼主| qiangweii 发表于 2016-6-21 11:15 | 显示全部楼层
两个USATR 在实现SPI通讯时,采用中断接受。。
feiqi1 发表于 2016-6-21 11:20 | 显示全部楼层

这个这个。。。怎么连点中文注释都没有呢
androidbus 发表于 2016-6-21 11:24 | 显示全部楼层
后面有注释啊,可惜是英文的
litengg 发表于 2016-6-21 11:29 | 显示全部楼层
一般的用的最多的就是模拟的SPI 总线的。
shashaa 发表于 2016-6-21 11:34 | 显示全部楼层
这代码很实用 如果在代码前附上说明就好啦!!
 楼主| qiangweii 发表于 2016-6-21 11:36 | 显示全部楼层
shashaa 发表于 2016-6-21 11:34
这代码很实用 如果在代码前附上说明就好啦!!

看看寄存器  这个代码不难
xia00 发表于 2016-6-21 11:39 | 显示全部楼层
该怎么拯救英语不好的人呀
CallReceiver 发表于 2016-6-21 13:33 | 显示全部楼层
这个,必须得用有道了。。。。
boy1990 发表于 2016-6-21 13:43 | 显示全部楼层
收藏了,感觉很有用的样子。。。
sourceInsight 发表于 2016-6-21 13:57 | 显示全部楼层
不知道两个单片机连线怎么连,为什么我下载到单片机之后, 感觉不对呢??
bbapple 发表于 2016-6-21 14:12 | 显示全部楼层
看看,代码是不是也太少了点呀
台湾笙泉MCU 发表于 2016-6-22 11:52 | 显示全部楼层
好贴学习~




笙泉MCU代理,QQ:3166720948
CallReceiver 发表于 2016-6-29 20:44 | 显示全部楼层
看看,可以用来做封装。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

1521

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部