Microchip
直播中

陈玉英

7年用户 135经验值
私信 关注
[问答]

如何用MSSP和MPLABX汇编

花了几个小时试图让I2C在这个委员会上工作。我用MSSP和MPLABX汇编汇编。单片机是PIC16LF1619。默认情况下,我不清楚哪个引脚是SDA和SCL。我认为它们分别是RB4和RB6。无论我尝试什么,在RB4或RB5上使用逻辑分析器都没有看到任何活动。当然,我的代码可能有问题,但是我已经仔细地按照Micro.Appnotes来构造它。已经尝试了多种参数的组合。没有成功。如果RB4和RB6缺省工作,我必须使用SSPCLKPPS和其他重新分配特性OR吗?我可以发布代码,但在此之前,我想了解时钟和数据的管脚分配。谢谢,Excessor。

回帖(19)

陈鲜孰

2020-4-30 11:50:23
I2C需要上拉。好奇心在船上没有。另外,如果总线上没有其他字节,那么每个字节都将是裸的。如果你想让I2C工作,你需要在总线上与别的东西通信,最好是一些非常简单的东西,比如PCF8574 8位I/O扩展器,它必须是现有的“最笨的”I2C外围设备,因为它没有任何配置寄存器,所以发送给它的数据就变成str。AIT到它的八个端口引脚和数据读取从直接来自它的端口!
举报

孙琪

2020-4-30 11:58:39
非常感谢你的回应。我拉什么“认为”的SCL和SDA线是(RB4和RB6),虽然我不确定这些线是默认连接。我很欣赏指针的PCF854扩展器进行测试。刚才,我正在使用一个2×16液晶显示器。我已经阅读了关于MSSP的PIC16LF1619章,直到我能在睡眠中看到它。当然,我可能错过了一些小步,因为我从来没有看到RB4和RB6与分析仪的活动。也许下一次尝试…谢谢
举报

陈鲜孰

2020-4-30 12:11:43
表13-1:PIC的数据表中的PPS输入寄存器重置值为您提供默认引脚。我希望显示器的I2C接口是3.3V。否则你需要某种电平转换器。参见:用于I2C总线和其他系统的双向电平移位器(例如3.3V<->5.0V):来自NXP(飞利浦)N.B。许多I2C接口HD44780兼容LCD显示器使用PCF8574(A)来转换fROM I2C到日立4位模式接口。如果您打算在总线上放置另一个PCF8574(A)进行测试,请确保将其用于不同地址的地址引脚绑到显示器上。
举报

王玉华

2020-4-30 12:17:33
我很肯定你必须映射(PPS)输出引脚,见表13-2。输入将默认,但输出将被设置为端口。参见第13.3节。它还在框中指出,如果不使用默认的I2C引脚,就不会得到I2C阈值水平。由于没有发布代码,因此我看不出是否设置了输出PPS.GP。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分