代码拉取完成,页面将自动刷新
MCP4725是一个12位ic驱动的高精度DAC模块。 它内部有EEPROM,
意味着在掉电或复位后DAC将保留当前电压输出。
SKU: DFR0552
提供Arduino库读取和解释博世的MCP4725的I2C数据。
要使用此库,请先下载库文件,并将其粘贴到\Arduino\libraries目录中,然后打开示例文件夹并在该文件夹中运行demo。
/**
* @fn init
* @brief 初始化MCP4725设备
* @param addr I2C设备地址
* @param vRef 设置DAC的基准电压必须等于电源电压,单位为毫伏。
* @return None
*/
void init(uint8_t addr, uint16_t vRef);
/**
* @fn setMode
* @brief 设置电源模式
* @param powerMode 设置电源模式,三种是正常模式和关机模式。
* @n 以下是三种断电模式。
* @n MCP4725_POWER_DOWN_1KRES 1 kΩ 对地电阻
* @n MCP4725_POWER_DOWN_100KRES 100 kΩ 对地电阻
* @n MCP4725_POWER_DOWN_500KRES 500 kΩ 对地电阻
* @return None
*/
void setMode(uint8_t powerMode);
/**
* @fn outputVoltage
* @brief 输出电压值范围0-5000mv。
* @param voltage 电压值,量程0-5000,单位毫伏。
* @return None
*/
void outputVoltage(uint16_t voltage);
/**
* @fn outputVoltageEEPROM
* @brief 输出电压值范围0-5000mv,写入EEPROM,
* @n 这意味着DAC将保留当前电压输出
* @n 关机或复位后。
* @param voltage 电压值,量程0-5000,单位毫伏。
* @return None
*/
void outputVoltageEEPROM(uint16_t voltage);
/**
* @fn outputSin
* @brief 输出一个正弦波
* @param amp 放大器值,输出正弦波振幅范围0-5000mv
* @param freq frequency值,输出正弦波频率
* @param offset 输出正弦波直流偏置
* @return None
*/
void outputSin(uint16_t amp, uint16_t freq, uint16_t offset);
/**
* @fn outputTriangle
* @brief 输出一个三角波
* @param amp 输出三角波振幅范围0-5000mv
* @param freq freq值,输出三角波频率
* @param offset 输出三角波的直流偏移量
* @param dutyCycle dutyCycle值,设置三角波上升的百分比占整个周期的百分比。
* @n 取值范围0-100(0为只下降100,只上升段落)
* @return None
*/
void outputTriangle(uint16_t amp, uint16_t freq, uint16_t offset, uint8_t dutyCycle);
MCU | Work Well | Work Wrong | Untested | Remarks |
---|---|---|---|---|
FireBeetle-ESP32 | √ | |||
FireBeetle-ESP8266 | √ | |||
Arduino uno | √ |
Written by DFRobot_xiaowu (xiao.wu@dfrobot.com), 2022. (Welcome to our website)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。