tft每日頭條

 > 生活

 > 郭天祥的十天學會單片機教學

郭天祥的十天學會單片機教學

生活 更新时间:2024-07-30 20:08:47

如何評價單片機大神郭天祥,他對中國的硬件發展起到什麼樣的作用?

用一句話總結一下郭天祥的單片機教程:讓人知其然而不知其所以然。

本科學了一半以後直接放棄了。這本書的知識點給人的感覺就是一種讓你飄着的感覺,所有東西完全浮于抽象的概念之上,對單片機的内部電路組成一字不提。後來研究生去了國外,修了一些更加底層的課程之後才真正理解了單片機的運行原理

郭天祥的十天學會單片機教學(如何評價單片機大神郭天祥)1

在國外,做嵌入式學生的學習流程是這樣子的:

1.學習模電,數電,C語言。這些是一切的基礎。

2.學習CPU架構,使用數電模塊搭建一個CPU出來,CPU就是一特殊的時序邏輯電路。

3.學習計算機體系結構,了解多線程、并行計算、各種類型指令集的執行方式。

4.學習片上系統。

5.學習操作系統,開始編寫BIOS和外部固件。使用C實現一個類Linux操作系統。

6.學習單片機,進行操作系統的移植。

而在國内,做嵌入式學生的學習流程是這樣子的:

1.學習模電數電C語言

2.開始看郭的單片機教材

所以,郭最誤導人的一點就是,他把自己的教材定義為一個入門教材,誤導學生跳過了若幹必修課去直接進行單片機編程。如果你以這樣的路徑去學習的話,即使你會用那個學習闆實現一些簡單的功能,但你的路必然走不長久,當你在未來遇見更加複雜的問題的時候,你會發現你的基礎以及對單片機的理解很不到位。各位初學者可以問問自己:你的真了解那個黑片兒裡面的電路組成嗎?

-------------------------------------------------------------------------------------------

如果你現在是一個用郭的教程的單片機的入門者,那麼請先回答下面這些基礎的不能再基礎的問題,如果你很多都回答不上來,那麼請立刻停止這本書的學習,趕緊去補基礎去,問題如下:

1.請用數電模塊(例如多路選擇器,加法器等)搭建一個單片機出來,闡明你的總體思路。

2.單片機和CPU有什麼差别?

3.STC89C51, AT89C51等叫做51的單片機有幾百種,那麼為什麼這些單片機都叫51單片機?51代表了一種什麼共性?

4.指令集架構和微架構有什麼聯系和區别?

5.51單片機是否具備指令流水線?如果有,那麼有多少級?

6.請結合硬件闡述操作系統的啟動流程。

郭天祥的十天學會單片機教學(如何評價單片機大神郭天祥)2

最後統一回答一下很多人提出的一些問題。

很多人提到了學單片機應該先激發初學者的興趣,而不是上來直接看底層原理。甚至有人說學這些底層原理99%的人都得放棄。

針對這些問題我回答一下:

首先,CPU架構片上系統等課程之于嵌入式,相當于體系結構操作系統等課程之于計算機。這些課程,是你作為一個合格的嵌入式科班出身的開發者所必須擁有的能力。否則,你和剛從培訓班出來的碼農,沒有任何差别,更何況很多培訓班出來的碼農都知道補修本科課程來給自己打基礎。這些看似沒用的課程在未來會直接影響你的開發深度和開發效率,沒學過這些課程的人看相關開發手冊可能看好幾周都掌握不到位,而你看一兩天就足夠。

所有計算機專業的畢業生都是從體系結構到軟件工程這樣自底向上的學過來的,為什麼你搞嵌入式的就不能這樣學?這些課程的難度并不是很大,隻要下點功夫,都能掌握。

郭天祥課程的水準充其量隻是職業培訓的水準,是完全不能作為一個合格的本科教材存在的。目前國内沒有專門針對嵌入式的培養方向,并且不錯的教材也很少,所以郭的書才能在國内的市場大行其道。所以各位初學者,一定要先把基礎打牢,按我答案中提到的路線來走,不要聽某些自暴自棄者的話。

知乎上我看見另一篇關于嵌入式的答案講的很好,STC89C51,STM32等這些開發闆的開發充其量隻是“術”,而數電模電CPU架構體系結構片上系統的知識則是“道”。根據我的學習經驗,一旦把“道”掌握到位,你會發現,STM32等各種開發闆的官方手冊你直接就能看懂了,根本不必再去學那些市場上的開發教材,你會發現郭天祥之流的教材講的都是廢話。所以前期耗費太多時間在“術”上是非常不值得的,到後期你會發現你前期完全就是在浪費時間,并且浪費了很多時間。

看過郭天祥的兩個視頻——1.十天學會單片機c語言開發;2.用AD(DXP)畫PCB。。作為一個機械類畢業生,靠這兩門課程入門,加起來可能也就一二十個小時的視頻課程。。。看完之後,買了英飛淩的xc2000單片機,畫電路闆,做開發闆,然後算是入門了。。。

工作以後,技術上需要進階,通過網站自學了下面的一些教程——彙編語言(小甲魚),算法(小甲魚),計算機網絡技術(某大學公開課),操作系統原理(清華和浙大的公開課),計算機組成原理(哈工大的公開課),編譯原理(哈工大公開課),freeRTOS(野火),lwip(野火),數電模電(書本),微電子(複旦公開課,沒學完,但學到的那幾個章節已經很受益)……買過TI,STM等單片機,為了熟悉ARM的指令集。以上所有的課程在工作中都用到了,也是技術進階的必然。

視頻跟大學課程的作用應該都是引導和答疑為主。學生應該主動去探索。野火的視頻告訴你rtos在stm32上怎麼做任務切換,怎麼保護上下文。學習者應該自己研究在自己手頭的芯片上怎麼一直rtos,怎麼切換上下文,怎麼現場保護和現場恢複。視頻是授人以漁的。

郭天祥的十天學會單片機教學(如何評價單片機大神郭天祥)3

郭老師的視頻和書都很淺顯易懂,作為單片機的入門教學其實是很不錯的,可以讓一個可能隻是會一點c語言的大學新生快速上手。很多回答都覺得學習應該先學模電、數電,實際上我們很多知識都是先學了用起來,等後面上課學到這塊的知識,一下子會讓你回憶起來,會讓你搞明白原理。我是大一開始做單片機開發,大二上模電數電的課,大二下才上單片機,大三上嵌入式課,雖然一開始做單片機開發一知半解,對單片機的實現很多細節不清楚,但是後面上課上到這些知識的時候則讓我煥然大悟,此時我已經有兩年多的開發經驗了。不過郭老師的視頻和書看完很浪費時間,可以看前面一部分然後理解了後面就按着自己的想法去實現就好了,不用全部看完,因為最重要的那些入門的知識點前面的部分已經可以學習到了。

說了這麼多,大家記得留意下方評論第一條(或者私信我)有幹貨~

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved