欢迎来到天天文库
浏览记录
ID:37691807
大小:18.55 KB
页数:7页
时间:2019-05-28
《spi底层函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、/**SPI.c**Createdon:2014-8-1*Author:John*/#include"MSP430F247.h"//P5.0:CS(模组片选段,高电平有效)//P5.1:SID(串行数据输入端)//P5.3:CLK(串行同步时钟,上升沿时读取SID数据)//************硬件SPI管脚宏定义*****************#defineSPI_SIMOBIT1//X.1#defineSPI_SOMIBIT2//X.2#defineSPI_CLKBIT3//X.3#defineSPI_CSBIT0//X.0//***
2、*********硬件SPI控制端口宏定义***************//#defineSPI_SEL2P5SEL2#defineSPI_SELP5SEL#defineSPI_DIRP5DIR#defineSPI_OUTP5OUT#defineSPI_RENP5REN//************使能端CS端口宏定义******************//#defineSPI_CS_SEL2P5SEL2#defineSPI_CS_SELP5SEL#defineSPI_CS_OUTP5OUT#defineSPI_CS_DIRP5DIR//***
3、*********定义发送/接收缓存*******************unsignedchar*SPI_Tx_Buffer;unsignedchar*SPI_Rx_Buffer;//************定义待发送/接收的字节数**************unsignedcharSPI_Tx_Size=0;unsignedcharSPI_Rx_Size=0;//************定义发送/接收模式标志****************unsignedcharSPI_Rx_Or_Tx=0;//0:仅接收1:仅发送2:收发/******
4、******************************************名称:SPI_init()初始化函数*功能:对硬件SPI进行初始化设置*入口参数:无*出口参数:无*说明:如需使用后面的读写函数,在程序开始必须先调用该初始化函数*范例:SPI_init();***********************************************/voidSPI_B1_init(void){//管脚初始化为SP功能SPI_SEL
5、=SPI_CLK+SPI_SOMI+SPI_SIMO;//设置第二功能//SPI_SEL2
6、
7、=SPI_CLK+SPI_SOMI+SPI_SIMO;SPI_DIR
8、=SPI_CLK+SPI_SIMO;//设置输出//SD卡SPI模式下,需要将SOMI加上拉电阻//SPI_REN
9、=SPI_SOMI;//SPI_OUT
10、=SPI_SOMI;//使能CS管脚为输出功能SPI_CS_SEL&=~SPI_CS;//SPI_CS_SEL2&=~SPI_CS;SPI_CS_OUT
11、=SPI_CS;SPI_CS_DIR
12、=SPI_CS;//复位UCB1UCB1CTL1
13、=UCSWRST;//3_pin,8_pinSPI主机模式上升沿UCB1CTL0
14、=UCCKPL+UCMSB+UCMST+UCMODE_0+UCSYNC;//时钟选择SMCLK,MSBfirstUCB1CTL1=UCSWRST+UCSSEL_2;//f_UCxCLK=8MHz/40=200kHzUCB1BR0=40;UCB1BR1=0;//UCA0MCTL=0;//开启UCA0UCB1CTL1&=~UCSWRST;//清除中断标志位UC1IFG&=~(UCB1RXIFG+UCB1TXIFG);_bis_SR_register(GIE);}/******************************************
15、******名称:SPI_CS_High()使能控制函数*功能:3线硬件SPI模式,控制使能CS管脚为高电平*入口参数:无*出口参数:无*说明:此处的CS管脚可以根据硬件的需要,任意指定管脚做CS均可*范例:SPI_CS_High();***********************************************/voidSPI_CS_High(){SPI_CS_OUT
16、=SPI_CS;}/************************************************名称:SPI_CS_Low()*功能:3线
17、硬件SPI模式,控制使能CS管脚为低电平*入口参数:无*出口参数:无*说明:此处的CS管脚可以根据硬件的需要,任意指定管脚做CS均可*范例:SPI_CS_Low()
此文档下载收益归作者所有