代码一:

 //******************************************************************************
//Description:SPI slave talks to SPI master using 3-wire mode. Data is sent
//to the master starting at 0x00 and increments. Received data from the
//master is expected to start at 0xff and decrements with each transmission.
//******************************************************************************
#include <msp430x14x.h>
char MST_data = 0x00,SLV_data = 0XFF;
void main()
{
WDTCTL = WDTPW + WDTHOLD; P6DIR |= BIT0;
P6OUT |= BIT0;
P3SEL = 0X0E; //P3.1,2,3 SPI option select
P3DIR |= BIT1;
P3OUT |= BIT1; U0CTL |= SWRST + SYNC + MM +CHAR; //master spi 8-bit
U0TCTL |= CKPH + SSEL1 + STC;
U0TCTL &= ~CKPL; U0BR0 = 0X02; //SPICLK = SMCLK/2
U0BR1 = 0X00;
U0MCTL = 0X00; ME1 = USPIE0;
U0CTL &= ~SWRST;
IE1 |= URXIE0; //receive enable
_EINT(); while()
{
TXBUF0 = MST_data;
LPM0;
}
}
#pragma vector=USART0RX_VECTOR
__interrupt void SPI_RX()
{
P6OUT ^= BIT0;
while((IFG1 & UTXIFG0)==);
if(U0RXBUF == SLV_data)
{
SLV_data = SLV_data - ;
MST_data = MST_data + ;
U0TXBUF = MST_data;
}
else
TXBUF0 = MST_data;
}

代码二:

 #include <msp430x14x.h>
char MST_data = 0x00,SLV_data = 0xff;
void main()
{
WDTCTL = WDTPW + WDTHOLD;
P3SEL = 0X0E;
UOCTL = CHAR + SYNC + SWRST;
U0TCTL = CKPL + SSEL1 + STC;
U0CLT &= ~CKPH; ME1 |= USPIE0;
U0CTL &= ~SWRST;
IE1 |= URXIE0;
_EINT();
while()
{
TXBUF0 = SLV_data;
LMP4;
}
}
#pragma vector=USART0RX_VECTOR
__interrupt void USART0_RX()
{
while((IFG1 & OFIFG)==);
if(U0RXBUF == MST_data)
{
SLV_data = SLV_data - ;
MST_data = MST_data + ;
TXBUF0 = SLV_data;
}
else
TXBUF0 = SLV_data;
}

MSP430F149学习之路——SPI的更多相关文章

  1. dubbo学习之路-SPI机制

    dubbo学习之路-SPI机制 1.SPI 1.1Java SPI 原理 SPI是service provider interface简称.在java JDK中 内置的一种服务提供发现机制.它解决在一 ...

  2. MSP430F149学习之路——AD

    代码一:Timer_A触发转换 #include <msp430x14x.h> void main() { WDTCTL = WDTPW + WDTHOLD; P6SEL |= BIT0; ...

  3. MSP430F149学习之路——蓝牙模块

    注意蓝牙模块的接法! #include <msp430x14x.h> ]; ; void int_clk() { BCSCTL1 &= ~XT2OFF; BCSCTL2 |= SE ...

  4. MSP430F149学习之路——UART

    代码一: #include <msp430x14x.h> void int_clk() { BCSCTL1 &= ~XT2OFF; BCSCTL2 |= SELM_2 + SELS ...

  5. MSP430F149学习之路——比较器Comparaor_A

    代码一: #include <msp430x14x.h> ; void int_clk() { BCSCTL1 &= ~XT2OFF; BCSCTL2 |= SELM_2 + SE ...

  6. MSP430F149学习之路——PWM信号

    代码一: /******************************* 程序功能:ACLK=32768Hz PWM波 T=512/32768 占空比75% ******************** ...

  7. MSP430F149学习之路——捕获/比较模式

    1.捕获模式 #include <msp430x14x.h> unsigned ,last1=; unsigned ,j=; void mian(void) { WDTCTL = WDTP ...

  8. MSP430F149学习之路——时钟1

    1.看门狗产生方波 #include <msp430x14x.h> void main() { WDTCTL = WDT_MDLY_32; IE1 |= WDTIE; P1DIR |= B ...

  9. MSP430F149学习之路——时钟2

    代码一: /************************** 功能:LED每隔1秒闪烁一次 ****************************/ #include <msp430x14 ...

随机推荐

  1. HDU3507 print artical

    题目大意:有N个数字a[N],每输出连续的一串,它的费用是 “这行数字的平方加上一个常数M”.问如何输出使得总费用最小.(n<=500000) 分析:动态规划方程为:dp[i]=dp[j]+M+ ...

  2. svn: E200030: sqlite[S10]: disk I/O error

    1. 经遇到的问题,它出现(在我的情况下,至少)要与TortoiseSVN的相互作用.禁用TortoiseSVN的图标缓存(设置>图标重载>缓存“无”>申请)拥有的一切工作就好了 ( ...

  3. Nginx_地址重写(rewrite)_日志管理(log_format)_压缩输出_Nginx设定限速_Nginx设置反向代理及反向代理缓存

    Nginx地址重写 Nginx rewrite rewrite语法规则1).变量名可以使用 "=" 或 "!=" 运算符~ 区分大小写~* 不区分大小写^~ 禁 ...

  4. U3d中实现A*寻路,附源文件

    图片看不清楚,请点击看大图 http://pan.baidu.com/s/1pKwmOYn   写了好多,没保存,哎哎哎 空格键开始移动

  5. LinkedHashMap的实现原理(复习)

    1. LinkedHashMap概述: LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序.此实现提供所有可选的映射操作,并允许使用null值和null键.此类不保证映 ...

  6. HDU 1506 Largest Rectangle in a Histogram set+二分

    Largest Rectangle in a Histogram Problem Description: A histogram is a polygon composed of a sequenc ...

  7. 网页设计中常用的Web安全字体

    但多数情况下,考虑各个因素的影响我们还是在尽量充分利用这些默认调用的字体实现CSS的编写,这里整理了19个Web安全字体,让你无需任何顾虑的情况下畅快使用. 1,  Arial 微软公司的网页核心字体 ...

  8. Java 内存泄露

    一.Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址.Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Hea ...

  9. Opencv 2.4.9在Ubuntu下的配置与安装

    [原]Opencv 2.4.9在Ubuntu下的配置安装  Opencv 2.4.9在Ubuntu下的配置与安装 surgewong@gmail.com http://blog.csdn.net/su ...

  10. SQL Server 2005中的分区表(一):什么是分区表?为什么要用分区表?如何创建分区表?(转)

      如果你的数据库中某一个表中的数据满足以下几个条件,那么你就要考虑创建分区表了. 1.数据库中某个表中的数据很多.很多是什么概念?一万条?两万条?还是十万条.一百万条?这个,我觉得是仁者见仁.智者见 ...