spi.c
来自「avr单片机mega128 的串口通讯的完整程序」· C语言 代码 · 共 43 行
C
43 行
/*--------------------------------------------------*/
/* AVR-ARM开发网论坛 */
/* http://www.avrarm.com */
/* AVR生成代码测试程序 */
/*--------------------------------------------------*/
/* 程序由AVR辅助开发工具V2.1.1自动生成 */
/* AVR系统的处理器为: ATMega128 */
/* AVR系统的晶振频率: 8.0000 Mhz */
/*--------------------------------------------------*/
#include <iom128v.h>
#include "spi.h"
//-----------------------------------------------------------
//SPI Master初始化子程序
//-----------------------------------------------------------
void SPI_MasterInit(void)
{
DDR_SPI = (1<<DD_MOSI)|(1<<DD_SS)|(1<<DD_SCK); /* 设置MOSI 和SCK 为输出,其他为输入 */
SPCR = 0x70; /* 使能SPI 主机模式 */
SPSR = 0x00; /* 倍速 */
}
//-----------------------------------------------------------
//SPI Master发送子程序
//-----------------------------------------------------------
void SPI_MasterTransmit(unsigned char cData)
{
SPDR = cData; /* 启动数据传输 */
while(!(SPSR & (1<<SPIF))); /* 等待传输结束 */
}
//-----------------------------------------------------------
//SPI Master接收子程序
//-----------------------------------------------------------
unsigned char SPI_MasterReceive(void)
{
SPDR = 0xFF;
while(!(SPSR & (1<<SPIF))); /* 等待接收结束 */
return SPDR; /* 返回数据 */
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?