找回密码
 立即注册
查看: 168|回复: 8

32g iic波特率问题

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-03-26 10:21:37
已绑定手机

6

主题

9

回帖

86

积分

注册会员

积分
86
发表于 2025-2-27 08:44:13 | 显示全部楼层 |阅读模式
请教一下各位大佬,我想使用全志t113与32g8k64进行iic通信,t113作为iic主机,stc32g8k64作为iic从机,但是通信没有成功。

目前看来好像是iic波特率不匹配的问题,于是我先是查看了t113的iic波特率是400khz,然后再查找stc芯片的iic波特率是多少,但是没有找到。

我是使用官方的《DMA-I2C从机中断模式与IO口模拟I2C主机进行自发自收》例程然后修改的iic从机代码,在代码中我没有找到iic波特率相关配置,然后翻数据手册也没有找到相关寄存器配置,不知道是不是我看漏了,想问问各位大佬iic波特率怎么看,怎么配置。


以下是例程中的一些iiic配置代码

void I2C_config(void)
{
    P_SW2 = (P_SW2 & ~(3<<4)) | (1<<4);     //IO口切换. 0: P1.4 P1.5, 1: P2.4 P2.5, 3: P3.3 P3.2

    I2CCFG = 0x80;                          //使能I2C从机模式
    I2CSLADR = 0x5a;                        //设置从机设备地址为5A
    I2CSLST = 0x00;
    I2CSLCR = ESTAI | ERXI | ETXI | ESTOI;  //使能从机模式中断
}



void DMA_Config(void)
{
        DMA_I2CT_STA = 0x00;
        DMA_I2CT_CFG = 0x80;                //bit7 1:Enable Interrupt
        DMA_I2CT_AMT = 0xff;                //设置传输总字节数(低8位):n+1
        DMA_I2CT_AMTH = 0x00;                //设置传输总字节数(高8位):n+1
        DMA_I2CT_TXAH = (u8)((u16)&DmaBuffer >> 8);        //I2C发送数据存储地址
        DMA_I2CT_TXAL = (u8)((u16)&DmaBuffer);
        DMA_I2CT_CR = 0x80;                //bit7 1:使能 I2CT_DMA, bit6 1:开始 I2CT_DMA

        DMA_I2CR_STA = 0x00;
        DMA_I2CR_CFG = 0x80;                //bit7 1:Enable Interrupt
        DMA_I2CR_AMT = 0xff;                //设置传输总字节数(低8位):n+1
        DMA_I2CR_AMTH = 0x00;                //设置传输总字节数(高8位):n+1
        DMA_I2CR_RXAH = (u8)((u16)&DmaBuffer >> 8);        //I2C接收数据存储地址
        DMA_I2CR_RXAL = (u8)((u16)&DmaBuffer);
        DMA_I2CR_CR = 0x81;                //bit7 1:使能 I2CT_DMA, bit5 1:开始 I2CT_DMA, bit0 1:清除 FIFO

        DMA_I2C_ST1 = 0xff;                //设置需要传输字节数(低8位):n+1
        DMA_I2C_ST2 = 0x00;                //设置需要传输字节数(高8位):n+1
}



void I2C_Delay(void) //for normal MCS51, delay (2 * dly + 4) T, for STC12Cxxxx delay (4 * dly + 10) T
{
    u16  dly;
    dly = MAIN_Fosc / 2000000UL;        //计算每次延时大约为5微秒
    while (--dly);
}


回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6843

积分

论坛元老

积分
6843
发表于 2025-2-27 09:15:23 | 显示全部楼层
I2C、SPI 作为从机时是不需要设置传输速度的,因为它们的CLK来源于主机。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-03-26 10:21:37
已绑定手机

6

主题

9

回帖

86

积分

注册会员

积分
86
发表于 2025-2-27 09:34:57 | 显示全部楼层
乘风*** 发表于 2025-2-27 09:15
I2C、SPI 作为从机时是不需要设置传输速度的,因为它们的CLK来源于主机。

哦哦谢谢,原来是这样,那就不是速率不匹配的问题了。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-03-26 10:21:37
已绑定手机

6

主题

9

回帖

86

积分

注册会员

积分
86
发表于 2025-2-27 09:36:19 | 显示全部楼层
我用逻辑分析仪抓了主机发的波形,主机发送4字节数据{0x00,0x10,0x20,0x40},结果波形是这样的,D7是sck线,D6是sda线,sck后面拉低了10ms,不知道为什么
无标题.png
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-03-26 10:21:37
已绑定手机

6

主题

9

回帖

86

积分

注册会员

积分
86
发表于 2025-2-27 09:38:01 | 显示全部楼层
是我主机有问题么,请问各位大佬iic主机识别不到iic从机都有哪些常见的原因呀
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:294
  • 最近打卡:2025-03-06 09:25:41

8

主题

318

回帖

1835

积分

金牌会员

积分
1835
发表于 2025-2-27 12:00:16 | 显示全部楼层
gdg.*** 发表于 2025-2-27 09:38
是我主机有问题么,请问各位大佬iic主机识别不到iic从机都有哪些常见的原因呀 ...

32G有返回Ack吗?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2025-03-26 10:21:37
已绑定手机

6

主题

9

回帖

86

积分

注册会员

积分
86
发表于 2025-2-27 13:51:37 | 显示全部楼层
Lkck*** 发表于 2025-2-27 12:00
32G有返回Ack吗?

有的,32g是正常的,有问题的是t113,现在情况是已经识别到32g作为的从机设备了,但是识别到的地址不对,我设置的是0x5a,结果t113获取到的设备地址是0x2d,我人蒙了

点评

这是7位地址和8位地址的问题 [attachimg]86204[/attachimg]  详情 回复 发表于 2025-2-27 16:12
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-04-30 08:42:14

10

主题

126

回帖

1463

积分

版主

积分
1463
发表于 2025-2-27 14:21:53 | 显示全部楼层
【新提醒】部分较难问题需要帮忙分析的,可跟贴放上原帖链接通知我 | 新问题另外开贴 - 第10页 - C语言,汇编语言,Proteus MCU软件仿真 国芯技术交流网站 - AI32位8051交流社区  https://www.stcaimcu.com/forum.p ... ;extra=&page=10
可以在这版块93楼查看
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:425
  • 最近打卡:2025-05-03 00:09:43
已绑定手机

77

主题

4850

回帖

8388

积分

超级版主

DebugLab

积分
8388
发表于 2025-2-27 16:12:14 | 显示全部楼层
gdg.*** 发表于 2025-2-27 13:51
有的,32g是正常的,有问题的是t113,现在情况是已经识别到32g作为的从机设备了,但是识别到的地址不对, ...


这是7位地址和8位地址的问题
7位地址不包括读/写位
8位地址包括读/写位
截图202502271610198943.jpg

DebugLab
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 00:42 , Processed in 0.147455 second(s), 114 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表