看高手談談對單片機編程的理解
不知道您有沒有誤解,反正我想讓你們把上面二十這個數(shù)字的單位理解成年。如果您沒有誤解,那么我聽到會有一點點失望,如果您誤解了,我覺得很抱歉,真的。好像有個人說過大概這樣一句話,人生有兩件痛苦的事情,一是他的欲望沒被滿足,另一件是他的欲望被滿足了。嘿嘿,您爭使我陷入這兩個痛苦之一。其實,我參加工作才一年半,也就是二十個月左右,離開學校之前我基本沒編寫過程序,c語言,僅知道有這么一個名詞。所以我還不具備能力對我下面所說的話負責——在編程上我未成年——那我為什么要撒謊呢?因為我想吸引你們過來,我想從你們那里得到下面這份資料:
實用單片機系統(tǒng)(McuSystem)的最新版,MS3,(如果您有,EMAIL給我,謝謝您!我的郵箱fuchilin@163.com)。我在論壇里找到了,可是沒有積分,有沒有熱心的朋友幫我下載個?
哦,還有個問題,農(nóng)民講習所當年就留下一個pdf文件(建立通用處理程序)嗎?有誰知道的,能否解答下我的疑問。謝謝
我先把正事擺在前面,不過水灌了太多了,我也不能太無良,人太無良,必有災殃啊。下面且聽我撒幾句?!吧賰骸碑斝?,甄吾言,再顯式強調前面那句話,“在編程上我未成年”。
既然是說對編程的理解,那么,先胡亂下個定義。編程,我認為,是一個解決某個具體問題的思維過程,只不過解決這個問題的工具跟生活中普遍所提到的工具稍有不同,它是某種編程語言(嘿嘿。這句話貌似有個嵌套,倘若你認同這個觀點,或者不是很反感,接著往下看) 。好,既然它是一個思維過程,那么重要的是什么——思維方法,所以你在解決問題的時候,對你來說重要的不應該是什么工具。思維方法有那些,我覺得您應該抽空了解一下。有些東西沒有土生土長的,舶來也不錯。哈哈。說到這邊我決定快點打住,原因有二:中午沒休息(我平時有午休的習慣),天冷,加班,人少,更冷,結果頭很暈,怕說錯太多話。二我想很多人都不喜歡“灌水”的。我如果在繼續(xù)這段的說話方式,而且不加解釋的話,我想我玩玩了。這邊我再解釋下,這段我絕無繼續(xù)灌水之意,您回憶一下,你在看編程書籍的時候,有沒有這種經(jīng)歷:您第一次看的時候,覺得某些地方作者泛泛而談,您心里在想,奶奶的盡講些大道理,這不灌水嗎,實在的(代碼)不來點。過了段時間,也許你會在編程遇到困難的時候,突然想起了跟當前問題有關聯(lián)的大道理,你豁然開朗了。其實,人家在講空話的時候,殊不知腦海里閃過多少“烏云”,說不定就有正蓋在你頭上的那朵。想想,有些東西確實不是很好表達,要是拿個例子來講,萬一水平不好,或者哪里疏忽了,豈不統(tǒng)統(tǒng)暴露。面子就像女人的貼身衣物,能不丟就別丟,嘿嘿。另外,倘若我灌水了,我不是有意的,那是我的水平問題了,而不是態(tài)度問題,我也用心去寫了,請理解我一下,拍磚的時候輕一點,下手別太狠。
來點稍微具體的,然后結束。
一 抽象
我對抽象的理解是這樣的。第一種意思,按照人腦的思維,抽出問題的幾個大方面,或者步驟。然后123。。。我強調人腦,方面,步驟。為何強調人腦。首先,解決問題的是人,當然應該是人腦,我暫時認為當最初解決問題的時候,不應該被工具束縛,不應該讓它的任何肢體進入您的腦海。其次,程序員都是人,便于溝通,也就是可讀性的問題。第二種意思:把現(xiàn)實世界中的事物,用數(shù)據(jù)結構把它描述出來。建議您可以去看看unix,linux操作系統(tǒng)里的東東。
二 分層
分層就是把一個大的問題分解成有層次的小的問題。這個方法符合大腦的“國情”,你首先要承認,人腦是有局限的,當問題復雜到一定的程度的時候,你的大腦將疲于奔命,在復雜一點就“死機”了。分層也服務于抽象,你想,高度抽象的層次,不會處理下層瑣碎的事情。而這些瑣碎的事情就會被拋到別的層。分層的好處多多。我不想再在這個方面吐口水。
三 法
法,應該有效仿的意思。如果我沒用錯,這邊就取這個意思。這一點很玄乎,是我整個人生積累下來的經(jīng)驗,本人認為這個原則放諸四海皆準。不信你試試!法什么呢?法自然,法硬件,法別人的軟件等等,關于軟件可以效仿硬件,我是這么想的,微處理器的產(chǎn)生有一個方面就是為了簡化電路的設計,而被微處理器代替的電路邏輯都要由微處理器借助軟件來實現(xiàn),從這點出發(fā),它們是相通的,法是很自然的東東了。有時候,你法下硬件,問題就解決了,而且借助硬件的分析方法,可靠性也大大提高了。法自然,嘿嘿,軟件也是生命體,自己想吧,愛怎么想怎么想,天馬行空的想最愜意。我們一起想吧。法別人的軟件,你要提高自己的編程技巧,要經(jīng)常讀高手的好代碼,端杯茶,像讀小說一樣去讀它。最好還能自己去實現(xiàn)它,只有親自去嘗試之后,你才會發(fā)現(xiàn)烏云掩面的天空。很多從事自然語言寫作的人,在成為高手之前,都是通過模仿別人的作品來提高自己的寫作水平,這種方法我們也可以法。編程還有編程元素,編程模式,這些概念的提出也是法別的領域提出來的??梢?,法的威力無窮。
在我現(xiàn)在的認識水平,我暫時認為,大的方面只要抓住前兩點就行了。不過記得兩手都要抓,兩手都要硬。第三點就要看個人的造化了。小的方面技巧太多了,不是三言兩語就能說清楚的。當我到了覺得不怕揭開遮羞布時候,我會結合這兩個原則去實現(xiàn)系統(tǒng)的東西,然后拿出來和大家一起分享。不過這個時間估計還要很長,因為我真的還很菜很菜。。。
末了,前面兩點都是老生常談的東東了。不過,同樣一個東東,你明白了它,切不一定能用好它。就像武俠小說里說的那樣,高手即使出的一招普普通通的入門把式,威力跟剛入門的弟子比起來就是不同。我們明白了這些東東,就要身體力行的去實踐它。我們的技藝才會有進步。還有,上面說的話未參考或者引用任何資料,完全是一家之言,貽笑大方了!不要對一些名詞的定義太較真,不過歡迎拍磚!
評論