AVR-MCP4921,customsinewavefrequency
创始人
2024-11-13 05:30:15
0次
  1. 引入SPI库 #include #include #include #include #include #include #include #include #include

  2. 定义MCP4921 DAC输出引脚 #define DAC_CS PB3 #define DAC_LD PD7 #define DAC_VREF 3.3

  3. 初始化SPI和DAC void spi_init(void) { SPI.begin(); SPI.setBitOrder(MSBFIRST); SPI.setDataMode(SPI_MODE0); SPI.setClockDivider(SPI_CLOCK_DIV4); } void dac_init(void) { DDRB |= (1 << DAC_CS); DDRD |= (1 << DAC_LD); PORTB |= (1 << DAC_CS); // 拉高片选 PORTD |= (1 << DAC_LD); // 拉高LDAC }

  4. 写入自定义正弦波函数 void write_sinewave(float frequency) { const float MAX_ANGLE = 2.0 * M_PI; const float MIN_FREQUENCY = 0.1; const uint16_t N_SAMPLES = 256; const float SAMPLE_PERIOD = 1.0 / 1000.0; const float AMPLITUDE = 0.5 * DAC_VREF;

    if (frequency < MIN_FREQUENCY) { return; }

    float phase_increment = frequency * MAX_ANGLE / (1.0 / SAMPLE_PERIOD);

    float sin_table[N_SAMPLES];

    for (uint16_t i = 0; i < N_SAMPLES; i++) { sin_table[i] = AMPLITUDE * sin(i * phase_increment); }

    PORTD &= ~(1 << DAC_LD); // 允许LDAC PORTB &= ~(1 << DAC_CS); // 使能DAC

    for (uint16_t i = 0; i < N_SAMPLES; i++) { uint16_t value = (uint16_t) ((sin_table[i] / DAC_VREF) * 4095.0); value |= (1 << 15); //设置更新输出 SPI.transfer16(value); }

    PORTB |= (1 << DAC_CS); PORTD |= (1 << DAC_LD); // 禁止LDAC }

  5. 调用函数输出正弦波 int main(void) { spi_init(); dac_init();

    while (1) { write_sinewave(100); // 100Hz _delay_ms(1000); write_sinewave(200); // 200Hz

相关内容

热门资讯

带你了解!如何下载wpk透视版... AI 黑科技赛道又上新,这款智能处理工具堪称效率开挂,专门面向短视频创作者打造。它打通脚本撰写、AI...
黑科技教程!wepoker有什... 黑科技教程!wepoker有什么规律,微扑克怎么开挂工具(原本真的是有透视)AI 是一款可以让一直输...
教程攻略!wpk俱乐部辅助器,... 教程攻略!wpk俱乐部辅助器,wepoker开挂技巧助手(确实是真的有透视挂)AI 智能体黑科技再上...
普及知识!德普之星有辅助软件吗... 德普之星有辅助软件吗AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略数据...
重大通报!wpk透视脚本视频,... wpk透视脚本视频AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略数据包...
玩家交流!WPK下载,微扑克透... 玩家交流!WPK下载,微扑克透视脚本安装(往昔有透视挂)AI 是一款可以让一直输的玩家修复黑科技更新...
大神推荐!wpk透视辅助靠谱吗... 『标题:当前标题』主打赛后复盘的 AI 游戏攻略黑科技走红,对局总结能力开挂。上传对局回放或者战绩截...
重大来袭!wpk私人局有透视吗... 很多人使用云端 AI 时,都担心wpk私人局有透视吗、内部资料上传带来隐私风险。这款本地运行的 AI...
我来分享!wpk真的有透视嘛,... 『标题:当前标题』主打赛后复盘的 AI 游戏攻略黑科技走红,对局总结能力开挂。上传对局回放或者战绩截...
必赢方法!wpk辅助是什么,微... wpk辅助是什么AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略数据包,...