首页 > 学院 > 开发设计 > 正文

单片机:C语言实验SPI通信-读写操作

2019-11-11 05:12:16
字体:
来源:转载
供稿:网友
/*SPI通信,发送:先高后低;接收:先高后低;*//*函数名:spi_write();工作过程:上升沿写数据,每次写入1bit*/void spi_write(uint8 spi_data){uint i;spi_cs = 0;sck = 0;for(i=0;i<8;i++){if(spi_data & 0x80)//判断最高位,先发送最高位mosi_1;             //数据总线准备数据1elsemosi_0; //数据总线准备数据0sck = 1; //上升沿到来sck:0->1,数据总线上的数据写入到spi器件spi_data <<= 1;//左移丢弃已经输出的最高位sck = 0; //拉低sck,初始化为0}spi_cs = 1;}//-----------------------------------------------------/*函数名:spi_read();工作过程:下降沿读取数据,每次读取1bit*/void spi_read(void){uint8 i;uint8 spi_data;spi_cs = 0; //首先选中器件for(i=0;i<8;i++){spi_data <<= 1;//sck = 1;if(moso) //读取最高位,保存至最末尾,通过左移位完成整个字节spi_data |= 0x01;elsespi_data &= ~0x01;sck = 0; //下降沿到来sck:1->0,moso上的数据将发生改变,稳定后存入spi_data}spi_cs = 1;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表