基本概念:
甲) 事前准备和硬件连接
乙) 编写程序代码和经ArduinoISP上载至ATtiny
*** 作流程:
A) 事前准备 - Arduino IDE(参考:1& 2)
这是为使原来的Arduino IDE能支持ATtiny13/44/45/84/85的一次性步骤:
下载档案 attiny/tree/Arduino1
b) 解压下载档,把当中的 "ATtiny" 放在Arduino 档案夹hardware 内
c) 修改attiny档案夹内的boards文字档,把当中的 "attiny13buildf_cpu=9600000L" 改为 "attiny13buildf_cpu=10000000L"
d) 修改hardware/arduino/cores/arduino/wiringc
修改前:
#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)
修改後:
#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) || defined(__AVR_ATtiny13__)
B) 事前准备 – ArduinoISP (参考:1 & 3)
这是使Arduino板用作ArduinoISP上载烧写其它AVR芯片的步骤,若Arduino板之前已为ArduinoISP,则不用再做。
a) 运行Arduino IDE
b) 打开ArduinoISP范例文件
c) 正确选择所使用的Arduino板及串口
d) 上载至Arduino板
e) 退出Arduino IDE
C) 硬件连接
这是ArduinoISP 与ATtiny13的硬件连接
D) 编写程序代码和经ArduinoISP上载至ATtiny
a) 运行Arduino IDE
b) 正确选择所使用的ATtiny13
c) 编写程序代码
int led = 4;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
d) 经ArduinoISP上载烧写ATtiny13
e) 若板上的LED以1秒亮1秒灭的闪动,表示以上 *** 作成功。首先,确保你的自制板子没啥硬件上的电路问题。
1有一块儿能正常工作的Arduino UNO板子,最好是官方的。
2把Uno的D13,D12,D11,GND,5V都连接到自制板子的对应pin上,把自制板子的RESET连接到UNO的D10上,检查下连线是否正确,如果没错,下一步。
3像往常一样,用USB线把UNO连接到电脑上,打开Arduino IDE,选好com口,板子选Arduino Uno,编程器选Arduino as ISP,在文件->示例中选ArduinoISP,把这个示例程序上传到Uno,成功后,下一步。
4 在工具菜单中点击烧录引导程序,如果没问题的话,一分钟内会看到Arduino ODE在底部黑窗口上方的提示条上给你个烧录成功的提示,这就好了。
如有疑问,再问吧,祝愉快!APM飞控程序是开源的,我们可以对某一版本的APM飞控程序进行修改做二次开发。当对APM程序二次开发完成后就要将修改的APM程序编译上传到APM飞控板子中。下面就是介绍如何使用“ArduPilot-Arduino-103-windows”编译、上传APM程序。
1,下载APM飞控程序编译环境(IDE)--“ArduPilot-Arduino-103-windows”,注意不要使用其他版本的Arduino编译环境。
2,下载一个APM飞控程序,例如:ArduPlane-275。另外“ArduPilot-Arduino-103-windows”文件夹与飞控程序文件夹放在一个文件夹中,文件夹的命名最好都是用英文。
3,使用“ArduPilot-Arduino-103-windows”时,打开该文件夹,直接双击“arduino”图标使用,无需安装。“ArduPilot-Arduino-103-windows”的设置:
tool-->board: Arduino mega 2560 or mega ADK;
tool-->programmer: AVRISP mkII
ArduPilot-->: HAL board: Ardupilot mega 2X(现在使用的APM20-25-26等)
File-->reference-->Sketchbook 选为要编译的飞控程序文件夹,每次更改后点OK,并关掉Arduino 103 再打开,这时再选File-->Sketchbook中一项进行编译。
例如,对File-->Sketchbook中ArduPlane进行编译,点击工具栏中“对号”图标开始编译,没有错误大约1分钟就能编译结束。编译完成之后将APM通过数据线连接到电脑上(编译时就连接也可以),选择Board-->serial-port 选择APM的接口。之后点击工具栏的“向右箭头”图标将编译好的程序写进APM,这样就完成了一次对APM飞控程序的刷新。
现在的APM飞控程序不经删减,编译后的大小很容易超过248KB(256KB总内存-8KB的Bootloader占用内存),当编译后大于248KB时不能上传到APM中否则会破坏APM的bootloader
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)