microPYthon点亮LED灯
<div class='showpostmsg'> 本帖最后由 kangkls 于 2018-6-24 19:46 编辑此内容由EEWORLD论坛网友kangkls原创,如需转载或用于商业用途需征得作者同意并注明出处
收到python开发板,
之前打算移植python,后来发现还得按照一堆软件,就先看看再说
win10系统,
找了一个USB线,插入计算机后,发现u盘出现了。
然后在设备管理器里找未知设备,哪里也找不到,查看COM口设备,发现多了个串口,所以我是没有按照驱动就可以用了。
打开串口,波特率9600,马上收到如下字符
MicroPython v1.9.4-114-g309fe39d on 2018-06-04; PYBv1.0 with STM32F405RG
Type "help()" for more information.
>>>
想起资料说一般是115200,又复位pyboardCN V2,再次打开串口,又弹出了
MicroPython v1.9.4-114-g309fe39d on 2018-06-04; PYBv1.0 with STM32F405RG
Type "help()" for more information.
>>>
说明人家这个串口是自动识别波特率嘛!
一直喜欢串口助手,不知道这个到底怎么个不能用,先来尝试一下再说
help
<function>
>>>
估计是少了括号,加了括号试试看,返回如下
>>> help()
Welcome to MicroPython!
For online help please visit http://micropython.org/help/.
Quick overview of commands for the board:
pyb.info() -- print some general information
pyb.delay(n)-- wait for n milliseconds
pyb.millis()-- get number of milliseconds since hard reset
pyb.Switch()-- create a switch object
Switch methods: (), callback(f)
pyb.LED(n) -- create an LED object for LED n (n=1,2,3,4)
LED methods: on(), off(), toggle(), intensity(<n>)
pyb.Pin(pin)-- get a pin, eg pyb.Pin('X1')
pyb.Pin(pin, m, ) -- get a pin and configure it for IO mode m, pull mode p
Pin methods: init(..), value(), high(), low()
pyb.ExtInt(pin, m, p, callback) -- create an external interrupt object
pyb.ADC(pin)-- make an analog object from a pin
ADC methods: read(), read_timed(buf, freq)
pyb.DAC(port) -- make a DAC object
DAC methods: triangle(freq), write(n), write_timed(buf, freq)
pyb.RTC() -- make an RTC object; methods: datetime()
pyb.rng() -- get a 30-bit hardware random number
pyb.Servo(n)-- create Servo object for servo n (n=1,2,3,4)
Servo methods: calibration(..), angle(]), speed(])
pyb.Accel() -- create an Accelerometer object
Accelerometer methods: x(), y(), z(), tilt(), filtered_xyz()
Pins are numbered X1-X12, X17-X22, Y1-Y12, or by their MCU name
Pin IO modes are: pyb.Pin.IN, pyb.Pin.OUT_PP, pyb.Pin.OUT_OD
Pin pull modes are: pyb.Pin.PULL_NONE, pyb.Pin.PULL_UP, pyb.Pin.PULL_DOWN
Additional serial bus objects: pyb.I2C(n), pyb.SPI(n), pyb.UART(n)
Control commands:
CTRL-A -- on a blank line, enter raw REPL mode
CTRL-B -- on a blank line, enter normal REPL mode
CTRL-C -- interrupt a running program
CTRL-D -- on a blank line, do a soft reset of the board
CTRL-E -- on a blank line, enter paste mode
For further help on a specific object, type help(obj)
For a list of available modules, type help('modules')
>>>
根据帮助,先点个灯玩吧
pyb.LED(1).on()
红灯亮了
pyb.LED(2).on()
绿灯亮了
pyb.LED(3).on()
绿灯太亮了,看不清其他灯的颜色了,决定关闭LED2
pyb.LED(2).off()
终于可以看清第三个灯是橙黄色
pyb.LED(4).on()
蓝灯亮了。
至此,通过串口助手实现了四个灯亮灭控制。
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>
虽然实现了LED灯的亮灭控制,但是,我们总不能一直在串口敲命令吧,还是考虑下编程吧。
找到插入pyboardCN V2后显示的U盘里的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)
保存试试,
结果,看指示灯的状态,好像又回到了出厂默认状态。
想打开main.py文件看看,结果发现打不开了,
最终没法,恢复出厂设置吧
恢复出厂设置
因为某些原因造成pyboard故障,可以恢复到出厂设置,就像Windows系统重新用ghost恢复一样。
连接USB线
按住USER键,然后按下复位键
松开复位键,保持USER键
这时LED将循环显示:绿-》黄-》绿+黄-》灭
等黄绿灯同时亮时松开USER键,这时黄绿灯会同时快速闪4次
然后红灯亮起(这时红绿黄灯同时亮)
红灯灭,pyboard开始进行恢复到出厂状态
所有灯都灭,恢复出厂设置完成。
可是,到现在还是一直无法恢复出厂设置。一直无法打开main.py文件。 改变自己是自救,影响别人是救人。 其他办法都用尽了,格式化吧,还没想好,正好这个时候陈韶华说,格式化,我就大胆的格式化了一把,还真成功了,可以编辑main.py了,可是,新问题又来了,我编写的程序就是不执行, 有人说是编辑器的问题,我又更换了编辑器,下载了NOTEPAD++,还是不行,自己继续探索,也等待有人救,哈哈 本帖最后由 kangkls 于 2018-6-25 09:31 编辑
现在的问题1,格式化成FAT格式的TF卡仍然不识别,TF容量2G
2,编辑的程序不执行。
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)
不知道哪里的问题,先睡觉了呵呵 波特率不是自动识别,而是虚拟串口可以不管这个参数。如果是用一般串口,波特率就很重要了。
页:
[1]