PYNQ 例程一:1.1 按钮和led演示

这个演示演示了如何在板上使用按钮(BTN0-3)、led (LD0-3)和RGB led (LD4-5)。

你可以做以下操作来控制led或RGB led:

按钮0按下:RGB led改变颜色。

按钮1:led从右向左移动(LD0 -> LD3)。

按钮2:led从左向右移动(LD3 -> LD0)。

按钮3:关闭所有led并结束演示。

/*下载板上资源*/
from time import sleep
from pynq.overlays.base import BaseOverlay

base = BaseOverlay("base.bit")

Delay1 = 0.3
Delay2 =0.1    
color =0       //设定led灯颜色初值
rgbled_position =[4,5]   //设定寄存器      LD4,LD5

for led in base.leds :
     led.on()                       //点亮LD0 LD1 LD2 LD3
     
 while (base.button[3].read()==0) :      //当按下按钮3时停止演示
 
         if  (base.button[0].read()==1)  
              color = (color+1)%8
              for led in rgbled_position :
                    base.rgbleds[led].write(color)
                    base.rgbleds[led].write(color)   //当按下按钮0时LD4 LD5改变颜色
                    sleep(Delay1)    
                   
          elif  (base.button[1].read()==1)    
                for led in base.leds :
                      led.off()
                 sleep(Delay2)
                 for led in base.leds :
                      led.toggle()
                  sleep(Delay2)       //当按下按钮1时LD0 -> LD3亮
 
           elif  (base.button[2].read()==1)    
                  for led in reversed(base.leds) :
                       led.off()
                   sleep(Delay2)
                  for led in  reversed(base.leds) :
                       led.toggle()          //当按下按钮2时LD3 -> LD0亮
                 sleep(Delay2)


print ('End of this demo...')   
 for led in base.leds : 
       led.off()             //LD0-LD3全灭
 for led in rgbled_position :
        base.rgbleds[led].off()  //LD4 LD5全灭

pynq.lib.led模块
pynq.lib.rgbled模块是用于控制板载单色发光二极管(LED)的驱动器。
class pynq.lib.led.LED(设备)
base: object

该类控制板载LED。
_impl
object - 具有适当LED方法的对象
off()关掉led
on()打开LED
toggle()切换开启/关闭。

pynq.lib.rgbled模块
pynq.lib.rgbled模块是用于控制板载红绿蓝(RGB)发光二极管(LED)的驱动器。

class pynq.lib.rgbled.RGBLED(index )
base: object
此类控制板载RGB LED。

index
int - RGB LED的索引,从4(LD4)到5(LD5)。

_mmio
MMIO - RGBLED GPIO控制器的共享存储器映射。

_rgbleds_val
int - RGBLED GPIO引脚的全局值。

off()
关闭单个RGBLED。
返回:
返回类型: 没有

on(颜色)
打开带有颜色值的单个RGB LED(请参阅颜色常数)。
参数: color(int) - 由3位RGB整数值指定的RGB颜色。
返回:
返回类型: 没有

read()
检索RGBLED状态。
返回: 存储在RGBLED中的颜色值。
返回类型: INT

write(颜色)
根据输入值设置RGBLED状态。
参数: color(int) - 由3位RGB整数值指定的RGB颜色。
返回:
返回类型: 没有

pynq.lib.switch模块
pynq.lib.switch模块是用于读取和等待板载交换机上的值更改的驱动程序。

class pynq.lib.switch.Switch
base: object
该类控制板载交换机。

_impl
object - 具有适当Switch方法的对象

read()
读取开关的当前值。

wait_for_value(值)
等待开关关闭或打开。
参数: value(int) - 1表示切换,0表示切换

pynq.lib.button模块
pynq.lib.rgbled模块是一个驱动程序,用于从板载按钮读取值并等待按钮触发的事件。

class pynq.lib.button.Button
base: object

该类控制板载按钮。

_impl
object - 具有适当Button方法的对象

read()
读取按钮的当前值。

wait_for_value(值)
等待按下或释放按钮。
参数: value(int) - 1等待按或0等待释放
https://pynq.readthedocs.io/en/latest/pynq_package/pynq.lib/pynq.lib.

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值