ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

1.4. 板载LED控制

2021-11-09 08:31:06  阅读:183  来源: 互联网

标签:1.4 板载 led 命令行 Pin 单片机 Led IO LED


视频连接

点亮led是嵌入式工程师的“hello world”。

Micropython操作lO口使用machine模块下的Pin模块

笔者手中的led接到esp32的pin2口。

1.4.1. 确认板载led的IO口

拿到一款新的单片机板后,如果没有技术资料,如有板载led,那如何确认板载LED的IO呢?

思路:扫描1~n(如n=10)号IO口,打印当前IO口,并点亮,演示1s,如果打印和led亮灯同步(肉眼观察),则可判断led的IO口。

注:不知道什么原因,i=2/6时会引起单片机复位(WDT复位)。

wps9

本文中用到的单片机板,打印2时led点亮,故可判断led的控制IO为2。此时按下“ctrl+c”退出当前程序,进入命令行等待命令状态“就绪状态1”。

1.4.2. 命令行测试

Micropython应用程序的开发可分为两步:1.在命令行中测试;2.将测试成功的代码存入到文件中(包括boot.py、main.py及其他模块文件)。

例程描述:要求Led按1Hz的频率闪烁,亮、灭时间各占一半;

需求分析:与“每秒打印一次‘hell world’”主体类似,区别是打印“hello world”部分改为操作led;

代码实现:

wps10

命令行操作实验如下,可以观察到蓝色Led按1Hz频率闪烁。

这里,首次涉及到Pin(IO口)模式设置,Pin模式如何选择?什么时候用Pin.OUT?什么时候用Pin.IN?

原则:单片机掌握主动权时用Pin.OUT,单片机不掌握主动权时用Pin.IN。如控制Led时命令是由单片机发出,单片机掌握主动权,所以用Pin.OUT。而在驱动开关时,开关状态的切换是有外界发出的,不由单片机控制,单片机只能读取IO口的电平值,所有用Pin.IN。

备注:在命令行模式下,可以通过help(?)简单查询模块的信息,如下所示:

wps11

1.4.3. 保存为文件

将上节命令行的代码复制,粘贴到文件中。确认无误后,ctl+s保存,选择保存到“micropython设备”,文件名“main.py”。重启单片机,可以看到Led按1Hz的频率闪烁。

标签:1.4,板载,led,命令行,Pin,单片机,Led,IO,LED
来源: https://www.cnblogs.com/horal/p/15526758.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有