zoukankan      html  css  js  c++  java
  • python--输出spwm的数组

     python的功能是非常强大的,这个例子使用python编写的输出spwm数组(不对,在C语言或者其他语言叫做数组,在这里叫做list.)的程序,我们在单片机程序里调用这个程序,可以达到输出spwm波形的效果。具体的讲解就在源程序,只要大家对调用的库多家了解,理解调用函数的意义,那么自己写出这样的函数就会很简单。

    #! python3
    #coding=utf-8
    
    """
    Python版本:3.x
    外部库:matplotlib1.5.3、numpy1.11.2
    
    运行方式:
    在命令行中输入:python sinWave.py 
    
    运行结果:
    命令行中会打印计算得的各点数据,
    在当前目录下会生成py_dac_sinWav.c文件,包含上述数据,
    并且会弹出描绘曲线的对话框。
    """
    
    import matplotlib.pyplot as plt 
    import numpy as np
    import math
    
    #修改本变量可以更改点数,如16、32、64等
    POINT_NUM = 180
    #正弦函数放大倍数
    MULTIPLE = 2**9
    
    #正弦函数X取值范围
    X_VALUE = math.pi
    
    # POINT_NUM 个点
    n = np.linspace(0,X_VALUE,POINT_NUM)
    
    #计算POINT_NUM个点的正弦值
    a = map(math.sin,n)
    
    r =[]
    for i in a:
        temp = round(i*MULTIPLE)
        #得到序列
        r.append( temp )
       
    
    print(list(map(int,r)))
    
    #写入序列到文件
    with open("py_pwm_sinWave.c",'w',encoding= 'gb2312') as f:
        print(list(map(int,r)),file= f)
    
    #绘图
    plt.plot(n,r,"-o")
    plt.show()

     下面是python输出的数组,不对,在C语言或者其他语言叫做数组,在这里叫做list.

    另外就是输出挺新的结果,就是在单片机里面调用这个数组。

  • 相关阅读:
    jQuery 从无到有.一天完成.
    JavaScript从无到有(一天完成)
    HTML(第一篇)
    前端认识
    三元表达式,列表推导是,字典生成式
    ORM之youku项目小练习(上)
    高逼格壁纸
    pymysql 基操全套
    怎么学好编程?
    mysql 事务
  • 原文地址:https://www.cnblogs.com/zhangjiansheng/p/6886165.html
Copyright © 2011-2022 走看看