找回密码
 立即注册

QQ登录

只需一步,快速开始

开启左侧

[M051] Mini51 I2C有問題

  [复制链接]
rechin 发表于 2014-2-14 18:28:03 | 显示全部楼层 |阅读模式
我解決掉UART無法正常使用
但無法解決I2C問題
請高手指點問題

UART_I2C.zip

2.71 MB, 下载次数: 1810

回复

使用道具 举报

admin 发表于 2014-2-15 09:37:24 | 显示全部楼层
具体描述下遇到I2C的什么問題
牛卧堂
回复 支持 反对

使用道具 举报

 楼主| rechin 发表于 2014-2-15 15:58:59 | 显示全部楼层
I2C不能正確送出資料
我的成是是MASTER端 送給SLAVE(ADDRESS:0x68 換算是0XD0) 一筆資料是0X 應該要得到一個Byte(字節)回來
但我拿是波器去看是沒動作的
更奇怪的是他動作顯示已經完成了
所以上來問問
回复 支持 反对

使用道具 举报

admin 发表于 2014-2-17 09:26:20 | 显示全部楼层
至少先要示波器上能量测到 I2C信号,证明启动了I2C, 再分析示波器信号对不对。
牛卧堂
回复 支持 反对

使用道具 举报

 楼主| rechin 发表于 2014-2-17 10:13:29 | 显示全部楼层
剛剛改兩個地方 SDA SCL應該是P3.4 P3.5
但是我量訊號結果是SDA一直沒有被拉下來 一直在High
int32_t I2C_SW_Send(uint8_t u8Address, uint8_t* p8Data, uint32_t u32ByteSize)
{
    uint32_t u32count = 0;
    if(u32ByteSize == 0)
        return 0;
   
    I2C_SW_SDA = 1;
    I2C_SW_CLK = 1;
    CLK_SysTickDelay(u32_I2C_SW_Delay);
    I2C_SW_SDA = 0;  <------並沒有拉LOW

点评

Test  发表于 2016-3-23 12:14
回复 支持 反对

使用道具 举报

a_ziliu 发表于 2014-2-21 21:55:22 | 显示全部楼层
你是要用軟件的i2c,而不是硬件的i2c,建議你先上網看一下教程
http://www.nuvoton.com/NuvotonMO ... 7-bef0-81925bc2caf5
回复 支持 反对

使用道具 举报

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;
}
回复 支持 反对

使用道具 举报

harvardx 发表于 2016-3-23 15:03:48 | 显示全部楼层
看下对应cpu的samplecode吧 什么都有
回复 支持 反对

使用道具 举报

ketose 发表于 2016-3-28 09:17:49 | 显示全部楼层
我用M058S没有问题。。。 9.png

8.png

7.png

6.png

5.png

4.png

3.png

2.png

1.png

0.png

回复 支持 反对

使用道具 举报

iottech13 发表于 2016-7-27 09:27:04 | 显示全部楼层
我是個新手, 目前使用mini51, 想請問樓主, 您程式中的:
printf("+---------------------------------+\n");
    printf("|    Mini51 NuTiny Sample Code    |\n");
    printf("+---------------------------------+\n");
是顯示在keil中的Serial window1中, 還是那裏?

麻煩指教.
回复 支持 反对

使用道具 举报

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

本版积分规则

新唐MCU