使用89C52單片機通過I2C通信管理ADXL345傳感器,芯片是某寶買的,單片機是正規的開發板,最初一切都好好的,加速度數據顯示也正常,但是在添加一個EEPROM代碼時候突然數據顯示就不正常了,回到最初的代碼重新燒寫也沒用。于是寫了一個讀取各個寄存器的程序,發現器件ID不是0x5E了,變成0x61了,而且XYZ軸的低八位寄存器數值一直是0沒有變化,高八位的XYZ寄存器分別只會顯示(AF,0,1),(82,83,0),(AE,AF,0),也就是說傳感器被我搞成了個智障,只能分清正加速度,0,負加速度了。我以為傳感器壞了,還專門買了個新的,結果燒初始的測試程序也是這樣。感覺進度一夜回到xx前,大佬來救救我啊。我對傳感器的初始化設置只有這么幾項,最令我困惑的是同樣的代碼,第一次燒正常,出問題以后再燒就不正常了???硬件設備我感覺都沒壞啊
Single_Write_ADXL345(0x31,0x0B); //測量范圍,正負16g,13位模式
Single_Write_ADXL345(0x2C,0x08); //速率設定為12.5 參考pdf13頁
Single_Write_ADXL345(0x2D,0x08); //選擇電源模式 參考pdf24頁
Single_Write_ADXL345(0x2E,0x80); //使能 DATA_READY 中
|