⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spi.c

📁 完整的原创单片机控制彩色液晶源代码(keil工程) 320x240液晶模块底层驱动 控制芯片5408 CPU LPC2131(or Higher) 开发环境 keil C for ARM (MDK
💻 C
字号:
#include <LPC213x.h>
//#include "mytype.h"	//此文件包含uint等类型定义
//#include "myclock.h"	//此文件包含系统时钟 主要用于设定分频计数器的值
//#include "mygpio.h"	//此文件包含操作GPIO的宏定义

#include "SPI0.h"

#include "SPI.h"
//====================================================================================
void MSPIInit(void)
{  
	PINSEL0 = (PINSEL0 & (~(0xFF << 8))) | (0x55 << 8);	// 设置管脚连接SPI
	S0SPCCR = 8;
	//设置SPI时钟分频
	//必须为大于等于8的偶数
 	S0SPCR  = CPHA1 |	// CPHA = 0, 数据在SCK 的第一个时钟沿采样
			  CPOL1 |	// CPOL = 1, SCK 为低有效
 			  MSTR  |	// MSTR = 1, SPI 处于主模式
 			  MSB   |	// LSBF = 0, SPI 数据传输MSB (位7)在先
 			  SPIE0;	// SPIE = 0, SPI 中断被禁止
}
//====================================================================================
unsigned char MSPISendData(unsigned char data)
{
    S0SPDR = data;	//写待发送数据
    while((S0SPSR & 0x80) == 0);	// 等待SPIF置位,即等待数据发送完毕
    return (S0SPDR);	//返回MISO值 //其实大多是情况只有一个方向数据有意义
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -