單片機(jī):計(jì)算機(jī)科學(xué)專業(yè)的基礎(chǔ)之一
單片機(jī)的標(biāo)準(zhǔn)寫法通常是這樣的,因?yàn)閱纹瑱C(jī)是一種無操作系統(tǒng)的裸機(jī)運(yùn)行環(huán)境。早期的計(jì)算機(jī)系統(tǒng)也是類似的,直接將main函數(shù)編譯成機(jī)器語言,從內(nèi)存位置x0000h開始運(yùn)行。這種方式被傳承至今。
int返回值的使用可以追溯到操作系統(tǒng)的出現(xiàn),因?yàn)椴僮飨到y(tǒng)需要知道產(chǎn)生的子程序是否運(yùn)行出錯(cuò),因此需要在程序運(yùn)行完畢后獲取一個(gè)返回值來判斷。這種方式可能是POSIX標(biāo)準(zhǔn)的一部分。
我個(gè)人認(rèn)為,作為計(jì)算機(jī)科學(xué)專業(yè)的學(xué)生,從最原始的單片機(jī)開始學(xué)習(xí)是非常有益的。即使是現(xiàn)代的單片機(jī)(例如基于ARM Cortex-M系列的STM32),它們也是很多年前的老式計(jì)算機(jī)系統(tǒng)的雛形。學(xué)習(xí)單片機(jī)時(shí),我們可以了解到很多早期計(jì)算機(jī)的實(shí)現(xiàn)方式,這種學(xué)習(xí)方式就像考古一樣有趣。
從最原始的單片機(jī)開始學(xué)習(xí),我們可以更好地理解計(jì)算機(jī)系統(tǒng)的歷史和遺留問題,掌握計(jì)算機(jī)組成原理等重要知識(shí)。一些大學(xué)的計(jì)算機(jī)科學(xué)專業(yè)課程大綱要求先學(xué)習(xí)電路分析和數(shù)字電路,然后再學(xué)習(xí)單片機(jī),了解如何使用幾條匯編語句操縱寄存器來點(diǎn)亮一個(gè)LED燈,最后再學(xué)習(xí)更高級(jí)的編程語言,如C語言、Java和Python。這種課程設(shè)計(jì)是有道理的。
有些人可能會(huì)認(rèn)為,他們將來會(huì)去互聯(lián)網(wǎng)公司寫前端或者使用Java等高級(jí)語言,因此學(xué)習(xí)單片機(jī)和C語言等東西沒有多大用處。然而,我認(rèn)為這種想法是錯(cuò)誤的。計(jì)算機(jī)硬件系統(tǒng)是運(yùn)行整個(gè)高級(jí)語言和高級(jí)語言框架的基石,學(xué)習(xí)這些語言有助于我們理解整個(gè)計(jì)算機(jī)的運(yùn)作原理。
剛好,我這里有單片機(jī)資料包,私信我領(lǐng)取