第五十六章 另一個(gè)坑
我嘗試了這個(gè)嬰兒車的一些功能,通過(guò)觸摸屏選擇了「哄娃模式」,然后那個(gè)被老爹稱作「小靈」的人工智障,哦不,人工智能系統(tǒng)就開始唱歌。與之同時(shí),這嬰兒車還開始輕輕的搖動(dòng)了起來(lái)。當(dāng)然了,是唱的那種輕柔助眠的音樂,其中居然還有心跳的聲音。
這是什么操作?
「老爹還在讀高中的時(shí)候,在英語(yǔ)卷子的完形填空題中GET到的這個(gè)知識(shí),說(shuō)是據(jù)科學(xué)研究,給同一個(gè)寶寶放不同的音樂,其中播放媽媽的心跳聲時(shí),寶寶睡得最快。
這么重要的知識(shí)點(diǎn)一直被你老爹我記著呢,最后經(jīng)過(guò)拿你做實(shí)驗(yàn),發(fā)現(xiàn)還真的有效果!」
「……」
看著老爹面露些許興奮之色,我是無(wú)語(yǔ)至極,感情我就成了小白鼠唄。
還別說(shuō),效果挺好的,沒聽一會(huì)兒我都有點(diǎn)想要睡覺了。
就在這個(gè)時(shí)候,老爹用手機(jī)播放了一段嬰兒的哭聲。
「哭聲分析中,分析結(jié)果為:餓了的可能百分之八十,紙尿布濕了的可能性為百分之十,身體不適百分之二……」
「這玩意兒分析出來(lái)的結(jié)果真的能信?」
聽著嬰兒車報(bào)出的一系列的結(jié)果,我對(duì)此深感懷疑。畢竟嬰兒除了表達(dá)高興以外,其他都是哭,就連作為最親近的人都難以捉摸透這其中的意思,這么一個(gè)沒有溫度,看上去還丑不拉幾的嬰兒車能明白?
然后接下來(lái)看到的景象,真的是啪啪啪打臉。
原來(lái)老爹是在播放一段視頻,只見視頻中出現(xiàn)了老媽的身影,她在檢查了嬰兒的紙尿布之后,又看了一下嬰兒車屏幕上的溫度、濕度等信息,最終沖了一瓶奶粉。那嬰兒吃完之后,就乖乖地接著睡了。
「擦勒!視頻中的嬰兒該不是我吧?」
「嗯哼,不然是誰(shuí)?」
「……」
我又是好一陣無(wú)語(yǔ)。我看到過(guò)姑姑家表弟和舅舅家的表妹出生后,那些大人可以說(shuō)是關(guān)懷備至,整天抱著啊,哼小曲哄啊,拍背啊,反正是各種招式層出不窮,就是為了哄他們睡覺。
可到了我這里,怎么就變成這個(gè)樣子了?我怕不是度過(guò)了一個(gè)假的嬰兒時(shí)期哦!
接下來(lái),老爹又播放了幾種哭聲。雖然說(shuō)是幾種,但是我完全沒有分辨出來(lái)有什么區(qū)別。作為當(dāng)事人的我,更是完全不能明白當(dāng)時(shí)要表達(dá)些什么。
可是毫不例外的是,都被這輛嬰兒車給猜中了!
接下來(lái)老爹的演示讓我神經(jīng)都麻木了,比如說(shuō)如果播放的哭聲超過(guò)了三分鐘,這輛嬰兒車就會(huì)開始給老爹和老媽的手機(jī)發(fā)短信、打電話,甚至?xí)詣?dòng)在家里轉(zhuǎn)悠,尋找大人的蹤跡。
如果超過(guò)八分鐘,這嬰兒車就會(huì)發(fā)出警報(bào)音。
「我勒個(gè)乖乖,這哪里是什么嬰兒車,分明就是成精了嘛!老爹,你確定這嬰兒車是用C語(yǔ)言實(shí)現(xiàn)的?」
我真的不敢相信,C語(yǔ)言居然能夠做到這些。
「那是自然,C語(yǔ)言的強(qiáng)大,超乎你的想象。之前都和你說(shuō)過(guò),C語(yǔ)言就是道生一,一生二,二生三,三生萬(wàn)物中的三,別看現(xiàn)在各種高大上的變成語(yǔ)言遍地開花,但或多或少,或直接或間接,都和C語(yǔ)言有千絲萬(wàn)縷的關(guān)系,所以絲毫不用懷疑C語(yǔ)言的用處。」
「那老爹,能不能把小靈的代碼給我看看?」
「這有什么難的?」
說(shuō)罷,老爹打開電腦,找出了一個(gè)工程。
工程打開足足加載了半分鐘!里面有十來(lái)個(gè)文件夾,每個(gè)文件夾里有了數(shù)十個(gè).c文件!
「我勒個(gè)乖乖,這也太恐怖了吧!」
我不禁咋舌。
「老爹,你這是寫了多久?。 ?p> 「差不多一年吧,喏,這里還有當(dāng)年的設(shè)計(jì)概要和一些分析文檔,有興趣你可以看看。其實(shí)寫代碼倒是不費(fèi)時(shí)間,費(fèi)時(shí)間的是調(diào)試過(guò)程。調(diào)試用的時(shí)間往往是寫代碼的五六倍,甚至更多。
關(guān)鍵是還要驗(yàn)證硬件的問題,可能你用了好幾天的時(shí)間來(lái)尋找代碼的問題,結(jié)果發(fā)現(xiàn)是硬件電路出問題了,這種事情在調(diào)試過(guò)程中經(jīng)常發(fā)生。
在這個(gè)過(guò)程中,遇到了很多的困難,甚至于很多bug我到現(xiàn)在都沒有想明白,好多次老爹都差點(diǎn)放棄了,要不是有你媽媽的支持和鼓勵(lì),我根本就堅(jiān)持不下來(lái)?!?p> 那么多的.c文件,看得我頭皮發(fā)麻,根本就不知道從什么地方開始看起。
「拿到一個(gè)工程,首先肯定是從main函數(shù)開始看啥,然后順著main函數(shù)查看函數(shù)的調(diào)用關(guān)系。如果整個(gè)系統(tǒng)比較復(fù)雜的話,就先理順整個(gè)系統(tǒng)。這個(gè)時(shí)候就可以借助思維導(dǎo)圖軟件了,將整個(gè)系統(tǒng)的脈絡(luò)整理出來(lái)。
等到調(diào)用的最底層,就是每個(gè)最小功能的具體實(shí)現(xiàn)了,然后再通過(guò)系統(tǒng)脈絡(luò)倒推回去,這樣就基本上對(duì)系統(tǒng)就有個(gè)大概的了解了。」
「呵呵,老爹你說(shuō)得輕巧,這么多代碼,等我看完估計(jì)我都得上高中了!」
從main函數(shù)跟進(jìn)了幾層調(diào)用后我就開始凌亂了,即便老爹寫的程序注釋很健全,我都失去了看下去的欲望。
「如果你想讓你學(xué)習(xí)的C語(yǔ)言好好利用起來(lái),我這里有塊32單片機(jī)的開發(fā)板,你可以先拿去玩兒,等你什么時(shí)候能夠把C語(yǔ)言用得比較溜了,那個(gè)時(shí)候我就教你Java或者C#中的一種。
其實(shí)這兩種語(yǔ)言相似度非常高,只要你會(huì)其中任意一種,就能夠輕松地過(guò)渡到另外一種?!?p> 看著近乎要逆天的嬰兒車,又看了看老爹手中的開發(fā)板。算了算了,還是玩兒這個(gè)簡(jiǎn)單的吧,那個(gè)嬰兒車我確實(shí)沒有勇氣去動(dòng)它。
于是乎,在接下來(lái)的時(shí)間里,我就跳進(jìn)了開發(fā)單片機(jī)的坑。這個(gè)坑的確是挺大的,至少比之前學(xué)習(xí)C語(yǔ)言的時(shí)候可難多了。
而且這其中還涉及到電路的知識(shí),當(dāng)然了,老爹在給我講解的時(shí)候不可能說(shuō)得很細(xì)致,只是說(shuō)應(yīng)該如何驅(qū)動(dòng)。因?yàn)檫@其中的知識(shí)可海了去了,說(shuō)了我也聽不明白。
而且老爹說(shuō)他一個(gè)學(xué)電子信息的人,專業(yè)知識(shí)就是和各種電路和信號(hào)打交道的,最終卻選擇了寫代碼,最大的原因就是對(duì)硬件不感冒!