基于python的MSP430实时数据绘图

基于python的MSP430实时数据绘图,python,clock,uart,msp430,adc,Python,Clock,Uart,Msp430,Adc,事实上,我正在使用一个函数生成器,将外部模拟信号输入到MSP430F5438A的ADC 之后,我尝试在我的PC上通过MSP430的UART监控MSP430的ADC数据,这是我用Tera术语完成的 现在我正试图在python上绘制相同的数据(从UART接收数据)(而不是使用tera术语,因为在那里我们无法绘制数据) 我的问题是,在python中,我能够在某个特定的频率范围内(在我的例子中,只有0-10hz)重现信号(函数生成器给出的信号) 但我的要求是再现(0hz-5khz)范围内的信号。如果你想

事实上,我正在使用一个函数生成器,将外部模拟信号输入到MSP430F5438A的ADC

之后,我尝试在我的PC上通过MSP430的UART监控MSP430的ADC数据,这是我用Tera术语完成的

现在我正试图在python上绘制相同的数据(从UART接收数据)(而不是使用tera术语,因为在那里我们无法绘制数据)

我的问题是,在python中,我能够在某个特定的频率范围内(在我的例子中,只有0-10hz)重现信号(函数生成器给出的信号)

但我的要求是再现(0hz-5khz)范围内的信号。如果你想看到不同范围的任何波形,我已经准备好附加它

我的问题是,是否有可能重现最大频率范围(0hz-5khz)??还有什么办法吗

如果你想进一步澄清,我准备给你

我正在附加python代码:

 import sys
 import serial
 import numpy as np
 import matplotlib.pyplot as plt
 from collections import deque

 port = "COM14"
 baud = 460800
 timeout=1

 ser = serial.Serial()
 ser.port = port
 ser.baudrate = baud
 ser.timeout = timeout

 a1 = deque(([0.0])*1000)

 plt.title("Real Time Data Monitoring")
 line, = plt.plot(a1)
 plt.ion()
 plt.xlabel("Time_Period")
 plt.ylabel("Amplitude")
 plt.ylim([0,300])
 plt.grid()

 try:
   ser.open()
 except:
   sys.stderr.write("Error opening serial port %s\n" % (ser.portstr) )
   sys.exit(1)

while 1:
 data = ser.read(3)
 reading = int(data)
 print(a1)
 a1.appendleft((data))
 datatoplot = a1.pop()
 line.set_ydata(a1)
 plt.draw()
 plt.pause(0.0001)
我附上了python上接收到的示例数据格式 德克(['066',117',206',108',212',063',117',206',057',130',197',048',138',068',111',188',042',154',178',035',100',216',070',108',218',073',105',214 067',117',208',056',126',207 058',123',204',047',140',190',046',140',140',191 042',152',180',035')

我的ADC配置是

Resolution  :   8-bit
ADC12A_CLK  :   4 Mhz
Sampling rate   :   15094 Samples per second
                         (Or)
                       15 ksps
我的UART配置是 波特率:460800 USCI_时钟:12Mhz

提前谢谢