火龙果(redpitaya)开发板常用接口C语言开发指南(六)——模拟输出(持续更新中)

火龙果(redpitaya)开发板常用接口C语言开发指南(六)——模拟输出(持续更新中)


——本人为《火龙果实战指南——搭建基于Zynq处理器的测量仪器与创新实践平台》一书的作者之一,为了便于各位快速上手火龙果开发板,现提供部分实战指南,包含环境配置、源码、效果等,供大家学习交流使用

如前一节可知,模拟输处脚0~3位于E2扩展口17-20脚,同样的,参阅上一节介绍可知模拟输出脚在火龙果开发板上的物理位置。
连接开发板并在项目文件夹redpitaya下创建AnalogOutput.c文件,写入如下代码:
在这里插入图片描述
库函数讲解:
int rp_Init():初始化库。在其他库之前,必须先调用它,如果函数成功,返回值是rp_ok,如果函数不成功,返回值为rp_e中任意一个即代表错误发生。
int rp_AOpinSetValue(int unsigned pin, float value):设置模拟引脚电压值,pin参数为引脚号,value参数是给指定引脚设置的电压值,返回值是rp_ok,如果函数不成功,返回值为rp_e
中任意一个即代表错误发生。
rp_Release():释放库资源,库不再使用之后放在最后,通常放在应用程序最后。如果函数成功,返回值是rp_ok,如果函数不成功,返回值为rp_e*中任意一个即代表错误发生。

编译参考命令:

make AnalogOutput	
cat /opt/redpitaya/fpga/fpga_0.94.bit > /dev/xdevcfg
LD_LIBRARY_PA TH=/opt/redpitaya/lib ./ AnalogOutput

此时程序开始运行,根据源码中的设定,AO[0]电压输出为0.25V,AO[1]电压输出为0.50V,AO[2]电压输出为0.75V,AO[3]电压输出为1.00V,此时如图1所示,串口打印出每个模拟输出口的电压。
在这里插入图片描述
图1 每个模拟输出口的设定电压

此时选择两个引脚进行验证,通过万用表连接AO[1](如图2所示),可以看到此时万用表显示电压为0.475,如例可知,输出精度为0.1V。
在这里插入图片描述
图2 万用表测量AO[1]

通过万用表连接AO[3](如图3所示),可以看到此时万用表显示电压为1.023,如例可知,输出精度为0.1V。
在这里插入图片描述
图3 万用表测量AO[1]

经过本节介绍,读者应该对模拟输入输出有了一个较为清楚的认识,从下一节开始,将会着重介绍利用火龙果开发板的输入输出通道进行波形的相关操作。通过下一节的学习,读者将会完整掌握火龙果开发板的输入输出功能,能够产生、读取任意波形,为工程上的实际应用打下坚实的基础。

猜你喜欢

转载自blog.csdn.net/qq_38470434/article/details/106022950