搜索
bottom↓
回复: 42

[共享][DEMO]《深入浅出AVR单片机》精要 如何使用ANSI-C语言编写面向对象的通用驱动

[复制链接]

出0入296汤圆

发表于 2009-1-9 23:48:40 | 显示全部楼层 |阅读模式


 (原文件名:1.GIF) 





 (原文件名:2.GIF) 





 (原文件名:3.GIF) 





 (原文件名:4.GIF) 





 (原文件名:5.GIF) 





 (原文件名:6.GIF) 





 (原文件名:7.GIF) 





 (原文件名:8.GIF) 





 (原文件名:9.GIF) 





 (原文件名:10.GIF) 





 (原文件名:11.GIF) 





本贴被 Gorgon Meducer 编辑过,最后修改时间:2009-01-09,23:52:31.

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入296汤圆

 楼主| 发表于 2009-1-9 23:57:08 | 显示全部楼层
这个题目……估计受众面太小……个人感觉看得懂的人不多,看得懂又会用的人更少……看得懂

还能给出反馈的少之又少……唉……

本贴被 Gorgon Meducer 编辑过,最后修改时间:2009-01-09,23:57:56.

出0入0汤圆

发表于 2009-1-10 00:16:15 | 显示全部楼层
赞一个,这个遗精版:))

出0入0汤圆

发表于 2009-1-10 00:16:28 | 显示全部楼层
支持

出0入0汤圆

发表于 2009-1-10 00:24:17 | 显示全部楼层
不急不急,大伙都爱一心几用不务正业的,

出0入0汤圆

发表于 2009-1-10 00:27:41 | 显示全部楼层
文章不错,但太狂。

不就是用C模拟实现了ADT吗? 另外感觉楼主对ADT与OPP两个概念有些混淆,OPP是直接面向问题域的。我用C++写程序,从来不会这么用。GOF提出的二十四种设计模式才是经典。

出0入0汤圆

发表于 2009-1-10 00:47:41 | 显示全部楼层
补 遗精 讲版,标题党---鉴定完毕 ^_^

本贴被 cowboy 编辑过,最后修改时间:2009-01-10,08:02:45.

出0入0汤圆

发表于 2009-1-10 01:06:22 | 显示全部楼层
一直想向请教的问题都在这,好好研究..

出0入296汤圆

 楼主| 发表于 2009-1-10 01:42:48 | 显示全部楼层
1楼的说法,的确很狂妄,属于脑袋短路才说出来的话。

但是,光抛砖总引不会来玉……总这样很郁闷阿……所以下了猛料,希望大家原谅。

多讨论讨论……谢谢大家。

出0入0汤圆

发表于 2009-1-10 01:42:48 | 显示全部楼层
1楼的说法,的确很狂妄,属于脑袋短路才说出来的话。

但是,光抛砖总引不会来玉……总这样很郁闷阿……所以下了猛料,希望大家原谅。

多讨论讨论……谢谢大家。

出0入296汤圆

 楼主| 发表于 2009-1-10 01:49:58 | 显示全部楼层
to 【5楼】 GoingDown  

    你的批评很中肯哈。俺接受。不过使用C语言实现面向对象是没有办法的办法,

其前提就是无法使用C++,或者不适合使用C++的场合。另外ADT是OOP实现的本质,

至于OO的概念,与其实现方法是无关的。只要你有OO的概念,用什么方式实现是

另外一回事。我只是使用C语言构建的ADT实践了一种OO的实现方法,这与使用C++

实现OO是一样的——关键不在于使用什么语言和方法,而在于编写程序的时候,

程序员脑袋里面浮现的是不是面向对象的框架。你认为呢?

出0入0汤圆

发表于 2009-1-10 01:49:58 | 显示全部楼层
to 【5楼】 GoingDown  

    你的批评很中肯哈。俺接受。不过使用C语言实现面向对象是没有办法的办法,

其前提就是无法使用C++,或者不适合使用C++的场合。另外ADT是OOP实现的本质,

至于OO的概念,与其实现方法是无关的。只要你有OO的概念,用什么方式实现是

另外一回事。我只是使用C语言构建的ADT实践了一种OO的实现方法,这与使用C++

实现OO是一样的——关键不在于使用什么语言和方法,而在于编写程序的时候,

程序员脑袋里面浮现的是不是面向对象的框架。你认为呢?

出0入296汤圆

 楼主| 发表于 2009-1-10 02:20:20 | 显示全部楼层
By the way...经过提醒,突然发现,这个版本的书名果然不雅……

其实它来自于英文译名:

The Essential of 《Explain AVR MCU In A Simple Way -- Getting Started from ATmega48/88/168》 for Engineer 

出0入0汤圆

发表于 2009-1-10 02:20:20 | 显示全部楼层
By the way...经过提醒,突然发现,这个版本的书名果然不雅……

其实它来自于英文译名:

The Essential of 《Explain AVR MCU In A Simple Way -- Getting Started from ATmega48/88/168》 for Engineer 

出0入0汤圆

发表于 2009-1-10 09:43:10 | 显示全部楼层
遗精

出0入0汤圆

发表于 2009-1-10 10:36:37 | 显示全部楼层
发个完整的pdf看看呀

出0入0汤圆

发表于 2009-1-10 11:58:38 | 显示全部楼层
看不懂,帮顶

出0入0汤圆

发表于 2009-1-10 15:55:43 | 显示全部楼层
能不能来个PDF 呀?

出0入296汤圆

 楼主| 发表于 2009-1-10 18:34:11 | 显示全部楼层
耐心等待……3月份以后会有免费的完整版发布……包含与《深入浅出AVR单片机》

一一对应的14个章节哦……

出0入0汤圆

发表于 2009-1-10 18:34:11 | 显示全部楼层
耐心等待……3月份以后会有免费的完整版发布……包含与《深入浅出AVR单片机》

一一对应的14个章节哦……

出0入0汤圆

发表于 2009-1-10 21:17:09 | 显示全部楼层
这个ADT的方法很早前就有人说过, 感觉应用的意义不大, 要要是搞成这样, C++更省资源和方便.......

而且, 重载这个是面向对象的一个十分好的东西, 难道, C语言也用宏实现重载不可~~~~~

出0入0汤圆

发表于 2009-1-10 21:26:58 | 显示全部楼层
搞本ARM的书看看吧.AVR不会用.

出0入0汤圆

发表于 2009-1-10 21:58:59 | 显示全部楼层
遗精 ..... 标题党 -v-



1,用struct 跟 class 类似,利用函数指针,将对象本身的实现方法封装在类里面,模拟所谓的oo

2,可变参数实现类似oo的函数重载。

3,至于13.2.3节说的办法,其实是不是就是所谓的回调函数(call back)呢?所谓的“构造抽象数据类型”

是楼主自己安的名字?



很好的资料,基本没啥意见。不过至于可变函数的使用,除了 printf 函数族,我在其他代码基本没有见过,

而第1和第3点编写技术用的很广泛,值得学习。

出0入0汤圆

发表于 2009-1-10 22:12:06 | 显示全部楼层
傻孩子文中的讲到这本书《Object-oriented Programming with ANSI-C》可是精品中的精品~~~~阿



上传过来给大家参考



点击此处下载 ourdev_581644.pdf(文件大小:1.20M) (原文件名:ooc.pdf) 

出0入296汤圆

 楼主| 发表于 2009-1-11 00:38:44 | 显示全部楼层
to 【18楼】 Etual  

   哈哈哈!您也是一个得到之人哈。回调函数……名字太抽象了。构造抽象数据类型就

要形象地多……不是俺杜撰的,这是另外一种思路的推导过程。

出0入0汤圆

发表于 2009-1-11 00:38:44 | 显示全部楼层
to 【18楼】 Etual  

   哈哈哈!您也是一个得到之人哈。回调函数……名字太抽象了。构造抽象数据类型就

要形象地多……不是俺杜撰的,这是另外一种思路的推导过程。

出0入296汤圆

 楼主| 发表于 2009-1-11 00:42:30 | 显示全部楼层
to 【16楼】 y2kloach 一根羽毛

    C语言是使用函数选择器和可变参数列表来实现多态技术的,重载就

更简单了,用函数指针就轻松完成重载了……真正难得部分是多态……

但是前面已经说了,用函数选择器和可变参数列表就可以搞定……

出0入0汤圆

发表于 2009-1-11 00:42:30 | 显示全部楼层
to 【16楼】 y2kloach 一根羽毛

    C语言是使用函数选择器和可变参数列表来实现多态技术的,重载就

更简单了,用函数指针就轻松完成重载了……真正难得部分是多态……

但是前面已经说了,用函数选择器和可变参数列表就可以搞定……

出0入0汤圆

发表于 2009-1-11 01:14:45 | 显示全部楼层
罪过……

出0入0汤圆

发表于 2009-2-25 13:23:12 | 显示全部楼层
新手

出0入0汤圆

发表于 2009-2-25 14:48:29 | 显示全部楼层
不错 ,很认真的看来一遍“遗精”版,对面向对象的概念有了更具体的认识,谢谢。
另注:13.2.2.3中第二行:设备“已”数组的形式组织在一起,有个错别字。

出0入296汤圆

 楼主| 发表于 2009-2-25 14:54:52 | 显示全部楼层
谢谢你,我会修改这个错误的。

出0入0汤圆

发表于 2009-2-25 19:27:45 | 显示全部楼层
PDF的怎么还不发呀?急死了

出0入296汤圆

 楼主| 发表于 2009-2-26 11:08:40 | 显示全部楼层
三月就快到了,耐心哦,正在最后的校对阶段。

出0入0汤圆

发表于 2009-3-8 11:38:05 | 显示全部楼层
三月已经到了,我这都断粮了1在没有好东西吃我就快饿死了。

出0入0汤圆

发表于 2009-3-30 15:52:08 | 显示全部楼层
期待中……

出0入296汤圆

 楼主| 发表于 2009-3-31 16:21:47 | 显示全部楼层
楼上……期待虾米阿……已经发布了……

出0入0汤圆

发表于 2009-3-31 17:04:48 | 显示全部楼层
o为什么不打包上传?

出0入296汤圆

 楼主| 发表于 2009-3-31 17:35:51 | 显示全部楼层
在另外一个帖子里面……
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=3239709&bbs_page_no=1&bbs_id=3039

出0入0汤圆

发表于 2014-3-12 23:42:26 | 显示全部楼层
记号,收藏

出0入42汤圆

发表于 2014-12-29 10:34:54 | 显示全部楼层
Gorgon_Meducer 发表于 2009-3-31 17:35
在另外一个帖子里面……
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=3239709&bbs_page_no=1&bbs_id ...

楼主这个链接不能看呀,能不能发个有效的链接?

出0入0汤圆

发表于 2016-5-13 16:01:30 | 显示全部楼层
@Gorgon_Meducer ,  楼主发的链接不能打开了。。。
想看一下这个文档。。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 08:00

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表