这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » [TPYBoard-Micropython之会python就能做硬件 1] 运行

共2条 1/1 1 跳转至

[TPYBoard-Micropython之会python就能做硬件 1] 运行第一个脚本——点亮LED

菜鸟
2017-02-14 15:59:30     打赏

转载请注明原贴来源,

会python就能做硬件! 一、TPYBoard V102开发板

TPYBoard V102开发板MCU使用的是stm32F405RG,存在一个sd卡插槽、4个leds,1个复位按钮,1个通用按钮以及2个I2C,2个SPI和5个USART接口。具体参数见下表:

STM32F405RG MCU。
168 MHz Cortex-M4 CPU with 32-bit hardware floating point。
1 MiB flash storage, 192 KiB RAM。
USB口, 支持 串口,通用存储,HID协议。
SD卡插槽。
MMA76603轴加速度计。
4 LEDs, 1复位按钮, 1通用按钮。
3.3V0.3A板载 LDO , 可从USB口或者外置电池供电。
实时时钟。
30个通用IO口,其中28个支持5V输入输出。
2个 SPI接口, 2个 CAN接口, 2个I2C接口, 5个USART接口。
14个 12-bit ADC引脚。
2个DAC 引脚。

具体引脚如下:


具体实物图如下:



二、开发板的连接方法

程序调试的连接方法:通过 USB 线连接开发板的microusb口与你的 PC 机(windows,mac,linux皆可)的usb口。当连接成功后开发板将上电和进入开机程序,绿色的 LED 灯应该在半秒或更少的时间内亮起,当其熄灭时意味着开机程序已完成。此时,电脑会出现一个u盘设备,容量97K左右。该u盘里存在4个文件:

boot.py 启动文件,确定启动方式,类似引导文件

main.py  主程序,boot.py默认引导启动的程序,也就是你的python代码主要是写在这里。

pybcdc.inf 驱动程序,win7以上基本不需要驱动,个别精简系统需要安装驱动。如果确实需要安装,请参考http://www.micropython.net.cn/support/tutorial/222.html

Readme.txt

使用的连接方法:使用时其实就是给该开发板供电,供电也是用microusb,直接将5V电源通过该口引入,如你可以使用充电宝、pc等具有供电能力的设备,利用usb连接供电。

三、第一个简单程序——点亮板载led3

直接修改main.py文件,代码如下:


# main.py -- put your code here!
import pyb
pyb.LED(3).on()



修改完,点击保存时,板载的第一个灯会亮起,此时一定要等灯熄灭以后,才能按rst键或者是拨出usb。灯亮的过程表示正在存储,因为此时是存在mcu的flash中,所以速度略慢一点。如果后面我们讲了如何使用tf卡后,就会发现不存在这个过程。

重新给板子上电,此时会发现led3亮了。

四、让板载led3闪烁

将main.py改为以下代码:


led = pyb.LED(2)
while True:
   led.toggle()
   pyb.delay(1000)



再次给板子通电,会发现,led3每秒闪一次。

关键代码分析:

pyb.LED这个类有三个函数:

on( )表示开;

off( ) 表示关;

toggle( )表示闪烁

pyb.delay( ) 仅是一个简单的毫秒级别的延时。pyb.delay(1000)表示1000毫秒。

五、点亮外壳led灯     1、硬件连接方法

取三个led灯(红绿黄)分别接在板子对应gpio为Y1、Y2、Y3的口上。如下图:



2、代码
# main.py -- put your code here!
import pyb
led1 = pyb.Pin("Y1",pyb.Pin.OUT_PP)
led2 = pyb.Pin("Y2",pyb.Pin.OUT_PP)
led3 = pyb.Pin("Y3",pyb.Pin.OUT_PP)
While True:
     led1.value(1)
     led2.value(1)
     led3.value(1)



3、实现效果

三个led亮起。

讲到这里,后面大家就可以自己试着去做流水灯了。




Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426
高工
2017-03-06 15:10:32     打赏
2楼
请问是怎么编译的啊?

评论
Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 426
共2条 1/1 1 跳转至

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/views/scripts/forum/thread.phtml on line 496

回复

匿名不能发帖!请先 [ 登陆 注册 ]

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/controllersforum/ForumController.php on line 1450

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/controllersforum/ForumController.php on line 1450

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/controllersforum/ForumController.php on line 1456

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/controllersforum/ForumController.php on line 1457

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/controllersforum/ForumController.php on line 1458

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/controllersforum/ForumController.php on line 1461

Notice: Trying to get property of non-object in /xp/www/www.eepw.com.cn/eepw/rootapp/controllersforum/ForumController.php on line 1462