有些电子发烧友质疑,吴坚鸿整天牛气哄哄的,号称深圳同龄人中最牛的单片机工程师,不就是写了几篇叙事性的文章吗?谁不会。有本事就多来点技术性的探讨,少谈点人生。这样的质疑越来越多的时候,我就有点按耐不住了,我今天决定亮剑。 我说过我走的是大师路线,什么叫大师,大师就是在某个行业具有自己原创风格的人。我从学校毕业到现在,做项目一路过关斩将,从来没有高人去带我教我,遇到所有的技术问题都要自己硬着头皮去摸索,去解决,哪怕是一个简单的按键程序,哪怕是一个编译软件的安装与使用,都是从零开始摸索。到现在,我已经摸索出一套成熟的单片机程序框架,不管一个项目有多复杂,只要客户能够用中文跟我描述清楚的,我就可以用C语言把他的需求翻译出来,能做到如此“同声翻译”的境界,跟我这个成熟的程序框架密不可分。 很多人在论坛上只是就某个技术问题进行探讨,探讨的只是一个点。我这篇连载文章探讨的是一个面,一个系统,甚至与其说是探讨,还不如说是传授吴家独门技术更加贴切。电子发烧友如果想从中获得技术收获,就应该带着学习某一门派功夫的心态来学。既然是想学我的功夫,要特别重视程序里变量的命名风格,要严格按我的命名风格来做,只有这样,程序才会显得简单易读,有规律性。 通常来说,传授单片机技术最好要有一个学习板作为硬件平台,即使没有硬件平台,至少每个程序也要有相对应的硬件原理图。为了省时间,我这篇文章将要打破这个惯例,所有的硬件原理我都用中文来描述,所有的硬件连线尽可能简单,简化,尽可能确保读者看文字就知道硬件电路大概的原理。我这里写的所有程序都是用C语言,都是基于PIC单片机的,对于读者来说,所有单片机的C语言都大同小异,只要学会一种,其他的都懂了。我写的程序重点是要教大家编程的模式与框架,因此我不会每个程序都亲自上机去验证,有可能会有语法错误,望大家谅解。 这篇连载文章每一节的程序里主要包含两方面的内容。一方面是吴坚鸿的程序框架,另一方面是我做项目中所遇到的某个具体技术难题的解决方法。这篇文章写到什么时候结束,我也不知道,只要我心情好,只要我一直是做单片机开发的,我就会一直写下去,可能一开始是写编程风格,以后会写更多我每个月所遇到技术难题的解决办法。如果我有时间,我就尽可能更新快一点,如果平时比较忙,我就尽可能保证每个星期至少更新一次。 我的第一个技术贴,Action!
2013年3月28日补充:凡是看帖回帖的电子发烧友,哪怕喊喊"鸿哥V5"口号也行,只要你在深圳,只要你能引起我的好感,你就有可能获得跟鸿哥共进午餐的机会(鸿哥买单)。
2013年4月1日补充:欢迎各位网友指出我的漏洞与错误。有一些网友很热情,会咨询我另外其他的一些技术问题,我只愿意回答其中简单的,举手之劳的问题,但是不愿意回答具体细节的技术问题(尤其是要我阅读别人代码才能回答的问题,这个是最痛苦的),因为我时间有限。我写这个技术贴,是以灌输为主,网友能消化则消化,不能消化我也不想帮助他消化,一切看他个人的造化。
(一)按键行列扫描与蜂鸣器:http://bbs.elecfans.com/forum.ph ... 5319&fromuid=220353
第二节:独立按键扫描与蜂鸣器:http://bbs.elecfans.com/forum.ph ... 9622&fromuid=220353
第三节:AD按键扫描与蜂鸣器:http://bbs.elecfans.com/forum.ph ... 1711&fromuid=220353
第四节:“鸿哥三宝”之74HC165(按键扫描篇):http://bbs.elecfans.com/forum.ph ... 9196&fromuid=220353
第五节:“鸿哥三宝”之74HC595(继电器驱动篇):http://bbs.elecfans.com/forum.ph ... 3364&fromuid=220353
第六节:单串口通讯之如何接住别人丢过来的一堆数据:http://bbs.elecfans.com/forum.ph ... 5201&fromuid=220353
第七节:安全可靠的串口通讯协议之校验:http://bbs.elecfans.com/forum.ph ... 2285&fromuid=220353
第八节:串口通讯之如何提取数据尾:http://bbs.elecfans.com/forum.ph ... 8356&fromuid=220353
第九节:串口通讯之485通讯:http://bbs.elecfans.com/forum.ph ... 6062&fromuid=220353
第十节:鸿哥多文件编程套路的”十二招式”:http://bbs.elecfans.com/forum.ph ... 5236&fromuid=220353
第十一节:鸿哥单色液晶屏三大类定律(KS0107驱动12864屏):http://bbs.elecfans.com/forum.ph ... 9903&fromuid=220353
第十二节:液晶屏第一大类定律--纵向显示八个点(KS0107驱动19264屏):
http://bbs.elecfans.com/forum.ph ... 6079&fromuid=220353
第十三节:液晶屏第一大类定律--纵向显示八个点(SED1520驱动12232屏):http://bbs.elecfans.com/forum.ph ... 3442&fromuid=220353
第十四节:液晶屏第二大类定律—横向显示八个点(T6963C驱动240128屏):http://bbs.elecfans.com/forum.ph ... 4039&fromuid=220353
第十五节:液晶屏第二大类定律—横向显示八个点(RA8835驱动320240屏):http://bbs.elecfans.com/forum.ph ... 9399&fromuid=220353
第十六节:液晶屏第三大类定律—任意位置显示一个点(彩色320240点阵屏):http://bbs.elecfans.com/forum.ph ... 3980&fromuid=220353
第十七节:液晶屏第三大类定律—任意位置显示一个点(HT1621驱动段码液晶屏):http://bbs.elecfans.com/forum.ph ... 6976&fromuid=220353
第十八节:ADS7843驱动的320240电阻型触摸屏:
http://bbs.elecfans.com/forum.ph ... 7451&fromuid=220353
第十九节:FTC359A驱动的触摸按键:http://bbs.elecfans.com/forum.ph ... 7041&fromuid=220353
第二十节:按键操作液晶显示屏菜单的基本程序框架:http://bbs.elecfans.com/forum.ph ... &page=30#pid1603620 |