服务热线400-888-0024
新拓PIC单片机论坛 新拓PIC论坛携手高奇微电子,强势推出买PIC原装工具,送PIC国产工具活动 新拓PIC开发工具商城

Microchip PIC单片机论坛MICROCHIP 单片机应用专区MICROCHIP 8位单片机应用 → PIC18系列的硬件IIC无SCL波形输出


  共有2096人关注过本帖平板打印

主题:PIC18系列的硬件IIC无SCL波形输出

帅哥哟,离线,有人找我吗?
ajerry
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 贴子:1 积分:15 威望:0 精华:0 注册:2018-1-4 10:40:00
PIC18系列的硬件IIC无SCL波形输出  发贴心情 Post By:2018-1-4 11:06:00

第一次使用PIC18系列的芯片,在使用硬件IIC(MSSP)时,发现SCL、SDA上均无正常波形输出(示波器测量),一直为高电平,如下是MSSP模块初始化code: void i2c_master_init(void) { TRISCbits.TRISC3=1; //RC3--SCL R*--SDA TRISCbits.TRIS*=1; SSPCON1bits.SSPM0=0; SSPCON1bits.SSPM1=0; SSPCON1bits.SSPM2=0; SSPCON1bits.SSPM3=1; //I2C Master mode SSPSTATbits.SMP=1; SSPADD=19;//SCL CLOCK=8000000/(4*(SSPADD+1)) 100KHZ SSPCON1bits.SSPEN=1; PIE1bits.SSPIE=1; //INTCONbits.PEIE = 1; // INTCONbits.GIE = 1; } 读写函数基本就是按照网上标准的流程对SSPBUF操作,基本操作如下(中间有省略) SSPCON2bits.SEN=1;//start condition while(SSPCON2bits.SEN == 1);//waiting for Start condition completed PIR1bits.SSPIF=0; SSPBUF=0xAA; while(PIR1bits.SSPIF == 0); PIR1bits.SSPIF=0; ~ ~ SSPBUF=data; while(PIR1bits.SSPIF == 0); PIR1bits.SSPIF=0; SSPCON2bits.PEN=1;//stop condition 从设置的断点调试看,程序会卡在while(PIR1bits.SSPIF == 0);语句无法运行下去,如果把while语句**,示波器上也无时钟波形,感觉好像IIC模块根本没有工作,求指教!!! 我找了很多资料,INIT部分都是跟我一致的,没有牵涉其它寄存器配置了,是否我有遗漏?在线等

支持(0中立(0反对(0回到顶部