MicroPython内核开发笔记书内软件用例 :DAC相关实验
Posted 卓晴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MicroPython内核开发笔记书内软件用例 :DAC相关实验相关的知识,希望对你有一定的参考价值。
简 介: 本文给出了 MicroPython内核开发笔记:书内嵌入实验任务 中的 DAC模块相关 软件用例部分内容。
关键词
: MicroPython,mm32f3277,DAC
- 本书稿内容隶属于 MicroPython内核开发笔记:书内嵌入实验任务 中的内容。
软件用例:
这部分书稿内容包括有:
- 基础的DAC电压输出实验。
- 输出正弦波信号。
- 书稿内位置:
§01 书稿内容
在 MM32F3277 单片机中,DAC 通道有两路输出,对应的端口分别为:
-
DAC端口:
-
DAC0
:PA4
DAC1
:PA5
一、基础实验
1、两路DAC输出电压信号
下面测试代码,分别在 DAC 两个通道输出两个不同电压。
from machine import DAC
dac0 = DAC(0)
dac1 = DAC(1)
print('Test DAC ...')
dac0.write_u16(0x8000)
dac1.write_u16(0x4000)
上面代码演示了声明两个 DAC 通道对象,非常简单。 通过 write_u16 函数改变 DAC 输出电压,输出电压与写入的数值 n 之间的关系为: V o u t = n 0 x F F F F × 3.3 V V_out = n \\over 0xFFFF \\times 3.3V Vout=0xFFFFn×3.3V 其中 3.3V 是单片机的模拟参考电压。
使用数字万用表,可以分别在 DAC0,DAC1对应的输出管脚测量对应的电压信号。
-
DAC输出电压:
-
DAC0(PA4)
:1.654V
DAC1(PA5)
:0.829V
2、产生正弦波形
下面代码将会在两个 DAC 通道产生相位相反的正弦波。
from machine import DAC
from math import *
dac0 = DAC(0)
dac1 = DAC(1)
print('Test DAC ...')
angle = [int((sin(i * pi * 2 / 100)+1.0)/2*0x6000+0x2000) for i in range(100)]
while True:
for a in angle:
dac0.write_u16(a)
dac1.write_u16(0xa000 - a)
下面是两个 DAC 通道输出的正弦波电压信号。
▲ 两个DAC通道的正弦波电压信号
※ 总 结 ※
本文给出了 MicroPython内核开发笔记:书内嵌入实验任务 中的 DAC模块相关 软件用例部分内容。
■ 相关文献链接:
● 相关图表链接:
以上是关于MicroPython内核开发笔记书内软件用例 :DAC相关实验的主要内容,如果未能解决你的问题,请参考以下文章
MicroPython内核开发笔记书内软件用例 :MEM相关实验用例
MicroPython内核开发笔记书内软件用例 :浮点数相关实验
MicroPython内核开发笔记书内软件用例 :DAC相关实验
MicroPython内核开发笔记书内软件用例 :Timer相关实验