普通的单片机开发版可以运行Python吗?

Python015

普通的单片机开发版可以运行Python吗?,第1张

可以。

单片机运行python是可以的,比如STM32就可以跑Python,只不过需要在STM32中运行一个Python解释器。

举一个例子,我可以通过C编程,把MCU的USB配置成一个U盘,这样插入电脑的时候,就可以显示一个U盘设备,当然你就可以往里面放文件了,比如我们约定,就放一个text的文本文件,我约定名字为:main.text。

接着我继续写程序,我让单片机每次运行,就去读取存储的main.text文件,如果里面有一个语句是这样的:“点亮一个LED灯”,那么我就调用函数去点亮一个LED灯,如果里面有一个语句是“打印单片机型号”,那么我就通过串口输出单片机型号。

运行python类似这样的原理,只不过解释的python的语句。

用单片机和Python做一个项目是不错的,这样你就体验到python控制硬件的便捷。

单片机技术的开发

单片机在电子技术中的开发,主要包括CPU开发、程序开发、 存储器开发、计算机开发及C语言程序开发,同时得到开发能够保证单片机在十分复杂的计算机与控制环境中可以正常有序的进行,这就需要相关人员采取一定的措施。

(1)CPU开发。开发单片机中的CPU总线宽度,能够有效完善单片机信息处理功能缓慢的问题,提高信息处理效率与速度,开发改进中央处理器的实际结构,能够做到同时运行2-3个CPU,从而大大提高单片机的整体性能。

(2)程序开发。嵌入式系统的合理应用得到了大力推广,对程序进行开发时要求能够自动执行各种指令,这样可以快速准确地采集外部数据,提高单片机的应用效率。

(3)存储器开发。单片机的发展应着眼于内存,加强对基于传统内存读写功能的新内存的探索,使其既能实现静态读写又能实现动态读写,从而显着提高存储性能。

(4)计算机开发。进一步优化和开发单机片应激即分析,并应用计算机系统,通过连接通信数据,实现数据传递。

(5)C语言程序开发。优化开发C语言能够保证单片机在十分复杂的计算机与控制环境中,可以正常有序的进行,促使其实现广泛全面的应用。

01

“如将Python中的浮点数运算精度限制到32位?”

为什要提出这么怪异的问题。存在即合理~~

提出这个问题的原因是,在用python模拟32位MCU上的程序时,发现两者的结果有差异。

而差异的地方就是重点。 秉持这种观点,我就想办法深挖下去。排除了其他所有的可能,就差计算精度的影响了。

MCU的浮点运算单元是32位的,而Python默认的浮点运算为64位(安装的64 bit安装包)

浮点运算的结果如下:

32位浮点数的有效数据位为7位,而以上计算结果明显超过7位。

02

差异已经很明显了,那怎么消除着这种差异~~

方案一:

使用round()控制精度。

No,单精度与双精度浮点运算差异不止一个round函数,也不止千八百个~~

方案二:

使用decimal模块

这个还在我的学习计划中~~

方案三:

stackoverflow.com

问题解决~~

03

使用numpy模块中的float32完美解决这个问题。

举个例子~~

End