文档章节

兼容性编程

shaoziyang
 shaoziyang
发布于 2016/11/03 20:58
字数 240
阅读 11
收藏 0

MicroPython虽然很方便,但是也有一个比较大的问题,就是几个移植版本之间的API差异较大,甚至相同功能的API参数顺序都不同。在pyb上写的程序,在ESP8266上就不能直接用,反过来也是这样。

此外,CC3200的库好像与pyb和esp8266的也不相同,如果以后增加新的架构,那问题会越来越大,不知道为什么当初MicroPython没有统一外设库的标准。

因此这几天就在考虑做一个中间层的库,针对不同库做一个兼容性的设计,这样只需要修改底层的驱动部分,不需要修改应用层。目前用这个思路测试HTS221和LPS25H传感器,在小钢炮和ESP8266上已经成功。只是代码还不够精炼,需要在继续规范化。

大家可以通过git查看具体的代码

 

 

© 著作权归作者所有

共有 人打赏支持
shaoziyang
粉丝 12
博文 76
码字总数 25946
作品 0
武汉
程序员
私信 提问
加载中

评论(2)

shaoziyang
shaoziyang

引用来自“discusfan”的评论

这些机器运行内存都很小,任何为了加强兼容性而增加代码量的做法,目前不一定合适
目前micropython已经开始重视这个问题,写程序时尽量用machine库,这样兼容性比较好。
discusfan
discusfan
这些机器运行内存都很小,任何为了加强兼容性而增加代码量的做法,目前不一定合适
PHP 成弃子,Facebook 引擎转用 Hack 语言

历史向来是长江后浪推前浪,这一点在编程语言界也不例外。最新消息显示,HHVM(HipHop Virtual Machine)是由 Facebook 公司出品的高性能开源服务器,长期以来由 PHP 编程语言来搭建服务器,...

达尔文
2017/09/27
5.4K
36
Ruby vs Golang:四个维度对比,谁更胜一筹?

软件应用程序的快速增长已经不再只是一件其本身受欢迎的事情了,它更是带来了深刻改善所有行业业务流程的真正机会。所以,对于企业、行业来说,通过合适的编程创建出出色的软件解决方案成为了...

局长
08/15
0
11
Mozilla 实验引擎 Servo 通过 Acid2 测试

Mozilla宣布,Mozilla Research开发的下一代浏览器引擎Servo达到了一个重要里程碑,通过了Acid2测试。Servo使用Mozilla的新语言Rust开发,Rust是一种注重安全、性能和并发性的编程语言,Ser...

oschina
2014/04/19
1K
7
成为全栈Web开发者要掌握的10大编程语言

了解web开发是一个过程,一场开始于掌握简单的技术,并继续向更深处探索的旅程。 通过学习这些技术,掌握不同的编程语言,你才有可能成为一个全栈web开发人员,并尽可能挣更多的钱。在此之前...

linux小陶
2016/11/07
35
0
Disconf —— 来自百度的分布式配置管理平台

Disconf 可以为各种业务平台提供统一的配置管理服务。 支持配置(配置项+配置文件)的分布式化管理 配置发布统一化 极简的使用方式(注解式编程 或 XML代码无代码侵入模式) 低侵入性或无侵入...

oschina
2015/04/16
60
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 你是靠自己努力才失败的

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 小小编辑:推荐歌曲 《Raveena》- Raveena 《Raveena》- Raveena 手机党少年们想听歌,请使劲儿戳(这里) 11月18日,俞敏洪在某论坛演讲中称...

小小编辑
42分钟前
130
6
firewalld

1. firewalld 是什么 CentOS中默认是有 firewalld, iptables, etablesd firewalld 是 CentOS7/RadHat7 中默认的防火墙管理工具. firewalld 工具用来管理里netfilter, 不过底层还是调用的还是...

Fc丶
59分钟前
2
0
Java 源代码和 C 源代码的运行区别

与其他程序的执行方式和编译方式不同。 Java 源代码需要进行编译成字节码后在 Java 虚拟机上运行,这样 Java 程序能够保持独立性和跨平台功特性。 请参考下图。 https://www.cwiki.us/pages...

honeymose
今天
6
0
Apache限定目录解析PHP,限制user_agent,PHP相关的配置

Apache限定目录解析PHP 配置前访问upload/index.php [root@test-a ~]# curl -x192.168.77.139:80 'www.test.com/upload/index.php'This is upload diretory 配置,/usr/local/apache2.4/......

野雪球
今天
6
0
java.util.Concurrent.Exchanger源码

类图 源码: package java.util.concurrent;import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.atomic.AtomicReference;import java.util.concurrent......

狼王黄师傅
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部