欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1042|回復: 0
打印 上一主題 下一主題
收起左側

BH45B1225驅動24位Delta-Sigma ADC

[復制鏈接]
跳轉到指定樓層
樓主
BH45B1225 是一款高性價比的 24 位 Delta-Sigma ADC,集成可編程增益放大器(PGA,1~128 倍)、12 位 DAC、溫度傳感器和多路輸入通道(4 路單端 / 2 路差分)。支持內部 1.25V 基準電壓,通過 I2C 接口配置,數據速率可調(5~1600Hz),適用于精密測量、傳感器采集、工業控制等場景。

開源地址:https://github.com/createskyblue/BH45B1225
論壇下載(不保證是最新的版本): BH45B1225-main.7z (3.22 MB, 下載次數: 0)


移植
實現 3 個函數:
  1. // 寫 - data 格式: [寄存器地址][數據...]
  2. int bh45b1225_i2c_write(uint8_t dev_addr, const uint8_t *data, uint16_t len) {
  3.     return HAL_I2C_Master_Transmit(&hi2c1, dev_addr, data, len, 1000);
  4. }

  5. // 讀
  6. int bh45b1225_i2c_read(uint8_t dev_addr, uint8_t reg, uint8_t *data, uint16_t len) {
  7.     if (HAL_I2C_Master_Transmit(&hi2c1, dev_addr, ®, 1, 1000) != HAL_OK) return -1;
  8.     return HAL_I2C_Master_Receive(&hi2c1, dev_addr, data, len, 1000);
  9. }

  10. // 延時
  11. void bh45b1225_delay_ms(uint32_t ms) {
  12.     HAL_Delay(ms);
  13. }
復制代碼

使用

  1. bh45b1225_dev_t sensor;

  2. // 初始化(8位地址,如 0xD0)
  3. bh45b1225_init(&sensor, 0xD0, bh45b1225_i2c_write, bh45b1225_i2c_read, bh45b1225_delay_ms);

  4. // 配置差分輸入 (AN0-AN1)
  5. bh45b1225_set_input_channel(&sensor, BH45B1225_IN1_AN0, BH45B1225_IN2_AN1);
  6. bh45b1225_reset_adc_filter(&sensor);
  7. bh45b1225_start_conversion(&sensor);

  8. // 讀取
  9. while (1) {
  10.     bool complete;
  11.     if (bh45b1225_check_eoc(&sensor, &complete) == 0 && complete) {
  12.         int32_t raw;
  13.         bh45b1225_read_data(&sensor, &raw);
  14.         bh45b1225_clear_eoc(&sensor);

  15.         float voltage = bh45b1225_code_to_voltage(raw, 1.241f, 1.0f);
  16.     }
  17. }
復制代碼
API基礎函數
函數
功能
bh45b1225_init()初始化設備
bh45b1225_set_vcm()使能/除能 VCM
bh45b1225_set_vref_source()設置 ADC 參考電壓源 (內部/外部)
輸入與增益配置
函數
功能
bh45b1225_set_input_channel()配置輸入通道 (IN1/IN2)
bh45b1225_set_inx_polarity()通過 INX 位交換輸入極性
bh45b1225_set_pga_gain()設置 PGA 總增益 (1~128)
時鐘與振蕩器
函數
功能
bh45b1225_enable_hirc()使能 HIRC 內部振蕩器
bh45b1225_check_hirc_stable()檢查 HIRC 振蕩器是否穩定
ADC 配置
函數
功能
bh45b1225_set_data_rate()設置 ADC 輸出數據速率 (5~1600Hz)
bh45b1225_set_adc_mode()設置 ADC 工作模式 (正常/休眠/掉電)
bh45b1225_set_vref_buffer()使能/除能參考電壓緩存
ADC 操作
函數
功能
bh45b1225_reset_adc_filter()復位 ADC 濾波器
bh45b1225_set_data_latch()使能/除能數據鎖存
bh45b1225_start_conversion()啟動 ADC 轉換
bh45b1225_check_eoc()檢查轉換是否完成
bh45b1225_read_data()讀取 24 位 ADC 結果
bh45b1225_clear_eoc()清除 EOC 標志
DAC 操作
函數
功能
bh45b1225_set_dac_enable()使能/除能 DAC
bh45b1225_set_dac_vref()設置 DAC 參考電壓源 (AVDD/VCM)
bh45b1225_set_dac_output()設置 DAC 輸出值 (12 位, 0-4095)
工具函
函數
功能
bh45b1225_code_to_voltage()將 ADC 碼轉換為電壓
高級配置(謹慎使用
函數
功能
bh45b1225_set_pwrc_opt()設置 PWRC 優化位
bh45b1225_set_adcte()設置 ADC 測試配置寄存器
bh45b1225_set_filter_mode()設置 ADC 濾波器模式 (FLMS)
bh45b1225_set_osr()設置 ADC 過采樣率 (OSR)
bh45b1225_set_clock_div()設置 ADC 時鐘分頻





評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表