STM32F103 硬件SPI驱动DAC8563

本文详细介绍了如何使用STM32F103通过硬件SPI驱动DAC8563,从SPI初始化、DAC8563数据手册分析到解决实际问题,如调整SPI速率、CS引脚时序,最终实现正常工作。通过调试总结,强调了示波器的重要性以及借鉴软件SPI调试硬件SPI的思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

程序目的

展开设计

SPI初始化

DAC8563数据手册分析

设定DAC值

存在问题

软件IO模拟正常

硬件SPI向软件模拟IO靠拢

尝试解决

调整硬件SPI速率

CS引脚不得常低

调整CS引脚与MOSI引脚的时序

调试总结

工欲善其事必先利其器

站在巨人的肩膀上,事半功倍


程序目的

使用STM32F103RCT6芯片驱动DAC8563芯片,采用硬件SPI驱动DAC芯片,输出所需的电压值。STM32使用SPI2,引脚IO PB13/14/15,DAC856是16位DAC芯片,需要发送16位(2个字节)来控制输出DAC数值。

展开设计

SPI初始化

DAC8563数据手册分析

建议重视DAC8563的数据手册,重点是下图中红色框线内的命令,我们此时需要的命令只有两条:0x18 设定通道A的DAC值,0x19设定通道B的DAC值。命令的格式是:CMD+VALUE_H+VALUE_L,先发送命令字节,再发送16位DAC值的高8位,最后发送16位DAC值的低8位。3个字节中,命令占1个字节,数据占2个字节。

存在问题

软件IO模拟正常

使用硬件SPI发送函数向DAC8563发送命令,DAC芯片无输出;由于怀疑DAC8563芯片损坏,需要先验证DAC芯片可用。故使用软件IO模拟SPI的方式发送命令,DAC芯片可以正确输出,由此判断DAC8563并未损坏。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值