久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2003|回復: 0
收起左側

GP22單片機寄存器設置例子

[復制鏈接]
ID:1091405 發表于 2023-8-16 11:38 | 顯示全部樓層 |閱讀模式
硬件設計,見參考手冊。
軟件設計:

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


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

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

  
D7
  
D6
D5
D4
D3
D2
D1
D0
































0x55 隨便寫一個數字

配置寄存器1的設置   0x21c13f55
  
D31
  
D30


D29
D28
D27
D26
D25
D24


2
1


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


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


STOP2的脈沖數,不捕獲
STOP1的脈沖數,捕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信號來證明設置是否正確
0x07 則我們設置EN_START功能。
  
D7
  
D6
D5
D4
D3
D2
D1
D0
































0x55 隨便寫一個數字


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


0xE0    改成E0試一下看中斷到底產不產生   延時改成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位小數部分
0x20   改成2us后才計算這個STOP1  5位小數部分不管它了

  
D7
  
D6
D5
D4
D3
D2
D1
D0
































0x55 隨便寫一個數字

配置寄存器3的設置   0x90000055         B80000055 這個就是4096us
  
D31
  
D30
D29
D28
D27
D26
D25
D24
1
0
0
1
0
0
0
0
自動
第1波關
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個波整數部分14位   小數部分5位
0x00

  
D7
  
D6
D5
D4
D3
D2
D1
D0
















0
1
0
1








0x55 隨便寫一個數字


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








默認值








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的設置  0x18000055
  
D31
  
D30
D29
D28
D27
D26
D25
D24
0
0
0
1
1
0
0
0






開噪聲
關噪聲
不用聲環法
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的設置    0x40cf0055
  
D31
  
D30
D29
D28
D27
D26
D25
D24
0
1
0
0
0
0
0
0
關模擬
內部












0x40

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


充電時間不用它
一直開
測溫度有關
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
編寫一個程序,寫配置寄存器,再讀配置寄存器
寫配置寄存器,先發一個0x80 后面跟著一個32位的先高字節后低字節寫入。
讀56位ID呢 我們先發一個0xb7  然后就是連續寫7個0進去,然后將讀到的緩沖區讀子網來看一下。注意到寫b7之后,我們一個一個的寫00,然后讀到SPI的值。
先發一個0x50 復位芯片,延時1ms后,發一個Init命令,即0x70。然后發一個0x01命令等這個START信號過來。然后就是在等中斷程序了,在中斷程序中,我們要讀取這個測量的距離時間差值 通過發一個0xB0給這個讀命令。讀32位的值。

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

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久国产亚洲精品 | 成人黄色在线 | 日本电影网站 | 不用播放器看的av | 中文字幕视频在线 | 亚洲国产精品自拍 | 精品一区二区三区四区在线 | 91国内视频在线 | 久久久精品一区二区三区 | 狠狠狠干| 日韩成人在线网站 | 成人毛片视频免费 | 免费天天干 | 成人在线播放网站 | 日日干日日操 | 欧美福利视频一区 | 国产精品国产三级国产aⅴ中文 | 免费一区二区 | 日韩一区二区三区在线观看视频 | 亚洲网站在线 | 亚洲小说图片 | 亚洲一区二区 | 欧美精品在线播放 | 亚欧性视频 | 全免费a级毛片免费看视频免费下 | 亚洲精品久久久一区二区三区 | 欧美专区在线 | 欧美一区二区三区四区视频 | 国产美女在线看 | 久久久一区二区 | 亚洲精品国产偷自在线观看 | 99视频在线免费观看 | 精品一区二区三区在线观看国产 | 国产精品一区二区精品 | 精品国产伦一区二区三区观看说明 | 成人自拍视频网站 | 天堂中文在线播放 | 欧美中文视频 | 亚洲国产一区视频 | 四虎永久| 亚洲激情在线观看 |