一般而言,在Arduino中大多都是以INO這檔案為主
以下:
Blink.ino
Config.h
Marlin.h
main.cpp
Blink.ino內容:
==================================================================
空
==================================================================
Config.h
==================================================================
#ifndef CONFIG_H
#define CONFIG_H
#include "Arduino.h" //似乎這個就是個關鍵
#endif
==================================================================
Marlin.h (這只是用來測試「間接」而已)
==================================================================
#ifndef MARLIN_H
#define MARLIN_H
#include "Config.h"
#endif
==================================================================
main.cpp
==================================================================
#include "Marlin.h" //這裡其實可以包含Config.h的,多用個Marlin.h是為了表示可間接
void setup(){
}
void loop(){
}
==================================================================
2017年4月16日 星期日
2017年2月19日 星期日
2017年2月12日 星期日
2017年2月11日 星期六
Arduino 直接把HEX燒錄進去板子裡(Arduino hex uploader)
在有些情況下,我們寫好的程序或功能,要讓別人來試用時,但又不想要整個源碼給他人
唯一的方式是用HEX(十六進位碼)的格式
從學習ARDUINO之時,只使用ARDUINO IDE那自動的方式幫程序編驛後又上傳好
那我們如何做到只用HEX檔燒錄呢?
在網路上漫漫訊息之中,終於找到了這個XLoader
唯一的方式是用HEX(十六進位碼)的格式
從學習ARDUINO之時,只使用ARDUINO IDE那自動的方式幫程序編驛後又上傳好
那我們如何做到只用HEX檔燒錄呢?
在網路上漫漫訊息之中,終於找到了這個XLoader
2015年12月10日 星期四
C語言巨集定義技巧
轉載自:
http://miaozl.spaces.live.com/?_c11_blogpart_blogpart=blogview&_c=blogpart&_c02_owner=1&partqs=amonth%3d2%26ayear%3d2007
C語言巨集定義技巧
1,防止一個頭檔被重複包含
2,重新定義一些類型,防止由於各種平臺和編譯器的不同,而產生的類型位元組數差異,方便移植。
http://miaozl.spaces.live.com/?_c11_blogpart_blogpart=blogview&_c=blogpart&_c02_owner=1&partqs=amonth%3d2%26ayear%3d2007
C語言巨集定義技巧
1,防止一個頭檔被重複包含
#ifndef COMDEF_H
#define COMDEF_H
//頭檔內容
#endif 2,重新定義一些類型,防止由於各種平臺和編譯器的不同,而產生的類型位元組數差異,方便移植。
2015年11月11日 星期三
[Arduino] setup() loop() 不在*.ino草稿檔中,如何做?
一般而言在Arduino中,開啟新檔後,就會在其INO檔中看到setup()及loop()這二個函數
例如:
Blink.ino 內容如下:
void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
本文打算要來把setup和loop這二個函數搬位置,應該如何實現呢?
在開啟新的arduino檔案時,會有一個INO檔
我們可以加入其它的檔案,如*.h的標頭檔,或是*.cpp的檔
例如:
Blink.ino 內容如下:
void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
本文打算要來把setup和loop這二個函數搬位置,應該如何實現呢?
在開啟新的arduino檔案時,會有一個INO檔
我們可以加入其它的檔案,如*.h的標頭檔,或是*.cpp的檔
2015年11月8日 星期日
RamPs1.4 基本組裝與步進馬達測試
RamPs1.4 基本組裝與步進馬達測試
1、安裝好Arduino IDE程式,並裝好Aduino Mega 2560的驅動程式
2、將RamPs1.4模組組裝到Mega 2560上,並將RamPs1.4上的步進馬達Jumpper選擇至所需的檔位
3、插入A4988步進馬達驅動器組裝至RamPs1.4上。請注意方向
1、安裝好Arduino IDE程式,並裝好Aduino Mega 2560的驅動程式
2、將RamPs1.4模組組裝到Mega 2560上,並將RamPs1.4上的步進馬達Jumpper選擇至所需的檔位
3、插入A4988步進馬達驅動器組裝至RamPs1.4上。請注意方向
2015年11月1日 星期日
[Arduino] 指令表 (出自於www.arduino.cc)
出處:https://www.arduino.cc/en/Reference/HomePage
StructureControl StructuresFurther Syntax
Arithmetic OperatorsComparison Operators
Boolean OperatorsPointer Access OperatorsBitwise Operators
Compound Operators | VariablesConstants
Data Types
ConversionVariable Scope & QualifiersUtilities | FunctionsDigital I/O
Analog I/O
Due & Zero onlyAdvanced I/OTime
MathTrigonometryCharacters
Random Numbers
Bits and BytesExternal InterruptsInterruptsCommunicationUSB (32u4 based boards and Due/Zero only) |
2015年10月31日 星期六
[Arduino] C前置處理
C 前置處理
對於一個 C 程式 編譯之前, C 編譯器 會先處理 C 程式 中含有
#define、#undef、#if、#ifdef、#ifndef、#endif、#elif、#else 及 #include 敘述, 將之置換成一新 C 程式, 再將之編譯 成一 assembly 程式, 再轉成 machine code(或 object code)。 再經由 linker 變成一執行檔。
對於一個 C 程式 編譯之前, C 編譯器 會先處理 C 程式 中含有
#define、#undef、#if、#ifdef、#ifndef、#endif、#elif、#else 及 #include 敘述, 將之置換成一新 C 程式, 再將之編譯 成一 assembly 程式, 再轉成 machine code(或 object code)。 再經由 linker 變成一執行檔。
訂閱:
文章 (Atom)