欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 問一下各位STM32單片機HAL庫讀取ds3231流程的問題 [打印本頁]

作者: egsresrhtrhrtst    時間: 2023-4-25 22:42
標題: 問一下各位STM32單片機HAL庫讀取ds3231流程的問題
void DS3231_WR_Byte(uint8_t addr,uint8_t bytedata)
{
        
        static uint8_t DS3231_Data[2];
        DS3231_Data[0]=addr;
        DS3231_Data[1]=bytedata;
        HAL_I2C_Master_Transmit(&hi2c1,DS3231_WriteAddress,DS3231_Data, 2, 1000);                //判斷容量大小的
        
/*        
        I2C_Start();
        I2C_SendByte(DS3231_WriteAddress);
        I2C_WaitAck();
        I2C_SendByte(addr);
        I2C_WaitAck();
        I2C_SendByte(bytedata);
        I2C_WaitAck();
        I2C_Stop();*/
}        


uint8_t DS3231_RD_Byte(uint8_t addr)
{        

這塊以下可能有問題
        uint8_t Arec[2],value;
        HAL_I2C_Master_Receive(&hi2c1, DS3231_ReadAddress,addr, sizeof Arec, 1000);
        value=(Arec[0]<<8)|(Arec[1]);
        return value;
        

                                                                                                                                                                                                                                                                                                                        
/* uint8_t Dat=0;
        I2C_Start();
        I2C_SendByte(DS3231_WriteAddress);
        I2C_WaitAck();
        I2C_SendByte(addr);
        I2C_WaitAck();
        I2C_Start();
        I2C_SendByte(DS3231_ReadAddress);
        I2C_WaitAck();
        Dat=I2C_ReceiveByte();
        I2C_Stop();
        
        return Dat;*/
}


我想用HAL_HAL_I2C_Master_Transmit和HAL_I2C_Master_Receive庫函數替換標準函數,現在發送字節應該是沒問題了,讀取各位給看一下要怎么改一下呢


作者: Hephaestus    時間: 2023-4-25 23:10
STM32的硬件IIC是個大坑,坑的我在看datasheet之前要先看errata,先把硬件bug了解了才動手。對于IIC來說用軟件模擬比硬件靠譜太多了。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1