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