本帖最后由 zhoubin118 于 2020-2-11 15:12 编辑
PIC16F1779和MCP2515通讯的问题:
//----------------------------------------------------------------------
// 初始化SPI //---------------------------------------------------------------------- void INT_SPI() { SSP1CON1=0x10; //SSP1CON1<3:0>=0001,SPI设置为主模式,时钟= FOSC/16 空闲状态,时钟为高电平 SSPEN=0; //关闭SPI功能,便于设置SPI RB0PPS=0x23; //PPS外设输出功能SDO对应的代码是 0010 0011 这里RB0为SPI的SDO
RB2PPS=0x21; //PPS外设输出功能SCK对应的代码是 0010 0001 这里RB2为SPI的SCK
SSPDATPPS=0x09; //PPS外设输入功能SSPDATPPS选择输入口为RB1的话,对应的代码是0000 1001
SSP1CON2bits.SEN=1;
SSP1STATbits.SMP=0;
SSP1STATbits.CKE=1;
SSPEN=1; //使能SPI口
SSP1STAT=0; //清除BF位
}
//-----------------------------------------------------
// 初始化CPU
//------------------------------------------------------
void initcpu(void)
{
ANSELB=0x00; //B模拟量输入口全部设置关闭,为数字IO口
ANSELC=0x00; //C模拟量输入口全部设置关闭,为数字IO口
TRISB=0xFA; //B口对应的位设置输入和输出
TRISC=0xC0;
OSCCON=0x78; //配置内部振荡时钟为16MHz
}
|