//从机设置如下
case USCI_I2C_UCTXIFG0:
UCB0TXBUF = j;
j++;
break; // Vector 26: TXIFG0
从机中不停的加一
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
主机配置如下
// Configure USCI_B0 for I2C mode
UCB0CTLW0 |= UCSWRST; // Software reset enabled
UCB0CTLW0 |= UCMODE_3 | UCMST | UCSYNC; // I2C mode, Master mode, sync
UCB0CTLW1 |= UCASTP_2; // Automatic stop generated
// after UCB0TBCNT is reached
UCB0BRW = 0x0008; // baudrate = SMCLK / 8
UCB0TBCNT = 0x0005; // number of bytes to be received 每次接收的字节的个数?????????????????????????????
UCB0I2CSA = 0x0048; // Slave address
UCB0CTL1 &= ~UCSWRST;
UCB0IE |= UCRXIE | UCNACKIE | UCBCNTIE;
我问题是 我每次读一次开始读连续的5个字节没有问题,硬件主机在不停的读到的数据是 1 2 3 4 5 7 8 9 10 11 13 14 15 16 17 每五个字节就会出现丢一个字节,我想的是从机中肯定哪里进入两次我的发送中断了,不知道有没有办法避免下
user5707170:
回复 灰小子:
嗯嗯,是我每次重新去读的时候开始丢一个字节的数据,调用IIC读的协议,每调用一次就会丢一个字节,中间读的过程中没有出现这个问题,非常感谢您的回复,我想的是是不是我退出读,或者开始读的时候触发了我的从机发送中断