实现协程多任务的无标号单步跳转方法(8051)
实现协程多任务的无标号单步跳转方法(8051)--微控制器中基于协程的实时协作多任务方法(4)目前为止,没有一种8051的C编译器支持Protothreads的addrlabels方法。所以,我们同样要创造一种高效的协程重入方法,来代替目标代码效率较低的switch-case方法。下面,要说明用C和
发表于 2/23/2013 4:39:33 AM
阅读(2817)
Duff’s Device叫什么好
Duff’sDevice叫什么好2000年,SimonTatham把协程引入到C,或者说用C来实现协程。其关键是使用了达夫所创的Duff’sDevice。国人把Duff’sDevice叫做“达夫设备”,我总觉得不大妥当,因为它毕竟不是一种设备。查一下词典,Device的基本词义当然是“装置,设备,器具,仪
发表于 2/21/2013 4:12:35 AM
阅读(3104)
实现协程多任务的无标号单步跳转方法
实现协程多任务的无标号单步跳转方法--微控制器中基于协程的实时协作多任务方法(3)Protothreads的switch方法编译后的目标代码是通过多步比较才找到case的入口。而Protothreads的addrlabels方法的高效就在于它是用“goto*lc”一步跳转到后续点LC(LocalContinuation)。
发表于 2/19/2013 4:14:12 AM
阅读(4515)
回首向来萧瑟处,也无风雨也无晴
回首向来萧瑟处,也无风雨也无晴--有关题头的照片题头的照片背对着别人,应该说是不礼貌的。听我把事情说明白了,大家会原谅的。我站的地方,在地图上是41.914143N,69.971224W。这儿是马可尼电台天线的遗址,1903年美国总统和英皇之间的第一份越洋无线电报的电波就是从
发表于 2/16/2013 4:10:16 AM
阅读(1896)
图解Protothreads
图解Protothreads--微控制器中基于协程的实时协作多任务方法(2)在对Protothreads的简化做进一步的引申前,对其机制作深入理解是有好处的。我发现,Protothreads与我30年前构思并使用的一种实时多任务编程方法([1]的第三部分--软件设计思想)异曲同工。Protothrea
发表于 2/14/2013 5:24:47 AM
阅读(4321)
Protothreads的简化
Protothreads的简化--微控制器中基于协程的实时协作多任务方法(1)以小型微控制器,例如MCS51、MSP430、MICROCHIP等单片机、以至于ARMCortex-M0甚至M3,为核心的嵌入式系统中,由于资源的限制,实时操作系统是无法施展其优势的。虽然资源丰富的芯片不断出现,但是,在单
发表于 2/12/2013 6:40:12 AM
阅读(5341)
朱工晒陈芝麻
今天是农历正月初一,应该是一个大吉的日子。借此日开博,顺便向新老朋友拜年。老汉今年六十八,干电子四十多年,单片机也玩了三十多年。编程是一项重脑力劳动,不是老头干的活。于是到2005年退休就甩手不干了。听说,七十以上的老头老太去旅游,导游不欢迎,而且还有加
发表于 2/10/2013 5:24:08 PM
阅读(1883)