夏斌 发表于 2012-12-27 13:44:31

初识 FlyMaple — 用代码认识她(3)

板载按钮 Boot0 编程测试

在板子的右下角有个按钮 Boot0 用处不小,记得最开始遇到串口不认得时候,就是在复位后,按它进入下载等待状态的。

现在控制权在我们手里了,是不是可以读取它呢?

老习惯,去Leaflabs 网站上 查 Language Refernc:L没办法,手头资料有限。查权威的!

敲键盘写代码:#include <stdio.h>

//////////////////////////////////////
// FlyMaple V1.1 Study Code 2012.12.22
//////////////////////////////////////

void setup()
{
SerialUSB.println("Run void setup()");

//测试板载按钮
pinMode(BOARD_BUTTON_PIN, INPUT);

// Initialize the built-in LED pin as an output:
pinMode(BOARD_LED_PIN, OUTPUT);//这个也带上,顺便控制下 :)

delay(1000);
SerialUSB.println("Run void setup() ...OK!");
}

void loop()
{
SerialUSB.println("Run void loop()");

//测试板载按钮
waitForButtonPress(); //等待按键

toggleLED();//LED翻转 亮灭

delay(400);
SerialUSB.println("Run void loop()End");
}
还是编译连接下载……

按一下,蓝灯亮,再按一下,蓝灯灭……

函数 waitForButtonPress() 无限期等待 Boot0 按钮,,注意是按下并松开哦!







夏斌 发表于 2012-12-27 14:00:31

上边的函数不是很好,也不能总是让程序停下来等按键啊,再写一个检测按键的程序void loop()
{
SerialUSB.println("Run void loop()");

//测试板载按钮
waitForButtonPress(); //等待按键

SerialUSB.println(isButtonPressed());//检测是否按键

delay(400);
SerialUSB.println("Run void loop()End");
}编译链接下载……
isButtonPressed() 返回 0 表示没有按键
isButtonPressed() 返回 1 表示有按键

在自检程序里用的就是这个函数?呵呵 相当于这个函数吧。



夏斌 发表于 2012-12-27 14:11:19

板载按钮 Boot0 的编程就先写这些吧

其实它还有一种使用方式 中断编程,我觉得还是放在后面的中断编程部分好。也算稍稍高级的用法了。
页: [1]
查看完整版本: 初识 FlyMaple — 用代码认识她(3)