找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

[M051] Mini51 I2C有問題

  [复制链接]
楼主
chimera 发表于 2016-3-23 12:15:58 | 显示全部楼层
rechin 发表于 2014-2-17 10:13
剛剛改兩個地方 SDA SCL應該是P3.4 P3.5
但是我量訊號結果是SDA一直沒有被拉下來 一直在High
int32_t I2C_S ...
紅色地方修改再試試看吧!!!

/* SDA = GP1.4, CLK = GP1.5 */
#define I2C_SW_SDA    P34
#define I2C_SW_CLK    P35

uint32_t u32_I2C_SW_Delay;

/**
  * @brief Prepare to start software I2C
  * @param u32BusClock    I2C Bus Clock (Hz)
  * @retval 0     Success
  */
int32_t I2C_SW_Open(uint32_t u32BusClock)
{
    if(u32BusClock>500000)
        u32_I2C_SW_Delay = 1;         
    else
        u32_I2C_SW_Delay =500000/u32BusClock;    /* Compute proper divider for I2C clock */
        
    /* Configure P1.4 and P1.5 as open-drain mode */
    GPIO_SetMode(P3, 0x30, GPIO_PMD_OPEN_DRAIN);
   
    I2C_SW_SDA = 1;
    I2C_SW_CLK = 1;
    return 0;
}
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU