<th id="alkcr"><pre id="alkcr"></pre></th>

  • ST MCU Finder
    安裝免費手機應用,
    尋找理想的ST MCU
    打印

    [STM8] STM8S105K4硬件IIC卡死在發送起始信號,怎么破?

    [復制鏈接]
    102|3
    跳轉到指定樓層
    樓主
    硬件IIC調試SHT30的
    一開始卡在等待總線空閑,后查貼,①設置了option byte AFR6 ②在初始化里加了復位I2C->CR2 |= 0x80;等待總線空閑問題解決。
    緊接著發送起始信號,通過串口打印信息發現 等待發送完成卡住了。沒有發送啟動信號,難道是硬件bug?還是有什么沒設置到位的地方?
    關鍵位置已用紅字標識。求解救!
    void I2C_Init(void)
    {
       CLK->PCKENR1|=0x01;//使能IIC時鐘
      I2C->CR1=0;   
      I2C->FREQR=16;//設置時鐘為16m
      I2C->CCRL=0x50;//100khz的IIC速度
      I2C->CCRH=0x00;
      I2C->TRISER=0x11;//250ns上升時間
      /* Enable I2C */
      I2C->CR1 |= I2C_CR1_PE;  
      I2C->CR2 |= 0x80;//復位一下 用于去除busy
    }
    void Driver_I2CSend(u8 Address,u8 *DataBuff,u16 DataLen)
    {         
      volatile u8 temp;//防止被優化而產生警告
      u16 time;  

      while(I2C->SR3&0x02)//等待總線空閑        
      printf("n1-------------!\n");//調試一開始卡在這,在初始化里加了   I2C->CR2 |= 0x80;這個位置就過了。  


      I2C->CR2 |= 0x01;//發送起始信號

      while((I2C->SR1&0x01)==0)//等待起始信號發送完畢,現在就卡在這了,卡了兩天了求大神解救!
      printf("n2-----hhhh---------\n");  

      ............以下程序先省略了
    }

    使用特權

    評論回復
    沙發
    | 2019-10-5 11:53 | 只看該作者
    你換個外設試試。是不是你這個外設有問題。

    使用特權

    評論回復
    板凳
    | 2019-10-5 11:53 | 只看該作者
    你試試官方的例子里的操作。如果還是這樣,可以考慮外部器件的電路是不是有問題。

    使用特權

    評論回復
    地板
     樓主 | 2019-10-5 12:39 | 只看該作者
    外設和電路連接沒有問題,因為用模擬IIC是可以的

    使用特權

    評論回復
    掃描二維碼,隨時隨地手機跟帖
    您需要登錄后才可以回帖 登錄 | 注冊

    本版積分規則

    我要發帖 投訴建議 創建版塊 申請版主

    快速回復

    您需要登錄后才可以回帖
    登錄 | 注冊
    高級模式

    論壇熱帖

    在線客服 快速回復 返回頂部 返回列表
    成人短片线上看