linux io模拟时序,spi四种模式io模拟时序

#endif/*********************************************模式一 写数据*********************************************/#if _CPOL==0_CPHA==1 //MODE 0 1void SPI_Send_Dat(unsigned char dat){unsigned char n;SCK_D(0);for(n=0;n8;n++){SCK_D(1);if(dat0x80)MOSI_D(1);else MOSI_D(0);dat=1;SCK_D(0);}}/*********************************************模式一 读数据*********************************************/unsigned char SPI_Receiver_Dat(void){unsigned char n ,dat,bit_t;for(n=0;n8;n++){SCK_D(1);dat=1;if(MISO_I())dat|=0x01;else dat=0xfe;SCK_D(0);}SCK_D(0);return dat;}#endif//#if _CPOL==1_CPHA==1 //MODE 1 1void SPI_Send_Dat(unsigned char dat){unsigned char n;SCK_D(1);for(n=0;n8;n++){SCK_D(0);if(dat0x80)MOSI_D(1);else MOSI_D(0);dat=1;SCK_D(1);}}/************************************模式三 读数据************************************/unsigned char SPI_Receiver_Dat(void){unsigned char n ,dat,bit_t;SCK_D(0);for(n=0;n8;n++){ SCK_D(0);dat=1;if(MISO_I())dat|=0x01;else dat=0xfe;SCK_D(1);}SCK_D(1);return dat;}#endif/**************************************************************************/void main(){SPI_Init();DDRB = 0XFF;//#if _CPOL//SCK_D(0);//#endifwhile(1){//SSEL_D(0);//SPI_Send_Dat(0x01);//SPI_Send_Dat(0x31);//SSEL_D(1);SSEL_D(0);SPI_Send_Dat(0x81);PORTB =SPI_Receiver_Dat();SSEL_D(1);//delay();}}

2936547a77771607184bbd002cfb94bb.png

51单片机相关文章:51单片机教程

上一页

1

2

下一页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值