2012-12-27 13:44:31 [显示全部楼层]
5173浏览
查看: 5173|回复: 2

[已解决] 初识 FlyMaple — 用代码认识她(3)

[复制链接]
板载按钮 Boot0 编程测试

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

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

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

敲键盘写代码:
  1. #include <stdio.h>
  2. //////////////////////////////////////
  3. // FlyMaple V1.1 Study Code 2012.12.22
  4. //////////////////////////////////////
  5. void setup()
  6. {
  7.   SerialUSB.println("Run void setup()");
  8.   //测试板载按钮
  9.   pinMode(BOARD_BUTTON_PIN, INPUT);
  10.   
  11.   // Initialize the built-in LED pin as an output:
  12.   pinMode(BOARD_LED_PIN, OUTPUT);  //这个也带上,顺便控制下 :)
  13.   
  14.   delay(1000);
  15.   SerialUSB.println("Run void setup() ...OK!");
  16. }
  17. void loop()
  18. {
  19.   SerialUSB.println("Run void loop()  ");
  20.   //测试板载按钮
  21.   waitForButtonPress(); //等待按键
  22.   toggleLED();//LED翻转 亮灭
  23.   delay(400);
  24.   SerialUSB.println("Run void loop()  End");
  25. }
复制代码
还是编译连接下载……

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

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



  



夏斌  见习技师
 楼主|

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

上边的函数不是很好,也不能总是让程序停下来等按键啊,再写一个检测按键的程序
  1. void loop()
  2. {
  3.   SerialUSB.println("Run void loop()  ");
  4.   //测试板载按钮
  5.   waitForButtonPress(); //等待按键
  6.   SerialUSB.println(isButtonPressed());//检测是否按键
  7.   delay(400);
  8.   SerialUSB.println("Run void loop()  End");
  9. }
复制代码
编译链接下载……
isButtonPressed() 返回 0 表示没有按键
isButtonPressed() 返回 1 表示有按键

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



回复

使用道具 举报

夏斌  见习技师
 楼主|

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

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

其实它还有一种使用方式 中断编程,我觉得还是放在后面的中断编程部分好。也算稍稍高级的用法了。
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail