完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在通过 LPC1768 上的 I2C 总线编程数据通信。为了测试通信,我用 I2C1 环回了电路板的 I2C0 总线。I2C0 应该作为主机,I2C1 作为从机。但是,在发送数据电报时,我总是在状态寄存器中收到“0x38 Arbitration lost in SLA+R/W or Data bytes”消息,然后进程终止。
void I2C1_config(void) { LPC_SC->PCONP |= (1 << 19); LPC_PINCON->PINSEL1 &= ~0x000003C0; LPC_PINCON->PINSEL1 |= 0x000003C0; LPC_I2C1->I2CONCLR = I2C_CON_FLAGS ; //清除所有标志 NVIC_EnableIRQ(I2C1_IRQn); LPC_I2C1->I2ADR0= 0b10100000; LPC_I2C1->I2MASK0=0xA0; LPC_I2C1->I2CONSET |= I2C_CON_I2EN | I2C_CON_AA;//I2C0使能 LPC_I2C0->I2CONSET |= I2C_CON_STA; } void I2C0_config(void) { LPC_SC->PCONP |= (1 << 7); LPC_PINCON->PINSEL1 &= ~0x03C00000; LPC_PINCON->PINSEL1 |= 0x01400000;// SDA 和 SCL LPC_I2C0->I2CONCLR = I2C_CON_FLAGS ; //清除 I2C0CON 寄存器 LPC_I2C0->I2SCLL = I2SCLL_SCLL;//任务循环 LPC_I2C0->I2SCLH = I2SCLH_SCLH; //PCLK_I2C0=25MHz ,SCLH+SCLL=250, I2Cbitrate=PCLK_I2C0/(SCLH+SCLL) NVIC_EnableIRQ(I2C0_IRQn); //中断使能 LPC_I2C0->I2CONSET |= I2C_CON_I2EN;//I2C0使能 I2C1_配置(); } 这是我的配置 在我的 I2C0 中断处理程序中,我只处理从机 void I2C0_IRQHandler(void){ uint8_t 统计值; StatValue = LPC_I2C0->I2STAT; 开关(统计值){ 案例 0x08: LPC_I2C0->I2DAT=state_vec[0]; LPC_I2C0->I2CONCLR=0x08; 休息; 案例 0x38: LPC_I2C0->I2CONSET=0x20; LPC_I2C0->I2CONCLR=0x08; 休息; 案例 0x68: LPC_I2C0->I2CONSET=0x20; LPC_I2C0->I2CONCLR=0x08; 休息; } } 这是我的 I2C1 中断处理程序 void I2C1_IRQHandler(void){ 开关(LPC_I2C1->I2STAT) { 案例 0x60: LPC_I2C1->I2CONSET=0x04; LPC_I2C1->I2CONCLR=0x08; 休息; 案例 0x70: LPC_I2C1->I2CONSET=I2C_CON_AA; LPC_I2C1->I2CONSET=I2C_CON_SI; 休息; 案例 0x80: 休息; 案例 0xA0: LPC_I2C1->I2CONSET=0x04; LPC_I2C1->I2CONCLR=0x08; } } 在我寻址从机并清除 I2C0 中断标志后,I2C0 状态为: 0x38 SLA+R/W 或数据字节中的仲裁丢失 而 I2C1 的状态是:0x60 Own SLA+W received; ACK返回 从那里我必须重新启动 0x38 状态的进程原因。有人可以调查一下并告诉我我做错了什么。我需要在寻址后发送一个数据字节。 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
1907个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36358 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4396 浏览 0 评论
6050 浏览 1 评论
6763 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4213 浏览 0 评论
619浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
614浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
606浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
694浏览 2评论
798浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 02:16 , Processed in 1.174488 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号