|
今天有什么值得記錄的呢?首先是做了件好事啦。然后又悟到了些東西。有興趣的話可以往下看(與好事無關(guān)、與有沒基礎(chǔ)無關(guān)),后面有些亮點(diǎn)。
(1)編程過程中的一些事
以我最近寫的一個(gè)筆記應(yīng)用為例,我要達(dá)到某個(gè)目的,比如自動(dòng)保存文本,你以為它真的能夠自動(dòng)保存么?其實(shí)這僅僅是對(duì)于用戶來說。而對(duì)于我來說,我得想個(gè)辦法判斷什么時(shí)候應(yīng)該保存。這時(shí)就要用到某個(gè)事件進(jìn)行判斷,比如當(dāng)用戶不再輸入文字,這時(shí)就可以在后臺(tái)執(zhí)行文件寫入保存操作了。
(2)數(shù)字電路設(shè)計(jì)的一些事
這個(gè)器件是一個(gè)計(jì)數(shù)器,簡(jiǎn)單理解就是當(dāng)CLK接時(shí)鐘時(shí),來一個(gè)脈沖(前面說過的振一下嘛)計(jì)數(shù)加一,這個(gè)加一是怎么體現(xiàn)的呢?就是如果我把輸出QD、QC、QB、QA按位接到4個(gè)LED(發(fā)光二極管)上去,LED會(huì)從0000(0為滅,1為亮)、0001、0010一直亮到1111(即四個(gè)全亮),然后重復(fù)循環(huán)。但這個(gè)東西高端在于它有一個(gè)清0端CLR,與其它輸入端都無關(guān),只要CLR輸入0信號(hào),QD、QC、QB、QA全部輸出0,所以這個(gè)器件就可以擴(kuò)展,將輸出端QD、QC、QB、QA作為反饋信號(hào)接一個(gè)與非門與CLR相連,就可以實(shí)現(xiàn)從0000到1001(或者其他,只要小于15即1111)計(jì)數(shù)。說得有些復(fù)雜,簡(jiǎn)單來說就是這個(gè)東西本來是用來從0到15計(jì)數(shù)的,但我們弄了一下,讓它數(shù)到9時(shí)反饋回去然后又從0開始計(jì)數(shù)。
(3)MSP430頻率測(cè)量的一些事
不要被這標(biāo)題嚇壞,我要說的完全不是什么好高端的東西,保證是能聽懂的。這個(gè)MSP430(之前一直在說的一個(gè)單片機(jī),與下文毫無關(guān)系)內(nèi)部有個(gè)計(jì)數(shù)器,能夠?qū)δ硞€(gè)輸入信號(hào)的頻率進(jìn)行計(jì)數(shù),這里的計(jì)數(shù)是什么意思呢?信號(hào)不是有個(gè)頻率什么的(就是單位時(shí)間振幾次嘛),想象一個(gè)方波(再想象不出來想象一個(gè)正弦圖像),來一個(gè)波計(jì)數(shù)器加1。但因?yàn)檫@個(gè)計(jì)數(shù)器是16位的二進(jìn)制計(jì)數(shù)器,所以最多只能數(shù)到2^16=65535,多了它就數(shù)不不了了,所以輸入信號(hào)的頻率不能超過65535Hz。但如果我要測(cè)量一個(gè)超過65535Hz的信號(hào)怎么辦呢?說出來的話就很簡(jiǎn)單,定義一個(gè)變量X,當(dāng)計(jì)數(shù)器數(shù)到65535的時(shí)候返回一個(gè)信號(hào),此時(shí)X加1,然后計(jì)數(shù)器從0開始數(shù),數(shù)到65535,X再加1,一直下去...這樣最后數(shù)完的信號(hào)的頻率就是X*65535+計(jì)數(shù)器的值,這樣就可以測(cè)量很大頻率的信號(hào)了。
還有很多很多的事。。。
開始幻想了,說得不好聽的,YY開始。有沒有發(fā)現(xiàn)什么共同的東西?凡是涉及到自動(dòng)化的東西,都是需要根據(jù)某個(gè)事件來判斷是否去執(zhí)行某件事。后面兩個(gè)例子你會(huì)發(fā)現(xiàn)其實(shí)反饋也是無處不在,包括以前生物學(xué)的人體內(nèi)的激素。只有當(dāng)你想清楚了,機(jī)器才能按照你所想象的工作。再想象一下,有沒發(fā)現(xiàn)其實(shí)人與機(jī)器還是有很多共同的東西的,當(dāng)你判斷是否執(zhí)行去某件事,比如現(xiàn)在是否應(yīng)該睡覺啊,你會(huì)先根據(jù)時(shí)間、你的疲勞狀態(tài)等等事件進(jìn)行判斷,所不同的是,人的決定是隨機(jī)的,這些所謂的事件只是作為決定的一些參考,而作出決定的我也說不清楚,或許這就是人的靈魂吧。但是,如果要我創(chuàng)造一個(gè)機(jī)器,它當(dāng)然要無條件去執(zhí)行人類的命令,但執(zhí)行的方法有些是隨機(jī)的,比如讓它從A點(diǎn)走到B點(diǎn),有不同的路徑。我的思路是這樣,首先,判斷是否去執(zhí)行某件事的時(shí)候,盡量找出與此事相關(guān)的一些事件,加以比較,找最簡(jiǎn)單的方法(說到這插點(diǎn)小故事,馮▪諾依曼晚年的時(shí)候有學(xué)生向他請(qǐng)教做事的方法,他只回答了一個(gè)詞:Simple),一旦作出決定執(zhí)行就不再考慮與所做事相關(guān)的事件,以A到B為例,可能走路1比路2要短,但因?yàn)闄z測(cè)到路1堵了,立刻就作出決定走路2,一旦邁出第一步,即不考慮路徑1。這種方法可以再深入考慮。
|
|