久久久久久久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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本三级网站在线 | www.伊人.com | 亚洲欧美日韩国产综合 | 伦理午夜电影免费观看 | 国产乱码一二三区精品 | 国产激情视频在线 | 在线观看免费观看在线91 | 亚洲人成人一区二区在线观看 | 一级看片免费视频囗交动图 | 国产激情在线播放 | 男女免费网站 | 成人av电影免费在线观看 | 婷婷色国产偷v国产偷v小说 | 久久久久久中文字幕 | 精品一区二区久久久久久久网精 | 日韩视频一区二区 | 亚洲电影专区 | 羞羞色影院 | 精品视频一区二区 | 国产电影一区二区在线观看 | 亚洲国产视频一区 | 欧美又大粗又爽又黄大片视频 | 精品国产一区二区三区性色av | 久久久久一区二区 | 高清亚洲 | 夜夜夜夜夜夜曰天天天 | 精品国产一区二区三区日日嗨 | 精品国产一级 | 成人久久网 | 日韩精品区| 亚洲成人日韩 | 亚洲精品久久久一区二区三区 | 国产2区 | 在线不卡视频 | 黄色大片观看 | 国产伦精品一区二区三区在线 | 一区二区三区回区在观看免费视频 | 岛国精品 | 成人欧美一区二区 | 亚洲国产激情 | 国产精品99久久久久久久久久久久 |