使用PIC18F45,IO C寄存器在用PIKIT 3调试时不存在于IO视图中。在Time2上,I只能SEEPEI4PIR4PMD1T2CON。这是正常的吗?Q 以上来自于百度翻译 以下为原文 Using Pic18F45 - the I2C registers are not present in io view when debugging with a Pickit 3. Also on Timer2 I can only seePIE4PIR4PMD1T2CON. Is thi snormal ? Q
2018-09-29 16:06
ACKDT ACKSTAT ACKT -- RXOV TXU CSD I2C2CON1 = 0x80;// 1 0 0 0 0 0 0 0// ACNT GCEN FME ADB* SDAHT BFRET
2018-11-02 15:03
I2C2_Initialize(void){ if(!I2C2CON0bits.EN || lastError != I2C2_GOOD) {lastError = I2C2_GOOD;// TXU 0; CSD
2018-09-26 16:35
以MCC生成的I2C从配置为起点,也是ISR(随着修改次数的增加)!读取和写入奴隶产生相同的结果:地址被复制到ADB0,ADRIF被设置。但是从来没有ACK:SDA在地址字节之后仍然很高。查看错误,唯一标志的是NACKIF和NACKIF。在清除ADRIF后,它们在CycCurn2C1后标记。然后不要走。已经尝试了地址掩码设置在0x00和0x7f。有很多寄存器,甚至尝试迫使一些(Akdt=1)尝试获得一个ACK…其他设备在同一网络上反应良好,这个PIC运行在64 MHz,而I2C是63kHz。有什么想法吗? 以上来自于百度翻译 以下为原文 Took MCC generated i2c Slave configuration as starting point & also their ISR (with an increasing number of modifications!). Reading and Writing to the slave produce the same result: the address is copied to ADB0 and ADRIF is set. But there is never an ACK: instead SDA remains high after the address byte. Looking at the ERRbits, the only ones that ever flag are NACK1IF and NACKIF. They flag up after clearing I2C1IF, after clearing ADRIF. And then don't go away. Have tried with the address mask set both at 0x00 and 0x7F. There are a lot of registers and have even tried forcing some (ACKDT=1) to try to get an ACK... To no avail. Other devices respond fine on the same network and this PIC is running at 64MHz whilst the i2c is 63kHz. Any ideas?
2018-11-28 16:45
;// TXU 0; CSD Clock Stretching enabled; ACKT 0; RXO 0; ACKDT Acknowledge; ACKSTAT ACK received
2018-09-27 15:00