环球聚焦:Cupkee,让硬件简单、好玩!

来源:面包芯语 2023-05-30 02:40:22

硬件编程

cupkee系统的编程非常简单。

首先,将装有cupkee系统的硬件通过USB连接到你的电脑。


(相关资料图)

然后, 开始编程

使用REPL

cupkee使用USB-CDC作为console,当前主流桌面操作系统都可免驱识别。

打开串口终端,键入Enter将看cupkee的logo信息和命令提示符。

输入js语句,cupkee会为你执行并返回结果

安装应用脚本

cupkee正常连接到电脑后,会出现卷标为cupdisk的外挂硬盘。

写好硬件应用脚本后,只需将其拖入此硬盘,即可完成安装。

mac用户

mac是非常方便的开发平台,其上自带的screen应用即可作为与cupkee的通信终端。(这是我在开发cupkee时的用法)

完整的连接过程如下:

非mac用户 或者不喜欢screen简陋功能

你可以使用其它常用的应用软件,如:putty,xshell,超级终端...

较老电脑操作系统不能直接识别usb cdc设备,使用前需安装驱动程序。(不幸的是,目前没有驱动程序)

cupkee使用简介

完成上述操作,就可以开始进行硬件编程了。

使用解释器

>100/20+27>
>vara=1,b=2;undefined>a1>a+b3>a="hello""hello">b="world""world">a+""+b"helloworld"
>functionfn(x,y){.returnx+y.}>fn(a,b)3

操作硬件

led(1)//设置led引脚为高电平led(0)//设置led引脚为低电平led()//反转led引脚电平
pinMap(0,0,1)//将GPIO引脚PA1,映射为PIN0pinMap(1,0,2)//将GPIO引脚PA2,映射为PIN1varpin=Device("pin",0)//申请pin设备实例0pin.config("num",2)pin.config("start",1)//设置pin设备管理的引脚:PIN0,PIN1pin.config("dir","in")//设置pin方向:输入(in),输出(out),双向(dual)pin.enable()//读取pin引脚值pin.get()//PIN0PIN1pin.get(0)//PIN1pin.get(1)//PIN2pin[0]//PIN1pin[1]//PIN2pin.listen("data",function(state){//注册引脚电平变化处理函数if(state[0])led()})
varpwm=Device("pwm",0)//申请pwm设备实例0...//设置pwm周期为1000mspwm.config("period",1000)//使能pwmpwm.enable()...pwm.write(0,10)//设置pwm通道0占空比为10:990pwm.write(0,1000)//设置pwm通道0占空比为1000:0...

更多信息, 请参考后续介绍及cupkee函数及设备手册

cupkee提供的原生函数

cupkee提供了一组原生函数供开发者使用

print函数被设计为一个即时帮助工具,它可以用来打印变量的内容,和当前cupkee支持的原生函数

cupkee内建有系统定时器,每秒1000次滴答(每毫秒一次),作为系统程序的通用同步工具。

systicks函数返回系统启动后的总滴答数。

>while(1){if(systicks()>10000){...break;}}

点亮指示灯是硬件调整最基本的手段,cupkee为此专门提供了ledMap和led两个原生函数进行支持。

ledMap 用于指定指示灯使用的GPIO引脚。

led 用于控制指示灯引脚电平:1. 不带参数调用时,反转引脚电平2. 传入真值(1, true, ...)时,引脚设为高电平3. 传入假值(0, false, ...)时,引脚设为低电平

采用相同处理器的不同的硬件板卡的引脚使用方案,往往并不同。cupkee需要一种处理机制,让一个处理器的固件程序支持多种板卡。

原生函数pinMap就是为此而来,它可以将任意GPIO引脚映射到cupkee内建的抽象PIN[0-15]。PIN0-15]可以分配给pin设备使用。

cupkee提供了一组定时器函数,它们相对于使用systicks管理程序同步更加有效

//定义函数f1,并在1000毫秒后执行vart=setTimeout(deff1(){...},1000)...//定义函数f2,每1000毫秒执行一次vari=setInterval(deff2(){...},1000)...//清除延时函数,参数为setTimeout的返回值clearTimeout(t)...//清除周期函数,参数为setInterval的返回值clearInterval(t)...//清除所有延时函数clearTimeout()...//清除所有周期函数clearInterval()

cupkee上的设备

原生函数Device用来创建和查看可用设备。

>Device()//打印设备列表Deviceidconfinst*pin032*adc032...undefined>>varpwm,key,adc>pwm=Device("pwm",1)//申请pwm设备实例1>key=Device("pin",1)//申请pin设备实例1>adc=Device("adc",0)//申请adc设备实例0

本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

猜你喜欢:

柔性数组在实际项目中的应用?

干货 | protobuf-c之嵌入式平台使用

C语言、嵌入式重点知识:回调函数

实用 | 10分钟教你搭建一个嵌入式web服务器

上一篇 : 动态焦点:冰箱压缩机工作原理视频 冰箱压缩机工作原理

下一篇 : 最后一页

x 广告
高层声音
返回顶部