MSP430F149学习之路——SPI
代码一:
//******************************************************************************
//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的更多相关文章
- dubbo学习之路-SPI机制
dubbo学习之路-SPI机制 1.SPI 1.1Java SPI 原理 SPI是service provider interface简称.在java JDK中 内置的一种服务提供发现机制.它解决在一 ...
- MSP430F149学习之路——AD
代码一:Timer_A触发转换 #include <msp430x14x.h> void main() { WDTCTL = WDTPW + WDTHOLD; P6SEL |= BIT0; ...
- MSP430F149学习之路——蓝牙模块
注意蓝牙模块的接法! #include <msp430x14x.h> ]; ; void int_clk() { BCSCTL1 &= ~XT2OFF; BCSCTL2 |= SE ...
- MSP430F149学习之路——UART
代码一: #include <msp430x14x.h> void int_clk() { BCSCTL1 &= ~XT2OFF; BCSCTL2 |= SELM_2 + SELS ...
- MSP430F149学习之路——比较器Comparaor_A
代码一: #include <msp430x14x.h> ; void int_clk() { BCSCTL1 &= ~XT2OFF; BCSCTL2 |= SELM_2 + SE ...
- MSP430F149学习之路——PWM信号
代码一: /******************************* 程序功能:ACLK=32768Hz PWM波 T=512/32768 占空比75% ******************** ...
- MSP430F149学习之路——捕获/比较模式
1.捕获模式 #include <msp430x14x.h> unsigned ,last1=; unsigned ,j=; void mian(void) { WDTCTL = WDTP ...
- MSP430F149学习之路——时钟1
1.看门狗产生方波 #include <msp430x14x.h> void main() { WDTCTL = WDT_MDLY_32; IE1 |= WDTIE; P1DIR |= B ...
- MSP430F149学习之路——时钟2
代码一: /************************** 功能:LED每隔1秒闪烁一次 ****************************/ #include <msp430x14 ...
随机推荐
- Django数据库设计中字段为空的方式
今天在做数据库设计的时候,设计了如下User表,其中我把email和phone字段设置为允许为空: class User(models.Model): username = models.CharFi ...
- [terminal]Terminal常用快捷键
1. 终端操作 Ctrl+d/exit 退出当前Termina1 Ctrl+l/clear 清除屏幕 Ctrl+Alt+t/Ctrl+shift+n 打开新终端窗口 Ctrl+shift+ ...
- 黄聪:360浏览器如何使用插件实现解除网页禁用右键复制的限制(Enable Copy)
使用Enable Copy插件即可. 插件下载:Enable-Copy_v1.15.rar
- 黄聪:360浏览器、Chrome调试(debugger)JS总是进入paused in debugger状态
在通过Chrome浏览器进行web前端开发时,我们会经常用到Chrome自带的debugger工具,但是经常按完快捷键(F12)后,页面会进入paused in debugger状态,需要点击右上角的 ...
- (C/C++) 算法,编程题
注: 如下的题目皆来自互联网,答案是结合了自己的习惯稍作了修改. 1. 求一个数的二进制中的1的个数. int func(int x) { ; while (x) { count++; x = x&a ...
- Observer - IO (File Monitor)
1. 概述 有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己. 2. ...
- 【Java】PrettyTime
package test; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.D ...
- Axis2/c 知识点
官网文档: http://axis.apache.org/axis2/c/core/docs/axis2c_manual.html 从文档中可以总结出: 1. Axis2/C是一个用C语言实现的We ...
- ASCII码排序(未完)
用指针数组 存放多个字符串 描述输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符. 输入 第一行输入一个数N,表示有N组测试数据.后面的N行输入多组数据,每组输入数据 ...
- cvc-elt.1: 找不到元素 'beans' 的声明
这次遇到的这个错误又坑爹又低级 , 是因为网上抄到了错误的xsd搞的. 这是网上抄到的 xsi:schemalocation=" http://www.springframework.org ...