亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標(biāo)題: GP22單片機寄存器設(shè)置例子 [打印本頁]

作者: 13386066995    時間: 2023-8-16 11:38
標(biāo)題: GP22單片機寄存器設(shè)置例子
硬件設(shè)計,見參考手冊。
軟件設(shè)計:

配置寄存器0的設(shè)置: 0x00C53855
  
D31
  
D30
D29
D28
D27
D26
D25
D24
0
0
不使用FIRE脈沖,個數(shù)為0
不使用FIRE 分頻
0x00


  
D23
  
D22
D21
D20
D19
D18
D17
D16
0           1
0
0           1
0
1
校準(zhǔn)周期為16個
不分頻就用4MHz
晶振一直開啟
2個測溫
512us
0x25

  
D15
  
D14
D13
D12
D11
D10
D9
D8
0
0
1
1
1
0
0
0
2熱身
選32K
開啟校準(zhǔn)
運行校準(zhǔn)
范圍2
上升
上升
上升沿
0x38

  
D7
  
D6
D5
D4
D3
D2
D1
D0
































0x55 隨便寫一個數(shù)字

配置寄存器1的設(shè)置   0x21c13f55
  
D31
  
D30


D29
D28
D27
D26
D25
D24


2
1


只測一個脈沖,STOP1
只有START 故只能設(shè)為1
0x21


  
D23
  
D22
D21
D20
D19
D18
D17
D16
1
1
0
1
快初始


STOP2的脈沖數(shù),不捕獲
STOP1的脈沖數(shù),捕1個
0xc1

  
D15
  
D14
D13
D12
D11
D10
D9
D8
0
0
1
1
1
1
1
1
功耗
外部
輸出4KHz 不用EnStart功能
輸出32K,不用FIRE_IN功能
0x3F  我們可以測一下DIS引腳和FIN腳 是不是有4K和32K信號來證明設(shè)置是否正確
0x07 則我們設(shè)置EN_START功能。
  
D7
  
D6
D5
D4
D3
D2
D1
D0
































0x55 隨便寫一個數(shù)字


配置寄存器2的設(shè)置  0xE0002055
  
D31
  
D30
D29
D28
D27
D26
D25
D24
1
1
1
0
0
0
0
0
只開啟ALU中斷
上升
上升


0xE0    改成E0試一下看中斷到底產(chǎn)不產(chǎn)生   延時改成2us

  
D23
  
D22
D21
D20
D19
D18
D17
D16
0
0
0
0
0
0
0
0
















0x00


  
D15
  
D14
D13
D12
D11
D10
D9
D8
0
1
0
0
0
0
0
0






這個是5位小數(shù)部分
0x20   改成2us后才計算這個STOP1  5位小數(shù)部分不管它了

  
D7
  
D6
D5
D4
D3
D2
D1
D0
































0x55 隨便寫一個數(shù)字

配置寄存器3的設(shè)置   0x90000055         B80000055 這個就是4096us
  
D31
  
D30
D29
D28
D27
D26
D25
D24
1
0
0
1
0
0
0
0
自動
第1波關(guān)
FFFFFF
1024us






0xb8

  
D23
  
D22
D21
D20
D19
D18
D17
D16
0
0
0
0
0
0
0
0
















0x00

  
D15
  
D14
D13
D12
D11
D10
D9
D8
0
0
0
0
0
0
0
0






STOP1第2個波整數(shù)部分14位   小數(shù)部分5位
0x00

  
D7
  
D6
D5
D4
D3
D2
D1
D0
















0
1
0
1








0x55 隨便寫一個數(shù)字


配置寄存器4的設(shè)置  0x20000055
  
D31
  
D30
D29
D28
D27
D26
D25
D24
2








默認(rèn)值








0x20

  
D23
  
D22
D21
D20
D19
D18
D17
D16
































00


  
D15
  
D14
D13
D12
D11
D10
D9
D8
































00

  
D7
  
D6
D5
D4
D3
D2
D1
D0
































0x55
配置寄存器5的設(shè)置  0x18000055
  
D31
  
D30
D29
D28
D27
D26
D25
D24
0
0
0
1
1
0
0
0






開噪聲
關(guān)噪聲
不用聲環(huán)法
0x18

  
D23
  
D22
D21
D20
D19
D18
D17
D16
0
0
0
0
0
0
0
0
















00


  
D15
  
D14
D13
D12
D11
D10
D9
D8
0
0
0
0
0
0
0
0
















00

  
D7
  
D6
D5
D4
D3
D2
D1
D0
































0x55

配置寄存器6的設(shè)置    0x40cf0055
  
D31
  
D30
D29
D28
D27
D26
D25
D24
0
1
0
0
0
0
0
0
關(guān)模擬
內(nèi)部












0x40

  
D23
  
D22
D21
D20
D19
D18
D17
D16
1
1
0
0
0
1
0
1


充電時間不用它
一直開
測溫度有關(guān)
0xc5


  
D15
  
D14
D13
D12
D11
D10
D9
D8
0
0
0
0
0
0
0
0
50Hz


4倍精
2倍精
順序






00

  
D7
  
D6
D5
D4
D3
D2
D1
D0
















0
1
0
1
0
1
0
1
0x55
編寫一個程序,寫配置寄存器,再讀配置寄存器
寫配置寄存器,先發(fā)一個0x80 后面跟著一個32位的先高字節(jié)后低字節(jié)寫入。
讀56位ID呢 我們先發(fā)一個0xb7  然后就是連續(xù)寫7個0進(jìn)去,然后將讀到的緩沖區(qū)讀子網(wǎng)來看一下。注意到寫b7之后,我們一個一個的寫00,然后讀到SPI的值。
先發(fā)一個0x50 復(fù)位芯片,延時1ms后,發(fā)一個Init命令,即0x70。然后發(fā)一個0x01命令等這個START信號過來。然后就是在等中斷程序了,在中斷程序中,我們要讀取這個測量的距離時間差值 通過發(fā)一個0xB0給這個讀命令。讀32位的值。

由于這個芯片的頻率可以達(dá)到20M,故我們用10M的速度是沒什么問題的。
此時讀32位只需要3.2us  加上前導(dǎo)。故總的時間在4us左右,中斷程序允許這個。
或者我們用DMA來讀當(dāng)然也是可以的。但是DMA的話就要一個緩沖區(qū)buffer5個字節(jié)。取后面的4個字節(jié)為結(jié)果值。這樣可以省去5個時鐘。那這個SPI該用那個腳呢?
用SPI0還是空著的,可以用。經(jīng)測試SPI通訊正常,已經(jīng)可以將EN_START和FNT上測到4K和32768Hz的信號,證明設(shè)置成功。后面正式開始測量了。






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