2008-09-21 87 views
8

對於想要學習嵌入式編程基礎的人來說,他們可以解決哪些簡單的項目?你可以做些什麼來學習嵌入式編程基礎知識?

我們在談論一些確實瞭解電子電路(電阻器,電容器,數字集成電路等)基本知識的人,並且可以進行基本的焊接。一位正在尋求嵌入式編程的電子愛好者,或者EE大學學位的二年級或三年級學生。

該平臺並不重要,語言也沒有(它可能是C或彙編器或其他)。關鍵是要得到一個簡單的項目的想法,

如果有一本書涉及類似的東西,你可以發佈一個鏈接嗎?

回答

6

我最近購買了Arduino,這很容易起牀和運行。這是一款小巧,價格相當便宜的主板,運行的是Atmega168,其I/O斷開,電源,USB和其他有趣的東西。它運行本地C代碼(正如人們對Atmega芯片的期望),並可用於通過軟件驅動電路。

0

一個簡單的項目(類似於你好世界)將是一個LED追蹤器。 您需要:6至10個LED和一個簡單的開關。

每次按下開關,指示燈都會以不同的模式閃爍。一些模式:
1 LED滾動右
1 LED向左滾動
交替的LED
...

這會教你的I/O引腳,如何使用定時器,也許如何使用中斷爲交換機(或者你可以使用輪詢)。

0

就個人而言,我將建立一個簡單的錄音機。讓我們練習使用AD轉換器和PWM波形輸出。另外它會教會如何模塊化代碼以允許記錄和回放控制。內存數量的限制只有一個,但即使是1 kB的樣本也應該很有趣。

4

以下項目適用於維多利亞大學的CSC460:實時操作系統課程。這個項目旨在讓CS學員不需要掌握嵌入式系統的知識,就可以在微控制器上編程。

目標:

設計的傳感器致動器系統來控制房間的溫度。這個項目將教你pulse width modulation和AD(模擬到數字)轉換。

零件:

  • 1個8位AT90USB1287微控制器演示板
  • 一個溫度傳感器(在電路板的AT90)
  • 一個直流電動機(至3.3V之間的電壓敏感,並且5。0V)
  • 螺旋槳或風扇葉片適合DC電動機
  • 一個L293D H橋
  • 一個5V穩壓

設計:

該系統將使用的溫度傳感器AT90USB1287讀取當前的室溫並調整直流電機的轉速(帶風扇葉片)。通過調整風扇轉速,理論上冷卻房間。

溫度傳感器已經在板載AT90USB1287和微控制器的有線和AD端口。您需要閱讀此微控制器的數據表,並編寫代碼來配置和輪詢溫度傳感器。

直流電機將通過脈寬調製進行控制。 PWM可以通過改變PWM信號的佔空比來控制連接的直流電機的速度。有關PWM的更多信息,請查閱AT90USB1287的大型詳細(可能有點太多)data sheet

一旦你有溫度傳感器和直流電機的工作,你已經完成了這個項目。 L293D H橋和5V穩壓器可用於增加提供給直流電機的功率(從板上3.3V到H橋5.0V)。

2

在我的經驗有一個最初的學習「駝峯」,如果你願意,在嵌入式系統中,可以是很難克服,但一旦你做如果你選擇的第一個項目是很簡單的,你會感到失望

開發工具(即芯片和程序員最低限度)有一些初始投資。建立一個非常簡單的項目不會讓你探索芯片中更有用的領域,因此你獲得的知識量將與你投入的資源量不成比例;無論是在時間和金錢。

我建議讓一些東西比幾個閃爍的LED更有吸引力。對我而言,開發新嵌入式平臺最困難的部分是始終獲得初始編譯並將第一個程序上傳到芯片。由於這一步驟是相同的​​,無論您的第一個項目多麼複雜或簡單,我會再次強烈支持立即開始一個適度複雜的項目。想到像IR遙控器那樣的東西。無論如何,如果你真的想要學習任何東西,希望投入大量的時間。

我也會建議不要去做基本印花稅甚至是Arduino,因爲這些設備不會教你做嵌入式編程所需的真正技能。它們更像是一個能夠運行你的高級代碼的平臺。你正在使用這種平臺的榮耀版本來閱讀這篇文章,你的電腦;幾乎不是嵌入式設備。從好的方面來說,如果你不熟悉電子產品,它們會爲你節省很多麻煩。

獲得由Microchip或ATMEL製造的8位芯片,這兩款芯片非常受歡迎且價格相對便宜,可以購買編程器或者演示板,如果您不熟悉電子產品,演示板也可以工作。芯片。最重要的是,閱讀隨附的數據表,並嘗試構建適度有用的東西。用C或彙編編程。 ATMEL對編譯器和對C的支持要好得多。從長遠來看,你會很高興你沒有浪費時間學習一個平臺,他們正確的心態中沒有人會使用商業產品,並且你會更好地理解處理嵌入式系統的侷限性,因爲沒有比數據表更好的信息來源。

1

關於這個主題叫做「嵌入式Linux入門」(Christopher Hallinan是作者)有一本相當不錯的書。本書將向您介紹在嵌入式Linux平臺上開發軟件的具體細節。把它與一個相對便宜的開發系統結合起來,天空就是極限。

拿起Circuit Cellar雜誌的副本(對於嵌入式軟件和硬件來說非常好的資源),你會發現幾十個適用於小系統的廣告,可以讓你快速啓動和運行。

相關問題