HMC5883L手冊總結與經驗分析 詳解

2021-07-16 18:37:39 字數 2548 閱讀 4803

通訊方式:iic

工作電壓:2.16~3.6v

工作電流:100ua

羅盤航向精度:1°~2°

當達到預定的最大輸出頻率,才需要監控drdy中斷引腳

i2c介面

裝置包含乙個7-bits序列位址,並且支援標註和快速模式(100khz和400khz)。主機的活動(讀寫操作)優先於內部活動。

操作模式

連續測量模式

在選擇的速率下進行連續的測量,並將所測量的更新資料輸出暫存器。如果有必要資料可已多次讀取(同一次測量值)。如果主機沒有在下次測量完成之前讀取上一次的測量值,舊資料將被新資料覆蓋。連續測量模式下i2c匯流排可被網路內的其他裝置啟用。

單詞測量模式

這個是預設的供電模式。在單測量模式資料都會被存入相應的暫存器,在完成測量和輸出暫存器的更新以後,通過設定md[n] bits ,該裝置至於閒置模式,模式暫存器變更為閒置模式,單一測量模式影響測量配置(bits ms[n])。

閒置模式

在閒置模式下,裝置可被i2c匯流排訪問,但是主要能耗被禁止,且這個模式下所有暫存器保留數值。

暫存器

暫存器列表:

該裝置使用位址指標來顯示該暫存器是被讀或者寫。這些指標位置從主機發出到從機並獲得7位位址+1位讀寫表示符

無主機干預下位址指標自動更新:

①首先訪問12或更高的訪問指標更新至位址00

②當訪問達到08時,指標回滾到位址03

eg:

if(位址指標 = 08)

else if(位址指標 >= 12 )

位址指標本身無法通過i2c讀取

任何企圖讀取無效的位址位置將返回0,而任何無效的位址位置的寫入或在乙個有效的位址位置中乙個未定義的位均被該裝置忽略。

要讓位址指標移動到乙個隨機暫存器位址,首先對該暫存器位址發出"寫"的指令,之後再跟乙個無資料位。

配置暫存器a

配置暫存器b

模式暫存器

資料輸出x暫存器a和b

資料輸出y暫存器a和b

資料輸出z暫存器a和b

狀態暫存器

i2c通訊協議

hmc5883l使用的時乙個iic協議收定義的簡化後的通訊介面協議,傳輸速率是標準的100kpbs或者400kpbs。

匯流排格式是乙個 8位資料/位址傳送和1位應答位。有效的資料位元組格式應是區分大小寫的ascii字元或二進位制字元;返回值為二進位制資料,負的二進位制將以補碼形式傳回。

hmc5883l的預設7位從機位址為0x3c的寫入,0x3d的讀寫操作。

scl與sda線需要10k的上拉電阻。

①主機傳送啟動序列②傳送從機位址③第九個時鐘脈衝接收的從裝置會傳送ack或nack④主機傳送資料位元組以便寫入操作或從機在讀操作時進行時鐘輸出。⑤總機傳送停止序列的時候終止匯流排傳輸。

位址直接包含從機位址 先7位(bits7-1)和最低有效位(lsb;讀操作lsb = 1;寫操作lsb = 0)

例項操作

-需要配置暫存器:配置暫存器a、配置暫存器b、模式暫存器

-讀取資料暫存器(03~08)迴圈讀暫存器的值(6次);開始暫存器為0x30

-等待67ms

-結束迴圈

hmc伺服器簡介

hmc是乙個圖形介面的軟體,執行在經過定製的red hat linux之上,用來對p670之類的機器作lpar。硬體控制管理器,用來做lpar,目前用於ibm 630 p650 p670 p690等等。hmc 是host management console 的意思,是manage host 地co...

通過hmc啟動lpar的終端

hmc可用來管理ibm p系列伺服器,使用hmc後,大部分對p系列伺服器的操作都可在hmc上完成.hmc本身是乙個linux機器,可使用ssh遠端登陸.通過ssh使用hscroot使用者登陸到hmc後,hmc啟動乙個受約束的shell,這樣使用者的活動範圍就被限制在了比較小的範圍內,只能完成對hmc...

Codeforces 588E 樹上主席樹 Lca

codeforces 588e duff in the army 西安邀請賽網路賽j的公升級版本,要求輸出具體的方案,這題就沒辦法離線水過去了。對dfs序建乙個主席樹,那麼對於每個詢問答案就是 sum u sum v sum lca u,v sum fa lca u,v 之後就不難了,實現起來比較複...