Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 6186|回復: 13
打印 上一主題 下一主題

From Arduino to AVR 單晶片教學

[複製鏈接]
跳轉到指定樓層
1#
發表於 2011-7-5 17:46:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
為了響應 rayrider 無私的分享精神,我也來分享最近學 AVR 單晶片的心得。還請各位 "賢拜" 不吝指教 (但別出手太重啊! XD)。

From Arduino to AVR 單晶片教學
前言

單晶片微電腦 (Single Chip Microcomputer),或稱微控制器 (Microcontroller,縮寫為 μC 或 MCU),是一個將 CPU、記憶體、I/O Port 等周邊電路全部整合為一體的晶片。不像微處理器需要外部電路連接周邊,微控制器的應用只要少許的電路就可以運作,因為所有必要的周邊它都內建了。微控制器主要用在嵌入式系統,例如汽車電子、工業控制、機械控制等領域。


著名的 Arduino 板子上也有一顆微控制器,它是 AVR 的晶片,例如 Arduino UNO, Duemilanove 用的是 ATmega328,Arduino Diecimila 的是 ATmega168,而早期的 Arduino USB 則是使用 ATmega8。


Arduino 在歐美非常流行,因為它超簡單,很快就可以上手,我認為從 Arduino 到 AVR 是一條進入單晶片韌體開發的捷徑,因此著手撰寫這一系列的教學文件,希望這可以幫助想學單晶片韌體開發的新手,也希望能夠拋磚引玉,藉此引出高手發表佳文,同時也希望先進不吝指教。

全文請見
http://coopermaa2nd.blogspot.com/2011/07/from-arduino-to-avr.html
2#
發表於 2011-7-5 18:09:39 | 只看該作者
看起來是要在Arduino IDE直接用avr的lib嗎,最近再看一些Arduino IDE內的lib有的有用avr的lib去寫,期待啊
3#
發表於 2011-7-5 21:48:29 | 只看該作者
c大,真的不感當,其實早前的arduino教材也很讚,只時小弟在潛水,沒有回應。其實小弟很愛熱鬧,最近大大都出來熱血發話。小弟也想放些東西讓大家高興高興。
4#
發表於 2011-7-5 23:43:49 | 只看該作者
給你按個讚...加油啦

arduino 原來是AVR喔
這幾年跟AVR玩, 不知道是誰在玩誰,
timer 的硬體功能太多也要跟的上變化才行...
5#
 樓主| 發表於 2011-7-6 09:26:49 | 只看該作者
看起來是要在Arduino IDE直接用avr的lib嗎,最近再看一些Arduino IDE內的lib有的有用avr的lib去寫,期待啊
GCY 發表於 2011-7-5 18:09


會在 Arduino IDE 直接用 AVR 的暫存器去動硬體周邊。
6#
 樓主| 發表於 2011-7-6 09:28:46 | 只看該作者
c大,真的不感當,其實早前的arduino教材也很讚,只時小弟在潛水,沒有回應。其實小弟很愛熱鬧,最近大大都 ...
rayrider 發表於 2011-7-5 21:48


哈,可見大家平常都很安靜,可是其實都是熱血而且樂於分享的。不算是壞事啊。
7#
 樓主| 發表於 2011-7-6 09:31:45 | 只看該作者
本帖最後由 coopermaa 於 2011-7-6 13:59 編輯
給你按個讚...加油啦

arduino 原來是AVR喔
這幾年跟AVR玩, 不知道是誰在玩誰,
timer 的硬體功能太多也 ...
mac1 發表於 2011-7-5 23:43


對啊,Arduino 用的是 AVR 的晶片,從 Atmega8 到 ATmega2560 都有,現在也有 ATtiny 的支援,不過要自己安裝就是了。其實 Arduino 也有 porting 到其它 MCU,像 mbed (ARM cortex-m3), netduino (ARM7), 還有 Chipkit 等 (PIC32MX)....
8#
發表於 2011-7-11 09:03:25 | 只看該作者
感謝Cooper Maa Blog讓我受益良多! 請問我拿了一顆ATmega88插入arduino板子上, 選用Arduino的Arduino NG or older w/ ATmega8 做bootloader燒錄使用USBTinyISP,都無法成功燒錄, 請問是Atmega8跟ATmega88不相容嗎?
9#
 樓主| 發表於 2011-7-11 14:37:17 | 只看該作者
ATmega88 跟 ATmega8 好像不太相容耶,
剛看這篇 AVR094: Replacing Atmega8 by Atmega88
發現這兩顆好多暫存器名稱都不一樣
10#
 樓主| 發表於 2011-7-11 14:41:32 | 只看該作者
網路上有人說 ATmega88 跟 ATmega168 架構是差不多的
也許你可以試試用 "Arduino NG or older w/ ATmega168"

不過,因為 ATmega88 Flash 只有 8KB,所以你要改一下 "arduino-00xx\hardware\arduino\boards.txt"
把 atmega168.upload.maximum_size=14336 這行的數字改成 7168

我也不曉得 work 不 work,試看看囉
11#
發表於 2011-7-11 22:47:40 | 只看該作者
感謝大的分享...讓準備踏入的新手獲益良多 , 期勉自己也可以開始分享的一天...CC
12#
發表於 2011-7-22 14:43:11 | 只看該作者
感謝教學
讓新手可以從基礎瞭解
期望你有更多的教學
13#
發表於 2011-7-22 14:46:24 | 只看該作者
Duemilanove的microcontroller有ATmega168或ATmega328
有錯請指教
14#
 樓主| 發表於 2011-7-22 15:00:11 | 只看該作者
yes, you are right.

Duemilanove 早期是用 ATmega168,Duemilanove 2009 改用 ATmega328
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-6-13 20:55 , Processed in 0.123158 second(s), 9 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表