一些囉嗦的地方就不翻譯了,直撲重點。怎麼用的部分。
pointer register
figure 8展示的是tmp102的內部暫存器,8位的暫存器pointer register用來定位其餘幾個暫存器。pointer register使用兩個lsb(見table 11)來決定哪乙個暫存器去回應讀或者寫的命令。table 1給出了pointer register 的每一位。對於寫命令,p2到p7必須是0.table 2給出了其餘幾個暫存器的位址。上電時p1/p0被賦值為『00』,預設的配置下,一上電,tmp102即開始讀取溫度。
temperature register是乙個12位的唯讀暫存器(將暫存器的em位配置成0,詳見extended mode章節),或者是乙個13位的暫存器(將暫存器的em位配置成0),這個暫存器裡儲存這最近一次通訊的輸出,要取得這一資料必須讀2個位元組,table 3,4描述了這兩個位元組。注意,byte 1是最重要的位元組,其次是byte 2。前12位(或extended mode時13位)用來描述溫度。如果相應的資訊不需要,可以不讀取byte 2。溫度資料的格式在table 5, 6中有具體的說明。乙個lbs相當於0.0625攝氏度。負數以二進位制補碼格式表示。在上電或者復位之後,temperature register的資料會保持0攝氏度,直到第一次通訊完成。byte 2的d0位表示是normal mode還是extended mode(d0為即是前述的em位),進而區分這兩種不同模式之下temperature register的資料格式。
對於正的溫度:
二進位制補碼對正數不起作用。因此直接將數字轉換成12位的二進位製碼,採用左對齊的格式。同時msb(最高有效位)=0,表示正號。
example: (+50°c)/(0.0625°c/count) = 800 = 320h = 0011 0010 0000
對於負溫度:
獲得二進位制補碼就是將溫度絕對值的二進位製碼取反再加1,mbs為1代表負號。
example: (|–25°c|)/(0.0625°c/count) = 400 = 190h = 0001 1001 0000
二進位制補碼: 1110 0110 1111 + 1 = 1110 0111 0000
綜上,簡單總結一下用法:
上電,給tmp102發乙個八位的資料,每一位都是0,然後tmp102就會返回乙個16位的資料,前12位是溫度資訊。通訊協議是i2c。
tim帶你學 HDFS讀取資料的流程
1 客戶端通過呼叫filesystem物件的open 來讀取希望開啟的檔案。2 client向namenode發起rpc請求,來確定請求檔案block所在的位置 3 namenode會視情況返回檔案的部分或者全部block列表,對於每個block,namenode 都會返回含有該 block 副本的...
Day102 資料型別 MySQL
常見數值型別 數值型 整型小數 定點數浮點數 字元型 較短的文字 char varchar 較長的文字 text blob 較長的二進位制資料 日期型 分類 tinyint smallint mediumint int integer bigint 1位元組 2位元組 3位元組 4位元組 8位元組 ...
ArcGIS10 2匯入資料到PostgreSQL
由於最近專案需要,需要把地理資料庫由oracle更換為postgresql資料庫,特此把遇到的一些坑記錄下來。因為arcgis版本採用的10.2版本,postgresql版本只能採用三個版本postgresql 9.0.5 64 bit postgresql 9.1.3 64 bit postgre...