[原创] “pyboardCN V2畅玩” 之一 安装好驱动和串口助手点亮4个灯

damiaa   2018-6-20 10:54 楼主
“pyboardCN V2畅玩” 之一 安装好驱动和串口助手点亮4个灯 1,安装好PUTTY或者Tera Term VT 具体就不说了。到时候用它的串口,配置成115200 N 8 1 2,把板子插到USB口,pyboardCN V2没带线,自己找根。手机充电线就行。 插上有串口驱动是有问题的,需要更新驱动,更新的驱动再那个刚插板子后显示的盘里面。注意去掉驱动数字签名(具体网上查)。 3,打开PUTTY或者Tera Term VT 选择串口,配置改成115200 N 8 1 就看到了》》》的提示。可以用了!!! 注:使用uPyCraft IDE 更好,可以编辑,下载程序,也可以单命令运行。 4,使用 用help()可以看提示。 用直接敲命令就可以点亮灭LED了。哈哈。 pyb.LED(1).on() pyb.LED(1).off() pyb.LED(2).on() pyb.LED(2).off() pyb.LED(3).on() pyb.LED(3).off() pyb.LED(4).on() pyb.LED(5).off() QQ图片20180620105651.png 其实我们真要编程那可不能这样。还是要再那个显示的盘里的main.py里面编写。否则就太笨了。上面只是玩一下。具体的,用个编辑器打开main.py 加入 import pyb while True: pyb.LED(1).on() pyb.delay(500) pyb.LED(1).off() pyb.delay(500) pyb.LED(2).on() pyb.delay(500) pyb.LED(2).off() pyb.delay(500) pyb.LED(3).on() pyb.delay(500) pyb.LED(3).off() pyb.delay(500) pyb.LED(4).on() pyb.delay(500) pyb.LED(4).off() pyb.delay(500) 为了漂亮点:改了 import pyb def flashleds(): i = 1 for i in range(1,5): pyb.LED(i).on() pyb.delay(500) pyb.LED(i).off() pyb.delay(500) while True: flashleds() 或者 import pyb leds = [pyb.LED(i) for i in range(1,5)] def flashleds(): i = 1 for i in range(1,5): leds.on() pyb.delay(500) leds.off() pyb.delay(500) while True: flashleds() 代码 保存 然后把显示的这个盘给弹出来(据说这样不容易出问题,但也说出了问题也不怕,很多办法可以恢复)。 然后重新插上板子就会循环显示 本帖最后由 damiaa 于 2018-6-25 09:18 编辑

回复评论 (7)

不错就是有点复杂了,有个函数leds = [pyb.LED(i) for i in range(1,5)]做个循环就可以了..
点赞  2018-6-20 11:59
引用: 飞扬自我 发表于 2018-6-20 11:59
不错就是有点复杂了,有个函数leds = 做个循环就可以了..

这个方法很简洁,可以充分体现python语言的特点,是推荐用法。
点赞  2018-6-20 13:40
如果每次退出磁盘会比较麻烦,速度也慢。一个方法是在REPL下按Ctrl-D软复位,这时会自动同步内部文件系统,一般就不会丢失了。
点赞  2018-6-20 13:41
引用: dcexpert 发表于 2018-6-20 13:41 如果每次退出磁盘会比较麻烦,速度也慢。一个方法是在REPL下按Ctrl-D软复位,这时会自动同步内部文件系统, ...
谢谢,我好像把main.py都搞掉了。 回头恢复一下。现在没时间了。要忙别的。哦 没掉 boot.py里面没看到东西了。恢复出厂设置有效 不玩了 玩了一天了。 串口下面命令行下用Ctrl-D软复位 很好用!!! 本帖最后由 damiaa 于 2018-6-20 15:30 编辑
点赞  2018-6-20 14:45
这段代码我运行出来不是4个流水灯,而是2个。
import pyb
leds = [pyb.LED(i) for i in range(1,5)]
def flashleds():
  i = 1
  for i in range(1,5):
    leds.on()
    pyb.delay(500)
    leds.off()
    pyb.delay(500)
while True:
  flashleds()

leds应该是个list把,在for循环里没有看到i的作用。不知道如何理解
点赞  2018-6-23 15:35
引用: mobilefone 发表于 2018-6-23 15:35 这段代码我运行出来不是4个流水灯,而是2个。 import pyb leds = def flashleds(): i = 1 for i ...
这里写掉了一个i,正确的代码如下:
  1. import pyb
  2. leds = [pyb.LED(i) for i in range(1,5)]
  3. def flashleds():
  4. i = 1
  5. for i in range(5):
  6. leds[i].on()
  7. pyb.delay(500)
  8. leds[i].off()
  9. pyb.delay(500)
  10. flashleds()
本帖最后由 dcexpert 于 2018-6-23 16:13 编辑
点赞  2018-6-23 16:11
引用: mobilefone 发表于 2018-6-23 15:35 这段代码我运行出来不是4个流水灯,而是2个。 import pyb leds = def flashleds(): i = 1 for i ...
So far we have only used a single LED but the pyboard has 4 available. Let’s start by creating an object for each LED so we can control each of them. We do that by creating a list of LEDS with a list comprehension.具体请看 docs.micropython.org/en。。。 leds = [pyb.LED(i) for i in range(1,5)] 说是创建一个对象,然后你控制时候就用leds[n].on() leds[n].off() leds[n].toggle()这里n是 具体值或已经赋值的 变量。 本帖最后由 damiaa 于 2018-6-25 09:28 编辑
点赞  2018-6-25 09:26
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复