【分享】spi通信

[复制链接]
 楼主| 胡斯哲 发表于 2013-12-28 20:22 | 显示全部楼层 |阅读模式
MSP430F149的两个USATR 在实现SPI通讯,采用中断接受

  1. #include  <msp430x14x.h>

  2. void main(void)
  3. {
  4.   volatile unsigned int i;

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

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

  23. #pragma vector=USART1RX_VECTOR
  24. __interrupt void SPI1_rx (void)
  25. {
  26.   P1OUT = RXBUF1;                           // RXBUF1 to TXBUF1
  27. }

  28. #pragma vector=USART1TX_VECTOR
  29. __interrupt void SPI1_tx (void)
  30. {
  31.   unsigned int i;

  32.   i = P1IN;
  33.   i = i >> 4;
  34.   TXBUF1 = i;                               // Transmit character
  35. }


waitingf 发表于 2013-12-28 21:31 | 显示全部楼层
这个这个。。。怎么连点注释都没有呢
zxf0168 发表于 2013-12-28 21:43 | 显示全部楼层
后面有注释啊,可惜是英文的
 楼主| 胡斯哲 发表于 2013-12-28 22:11 | 显示全部楼层
waitingf 发表于 2013-12-28 21:31
这个这个。。。怎么连点注释都没有呢

英文的  这个还可以看到的吧:)
 楼主| 胡斯哲 发表于 2013-12-28 22:12 | 显示全部楼层
zxf0168 发表于 2013-12-28 21:43
后面有注释啊,可惜是英文的

偷偷告诉你  这是为了搞任务 网上搞的。。。  
是pudn上下载的。。。
angerbird 发表于 2013-12-28 23:01 | 显示全部楼层
这个是直接的利用单片机自带的SPI总线模块的啊
angerbird 发表于 2013-12-28 23:02 | 显示全部楼层
不过一般的用的最多的就是模拟的SPI 总线的
someonewho 发表于 2013-12-28 23:12 | 显示全部楼层
悟空兄的代码很实用 如果在代码前附上说明就好啦
 楼主| 胡斯哲 发表于 2013-12-28 23:25 | 显示全部楼层
angerbird 发表于 2013-12-28 23:01
这个是直接的利用单片机自带的SPI总线模块的啊

是的啊
 楼主| 胡斯哲 发表于 2013-12-28 23:26 | 显示全部楼层
someonewho 发表于 2013-12-28 23:12
悟空兄的代码很实用 如果在代码前附上说明就好啦

看看寄存器  这个代码不难
justbybing 发表于 2013-12-28 23:32 | 显示全部楼层
是啊 代码就要结合着寄存器看的
zxf0168 发表于 2013-12-29 21:13 | 显示全部楼层
胡斯哲 发表于 2013-12-28 22:12
偷偷告诉你  这是为了搞任务 网上搞的。。。  
是pudn上下载的。。。

好吧,PUDN没积分,下载不下来
 楼主| 胡斯哲 发表于 2013-12-29 21:15 | 显示全部楼层
zxf0168 发表于 2013-12-29 21:13
好吧,PUDN没积分,下载不下来

pudn不需要积分   
u880 发表于 2013-12-29 21:56 | 显示全部楼层
该怎么拯救英语不好的人
 楼主| 胡斯哲 发表于 2013-12-29 21:58 | 显示全部楼层
u880 发表于 2013-12-29 21:56
该怎么拯救英语不好的人

呵呵  正因为有有道才活到现在。。。
huigoushang 发表于 2013-12-29 22:02 | 显示全部楼层
准备下载看看 很有用的样子
zxf0168 发表于 2013-12-29 22:33 | 显示全部楼层
胡斯哲 发表于 2013-12-29 21:15
pudn不需要积分

怎么不需要啊,我记得是必须上传多少文件
 楼主| 胡斯哲 发表于 2013-12-29 22:36 | 显示全部楼层
zxf0168 发表于 2013-12-29 22:33
怎么不需要啊,我记得是必须上传多少文件

上传5个文件就够了了   以后全部免费下载了
zxf0168 发表于 2013-12-29 22:41 | 显示全部楼层
胡斯哲 发表于 2013-12-29 22:36
上传5个文件就够了了   以后全部免费下载了

好吧,我竟然不知道,我就上传了一个,貌似
地瓜patch 发表于 2013-12-29 22:45 | 显示全部楼层
哈哈,楼主很诚实啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:读书喝茶,不争朝夕

141

主题

1431

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:读书喝茶,不争朝夕

141

主题

1431

帖子

6

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