Articles Posted by the Author:

  • tone()

    tone()

    描述 在指定的 pin 脚上产生一个指定频率的方波 (工作周期是 50% 的 PWM 信号),可以指定持续时间或者持续直到呼叫 noTone(),在这个指定的 pin 脚上可以接蜂鸣器或者喇叭来发出一段音频。 同一时间只能产生一段音频,如果这段音频已经在别的 pin 脚上拨放则呼叫 tone() 是无效的;如果是在同一个 pin 脚上拨放时,呼叫 tone() 则是设定它的频率。 注意: 如果你想要在多个 pin 脚上拨放不同的音频,在呼叫下一次 tone() 前你需要先呼叫 noTone()。 语法 tone(pin, frequency) tone(pin, frequency, duration) 参数 pin: 指定要产生音频的 pin 脚 frequency: 声音的频率 (Hz),unsigned int 型别 duration: 音频的持续时间,单位为毫秒,unsigned long 型别 (此参数为非必需) 回传 无回传值 使用限制 tone() 使用了 pin […]


  • analogWriteResolution()

    analogWriteResolution()

    描述 analogWriteResolution() 可以设定 analogWrite() 函式的解析度,analogWrite() 的输入值预设是 0 到 255 (8 bits),相容于 AVR 系列的 Arduino板。 86Duino 的 CPU 有 12 个 32-bit PWM 计时器,每个 PWM 计时器的最小时间间隔为 10ns。 在 86Duino 上,analogWrite() 函式的 PWM 频率为 1000Hz ,最高解析度是 13,使用 analogWriteResolution() 将解析度设定为 13 就可以让 analogWrite() 的输入数值范围变成 0 到 8191。 语法 analogWriteResolution(bits) 参数 bits: 决定 analogWrite() 函式使用的解析度 (以 bit 为单位),可以设定的范围从 1 […]


  • analogReadResolution()

    analogReadResolution()

    描述 设定 analogRead() 所回传的数值大小 (以 bit 为单位),它预设为 10bits (回传值范围在 0 到 1023) 以相容于 AVR 系列的 Arduino 板。 而 86Duino 开发板的类比转数位硬体则拥有 11-bit 解析度,用此函式设定过后,就可以从 analogRead() 得到 0 到 2047 的 数值。 语法 analogReadResolution(bits) 参数 bits: 决定 analogRead() 函式回传的解析度 (以 bit 为单位),可以设定它的范围从 1 到 32;你可以把解析度设定的比 11 还高,但是 analogRead() 回传的数值会变为近似值,详细说明可以看下面的注解。 回传 无回传值 注解 如果你将 analogReadResolution() 的数值设定的比板子上类比转数位解析度还要高的时候,86Duino 只会回报最高的解析度,额外的位元皆是 0。 举个例子:在 […]


  • analogWrite()

    analogWrite()

    描述 对 pin 脚写入一个类比讯号数值 (pin 脚将输出 PWM 波型),可以用在改变 LED 的亮度以及控制马达的转速,在呼叫 analogWrite() 之后,pin 脚将会产生一个指定 duty 的 PWM 方波,直到下一次再呼叫 analogWrite() (或者在同一个 pin 脚上呼叫 digitalRead()/digitalWrite());在 86Duino 上 PWM 讯号的频率是 1000Hz。 在 86Duino ZERO 上,这个函式会作用在 pin 3、5、6、9、10、11、13;在 86Duino EduCake 上,这个函式会作用在 pin 3、5、6、9、10、11、13、21;在 86Duino ONE 上,这个函式会作用在 pin 3、5、6、9、10、11、13、29、30、31、32。在 86Duino PLC 上,这个函式会作用在 pin 1、3、4、7。 呼叫 analogWrite() 之前不需要去呼叫 pinMode() 来设定 pin 脚为输出。 […]


  • analogRead()

    analogRead()

    描述 从指定的 pin 脚读取类比电压讯号,86Duino 板拥有数个通道 (在 ZERO 和 EduCake 上有 6 个,ONE 上有 7 个) 可以将类比讯号转换成 10-bit 的数位讯号,换句话说,此函式会将 0 到 3.3 伏特的输入电压转换成 0 到 1023 的整数 (或者是 0 到 2047,藉由 analogReadResolution() 来设定,可以让此函式的回传值解析度提升至最高 11-bit)。预设的解析度为 3.3 伏特/1024 单位或相当于 0.0032 伏特 (3.2 毫伏特)/1 单位。 此函式每次会花费 15 微秒 (0.000015s) 的时间来读取类比讯号,所以读取频率约是一秒 66666 次。 另外,由于 86Duino PLC 上没有类比电压通道,使用此函式取得的 10-bit 值将不具任何意义。 语法 […]


  • digitalRead()

    digitalRead()

    描述 从指定的数位 pin 脚读取数值,得到的值只会是 HIGH 或 LOW。 语法 digitalRead(pin) 参数 pin: 欲读取之数位 pin 脚的编号 (int 型别) 回传 HIGH 或 LOW 范例 把 pin 13 设定成和 pin 7 读到的值相同,pin 7 设定为输入端。 注意 如果 pin 脚没有连接任何东西,digitalRead() 可能会回传 HIGH 或者 LOW (它是随机改变的)。 跟 Arduino 不一样,86Duino 的类比输入 pin 脚 (像是 A0、A1 等) 不能被当作数位 pin 脚。 See also - pinMode() […]


  • pinMode()

    pinMode()

    描述 指定一个 pin 脚做为输入或者输出,请见 数位 pin 脚 中的描述,其中有 pin 脚功能的详细说明。 可以输入 INPUT_PULLUP 参数来启用输入 pin 脚内部的 pull-up 电阻,或是输入 INPUT 来关闭输入 pin 脚内部的 pull-up 电阻。 语法 pinMode(pin, mode) 参数 pin: 你想设定的 pin 脚编号 mode: INPUT、OUTPUT 或 INPUT_PULLUP。(详细功能与说明请看 数位 pin 脚) 回传 无回传值 范例 注意 跟 Arduino 不一样,86Duino 的类比输入 pin 脚 (像是A0、A1 等) 不能被当作数位 pin 脚。 See also […]


  • digitalWrite()

    digitalWrite()

    描述 写 HIGH 或 LOW 到数位 pin 脚中。 如果 pin 脚以 pinMode() 设定为 OUTPUT 模式,给 HIGH 时它会输出 3.3 伏特电压,给 LOW 时是输出 0 伏特电压 (接地)。 语法 digitalWrite(pin, value) 参数 pin: pin 脚编号 value: HIGH 或 LOW 回传 无回传值 范例 将 pin 13 设定为 HIGH 使 LED 灯亮起,延迟一秒后变为 LOW 使 LED 灯熄灭,如此反覆动作。 注意 跟 Arduino 不一样,86Duino 的类比输入 […]


  • sizeof

    sizeof

    描述 运算子 sizeof 可以根据变数型态回传一个单位为 byte 的数字,或者一个阵列所占用的 byte 数。 语法 sizeof(variable) 参数 variable: 任意型态的变数或阵列 (例如: int, float, byte) 范例 运算子 sizeof 对于处理阵列 (例如:字串) 是相当的方便的,他可以读出阵列的大小而不会破坏程式的其它部分。 这个程式可以一次一个字元的印出文字字串,尝试去改变文字片段。 注意 sizeof 回传的 byte 数,在 for 回圈里面若使用 sizeof 去取得较大变数型别 (如 int) 的阵列元素个数时,将会像下面这样;另外,也要注意到字串严谨的规则,结尾会有空字元 \0 (ASCII 的值是 0)。 语法参考主页面 本页由热血青年 LBU 译自英文版。 The text of the 86Duino reference is a modification of the […]


  • const

    const

    const 是常数的意思,它可以将变数限定成只能读取其数值。这代表被限定的变数只能被读取而不能去改变它的数值;如果你尝试去更改它,编译器会产生错误讯息来提醒你不可以改变 const 变数。 以 const 定义之常数也会遵循 变数作用范围 的规则。由于使用 #define 定义常数时有较多需注意的地方,因此一般建议以 const 来定义常数会比用 #define 还要好。 范例 使用 #define 还是 const? 你可以用 const 或 #define 去创建一个数字或字串常数,但若是阵列,你仅可使用 const。一般来说用 const 定义常数会比用 #define 还要好。 See also - #define - volatile 语法参考主页面 本页由热血青年 LBU 译自英文版。 The text of the 86Duino reference is a modification of the Arduino reference, and is […]