desarrollo:edu-ciaa:edu-ciaa-nxp:python:bibliotecas:modulo-pyb-dac
Tabla de Contenidos
Soporte DAC: Clase DAC
La clase DAC permitirá crear objetos que representan la salida analógica de la placa.
Constructor
La clase posee un constructor que recibe un solo argumento, este argumento es el número de salida analógica que controlará. Solo existe una salida, por lo que el valor que debe pasarse siempre es 1.
Métodos
- write(val) : Escribe el valor en cuentas (0 a 1023) en la salida con un fondo de escala de 3.3V
- noise(f): Genera una señal de ruido pseudo aleatorio de 256 muestras a la frecuencia especificada (de 1 a 400000)
- triangle(f): Genera una señal triangular de 256 muestras a la frecuencia especificada (de 1 a 400000)
- write_timed(data,freq,mode): Genera una señal utilizando como muestras el array de datos pasado como argumento (data) a la frecuencia dada (freq de 1 a 400000) utilizando DMA. El argumento mode puede ser pyb.DAC.NORMAL (solo genera la señal una vez) o pyb.DAC.CIRCULAR (al terminar vuelve a empezar)
Ejemplo generación de una señal senoidal
import pyb import math dac = pyb.DAC(1) # sine buf = bytearray(200) #100 samples. 2 bytes per sample j=0 for i in range (0,len(buf)/2): v = 512 + int(511 * math.sin(2 * math.pi * i / (len(buf)/2) ) ) buf[j+1] = (v >> 8) & 0xff buf[j] = v & 0xff j=j+2 # output the sine-wave at 400Hz print("sine created") dac.write_timed(buf, 400*(int(len(buf)/2)), mode=pyb.DAC.CIRCULAR) while True: pyb.delay(1000)
desarrollo/edu-ciaa/edu-ciaa-nxp/python/bibliotecas/modulo-pyb-dac.txt · Última modificación: 2016/10/08 18:17 por egigliotti