1. Pyboard 核心板出厂测试程序

将对应的板子插入电脑后,会生成U盘将其中的main.py内容替换成下面代码,保存,按复位或者在REPL串口中按CTRL+D软启动。 代码检测加速度传感器 开关 RTC LED等, 来回倾斜板子会看的LED2和LED4,会点亮或者熄灭,LED3循环渐亮后熄灭再渐亮,说明RTC在工作。 按用户按键后退出循环,可以再次使用REPL调试,建议调试时使用REPL功能因为可以提示哪一行出错,出什么错了。

1.1. 测试代码

代码如下

# -*- coding: utf-8 -*-

from pyb import Timer
from pyb import Switch
from pyb import Accel
from pyb import RTC
from pyb import LED


accel = pyb.Accel() #创建加速度传感器对象
SENSITIVITY = 10    #创建加速度传感器的阈值设定对象
sw = Switch()       #创建板载开关对象
rtc = pyb.RTC()     #创建RTC对象
rtc.datetime((2014, 5, 1, 4, 13, 0, 0, 0))  #RTC初始化赋值

# LED 循环点亮熄灭子函数
def LED_loop_test():
    for i in range(1, 5):
        pyb.LED(i).on()
        pyb.delay(100)
        pyb.LED(i).off()
        pyb.delay(100)

LED_loop_test() #执行一次LED循环点亮函数
LED_loop_test()

#进入循环用于测试加速度传感器是否正常,RTC是否正常
while True:
  #x轴倾斜LED2亮起,y轴倾斜LED4亮起
  x = accel.x()
  if abs(x) > SENSITIVITY:
      LED(2).on()
  else:
      LED(2).off()
  y = accel.y()

  if abs(y) > SENSITIVITY:
      LED(4).on()
  else:
      LED(4).off()
  #截取当前RTC实时时间中的秒数据,将str中的逗号去掉,数据转换为int数据,为了效果秒数除以10取余乘以25将数据抛给LED3亮度控制来显示
  abc =(((str(rtc.datetime()))[23:25]).replace(',',''))
  abc = int(abc)%10*25
  LED(3).intensity(abc)

  pyb.delay(100) #延时

  if sw.value()==1:#当按键按下时跳出循环这时候可以使用串口的REPL功能调试了,因为在循环中无法使用串口功能顺便检查了按键是否管用
    break

LED_loop_test()#再运行一遍闪灯程序表明结束测试