摘要:本篇文章将使用python开发一个LED闪烁的程序。程序源代码从官方帮助文档复制过来,开发的时候会遇到一些错误,本篇文章也一并提供解决方法。

实验目的:编写python程序,实现LED跑马灯。

硬件:haas100物联网开发版及配套电源、数据线。

软件:windows 7,串口助理(支持150000波特率),记事本(或其他可以编辑py文件的编辑器)

目录

1.获取源代码

2.制作python源文件

3.将源代码复制到tf卡中,并将卡插入haas100开发板

4.使用串口助理运行SD卡内的程序

5.问题排查及解决方法

6.实验效果

延伸阅读:Python的缩进


操作步骤:

1.获取源代码

查看官方帮助文档

https://g.alicdn.com/HaaSAI/haascvDoc/0.0.4/quickstart/index.html

在本页拉到最底端。可以看到代码示例。

2.制作python源文件

全选并复制这段代码

然后使用记事本新建一个文件,将代码粘贴,并保存。

关闭记事本,将文件名修改为led_test。

类型后缀由.txt修改为.py,根据弹出对话框的内容,选择“是”

3.将源代码复制到tf卡中,并将卡插入haas100开发板

haas的插槽是带弹力的,插入的时候用力按下自锁,卸下的时候用力按会弹出。

4.使用串口助理运行SD卡内的程序

这样运行会出错的,错误显示如下:

那么问题来了,完全按照官方手册进行的,那么不能执行?到底出错的原因在哪里?

5.问题排查及解决方法

经阿里小伙伴对比分析,发现问题出在了源代码上。

下图是能够正常运行的代码

下图是不能正常运行的代码,大家注意看红框部分。

出错原因分析:因为Python的语法和JavaScript不同,和c也不同,我们直接复制粘贴代码导致语法错误。Micropython解释器识别为错误。

Python中通过缩进来表示语句体,C语言通过{}来表示语句体;

并且在Python中每一条语句结尾后没有分号,判断语句if else,这两者没有区别,循环语句while也没有,只是for循环,Python通过for  in来表示。

解决方法:

删除不该有的缩进,该对齐的要对齐,修改为正确的语句格式。

为了便于大家使用,本文将正确的语句粘贴如下,供大家一键复制。注意,这里的leds和第一个for都是对齐的,第二个for才有tab缩进。

# coding=utf-8
# This is a sample Python script.
import utime
from haascv import driverGPIO = driver.gpio()
leds=(34,35,36,40,41)
for i in range(10):for led in leds:GPIO.open(led, 5, 0)GPIO.write(0)utime.sleep_ms(200)GPIO.write(1)utime.sleep_ms(200)GPIO.close()

6.实验效果

打开串口助理,设置波特率为150000,然后输入下面的命令即可

micropython /sdcard/led_test.py

如果串口数据显示区显示如下的内容,不再出现其他错误信息,就证明已经可以正常运行的了。

运行效果如下图所示,按照1-5的顺序,5个小灯依次点亮,实现跑马灯的效果。

延伸阅读:Python的缩进

和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python 采用代码缩进和冒号( : )来区分代码块之间的层次。

在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。

注意,Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)。

阿里云python轻应用学习笔记(二)---开发一个LED跑马灯程序相关推荐

  1. 阿里云python轻应用学习笔记(四)---haas100通过python轻应用驱动舵机

    摘要:舵机是常用的执行器,haas100具有pwm功能,那么python轻应用编程驱动舵机能不能实现呢?本文就一步步带您做一遍. 硬件:haas100,SG90舵机 软件:win7 x64,串口助理 ...

  2. (Python入门)学习笔记二,Python学习路线图

    (Python入门)学习笔记二,Python学习路线图 千里之行始于足下,谋定而后动,冰冻三尺非一日之寒.之所以说这三句话,就是对于下面整理的路线图,即不让自己感觉路途的遥远而感到达到巅峰神界的遥遥无 ...

  3. tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数

    tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报  分类: tensorflow(4)  目录(?)[+] 本笔记目的 ...

  4. HaaS Python轻应用学习笔记 : 什么是Python轻应用

    1.什么是HaaS Python轻应用 2020年阿里云智能IoT团队发布的HaaS100开发板,随着"轻应用"的发布,迅速在开发者中掀起学习热潮. "轻应用" ...

  5. 阿里云天池训练营task4学习笔记

    本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql 4.1表的加减法 4.1.1 ...

  6. 阿里云负载均衡SLB学习笔记5

    Web类负载均衡: Nginx 反向代理 调度器 Haproxy 调度器 阿里云有自己的负载均衡器SLB: 创建负载均衡器: 按量付费: 地域:不同地域之间的产品内网不互通.全球业务选AWS,国内业务 ...

  7. Vue学习笔记(一):跑马灯的实现

    首先根据vue的基础框架搭建出需要呈现的文件(将需要进行跑马灯操作的程序进行文字呈现) 程序分析: 1. 给 [触发] 按钮,绑定一个点击事件   v-on 2. 在按钮的事件处理函数中,写相关的业务 ...

  8. Python基础函数学习笔记(二)

    一:格式化打印输出: 一个输出时: area = 20.15 print "The area of the circle is %f sq cm."%area 两个输出时: rab ...

  9. 阿里云DevOps助理工程师认证学习笔记 1 - 敏捷项目管理基础

    敏捷项目管理基础 1.项目管理和迭代开发方式 项目的定义: 项目是一系列独特的.复杂的.相互关联的活动,这些活动有着一个明确目标或目的,并且必须在特定的时间和预算内规范完成. 项目管理: 运用各种相关 ...

最新文章

  1. 拆解交易系统--性能优化,安全加固与弹性扩缩容
  2. 学习python好学吗-零基础学python难吗?好学吗?
  3. 用Session和唯一索引字段实现通用Web分页功能
  4. promise使用promise进行判断网络状态
  5. Nacos的服务注册表结构是怎样的?
  6. Linux/unix 查看端口占用
  7. mplab x ide 中文使用手册_SCI必备利器:翻译又快又准,强推这款超牛X的神器!...
  8. 前端学习(2971):前一天回顾
  9. 89C52控制1602A液晶的计时器
  10. VC用ADO访问数据库全攻略  作者 相生昌
  11. 今日头条的 ByteSpider,怎么就成了小网站的“噩梦”?
  12. 我的设计模式之旅(1)——学习的原则和一些笔记
  13. adb avd install 失败_Android 模拟器(emulator-5554...)出现错误解决办法
  14. 计算机科学中的递归算法是把问题,递归运算法
  15. minkowski sum matlab,Matlab 聚类分析
  16. 西门子840d备份到u盘_840dsl 启动服务U盘制作和CF卡数据备份回装
  17. 明星也爱字体——赵丽颖秀气字体:(江湖少女两版)蓄势待发
  18. 此数据库处于单用户模式,删除是提示,当前某个用户已与其连接。 ALTER DATABASE 语句失败。 (Microsoft SQL Server,错误: 5064)
  19. 算力测试Linux,附录:计算力的标准Linpack测试详细指南(1)
  20. Windows 10怎样安装.msi文件?三分钟解决问题

热门文章

  1. RAD Studio
  2. html恋爱页面,HTML5表白网页, 我们的爱情
  3. window中使用bat启动springboot项目,并解决乱码问题
  4. TensorFlow GUP安装
  5. css 前景色与背景色
  6. 蒙提·派森的飞行马戏团 的风格 包括音乐和书籍
  7. 苹果电脑安装双系统教程 (MacOSX 10.9+Win7 双系统)
  8. 通过excel生成sql语句
  9. mapengpeng1999@163.com MYSQL基础、分页查询
  10. 【总结】SQL Server Severity (错误严重性级别)