PIC18F 硬件SPI读写 GT21L16S2W

1. SPI模式

在这里插入图片描述
SSP1STATbits.CKE = 0; //CKE=0, 时钟由空闲变为有效时发送 SSP1CON1bits.CKP = 1; // CKP=1, 空闲时高电平 // CKP=0, 空闲时低电平
在这里插入图片描述
SSP1STATbits.SMP = 0; //SMP=0, 在数据输出时间的中间采样 SSP1STATbits.CKE = 0; //CKE=0, 时钟由空闲变为有效时发送
在这里插入图片描述
在这里插入图片描述
SSP1CON1bits.CKP = 1; // CKP=1, SCK空闲时高电平 // CKP=0, SCK空闲时低电平

2. GT21L16S2W资料

在这里插入图片描述

3. 实际演示代码

void  SPI_Init(void){       // Set the SPI1 module to the options selected in the User Interface        // SMP Middle; CKE Idle to Active;     SSP1STAT = 0x00;        // SSPEN enabled; WCOL no_collision; CKP Idle:High, Active:Low; SSPM FOSC/64; SSPOV no_overflow;     SSP1CON1 = 0x32;        // SSP1ADD 0;     SSP1ADD = 0x00;    }void  SPI_Write(uint8_t data){
    SSP1CON1bits.WCOL = 0;    PIR1bits.SSP1IF = 0;    SSP1BUF = data;    while(!PIR1bits.SSP1IF );    PIR1bits.SSP1IF = 0;
}uint8_t SPI_Read( void ){    SSP1CON1bits.WCOL = 0;    PIR1bits.SSP1IF = 0;    SSP1BUF = 0x00;                  // 初始化SPI总线读写周期    while ( !PIR1bits.SSP1IF );      // 等待接收完成    PIR1bits.SSP1IF = 0;    return ( SSP1BUF );  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值