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

📄 spi.c

📁 一个通过串口与51通信的AVR的程序,还有一些其实功能
💻 C
字号:
#include <header.h>
#include <SPI.h>

unsigned char SPI_sen_dat[10];
unsigned char SPI_rev_dat[10];
unsigned char SPI_com_addr;
unsigned char SPI_send_len;
unsigned char SPI_rev_len;
unsigned char SPI_sended=0;
unsigned char SPI_reved=0;

void SPI_int(unsigned char SPI_SPCR,unsigned char SPI_SPI2X)
{
SPCR=SPI_SPCR;
/*
SPIE: 使能SPI中断
SPE: 使能SPI
DORD: 数据次序,置位时数据的LSB首先发送
MSTR: 主/从选择
CPOL: 时钟极性,置位表示空闲时SCK为高电平
CPHA: 时钟相位
SPR1, SPR0: SPI时钟速率选择
*/
SPSR = SPI_SPI2X & 0x01;		//SPI2X,SPI的速度加倍
}


void SPI_inr()
{

}


void SPI_send_c(unsigned char c)
{
while( !(SPSR & (1<<SPIF)) );	//SPIF: SPI 中断标志
SPDR=c;
}

void SPI_send_dat(unsigned char *dat,unsigned char lng) //发送数据
{
unsigned char i;
for(i=0;i<lng;i++)
	SPI_sen_dat[i]=dat[i];
for(i=0;i<lng;i++)
	SPI_send_c(SPI_sen_dat[i]);
SPI_sended=1;
}

void SPI_set(unsigned char spi_ctrl_reg,unsigned char double_sel)
{
SPCR = (SPCR&0xc0)|(spi_ctrl_reg&0x3f);
SPSR = double_sel & 0x01;
}

⌨️ 快捷键说明

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