13
22
337
版主
纯Python语言没法在资源有限的单片机上运行,于是我们采用了上位机和硬件通讯方式来实现用Python控制硬件设备,需要占用硬件设备一个串口,同时硬件设备里需要烧入通讯固件。 Python语言有很多现成的库可用,我们可以借助Python语言结合硬件设备做很多实际应用。比如用PyQt5可以做图形界面上位机,用Plotly绘图库做数据采集和分析等虚拟实验工具。
打开天问Block官方网站,点击链接下载并安装。 为了方便软件使用,建议勾选关联软文件扩展名。 软件安装完成后将跳出驱动安装。 默认点击下一步直到安装成功。
打开天问Block软件,首先会提示选择主板,这里我们根据天问51主板选择STC8/16。 Python通讯固件V1.0.hd 打开固件。 查看对应的串口。 查看设备管理器。 确认端口对应,这里都为COM8。 点击右上角运行,完成下载固件。 跳出下载窗口。 下载完成后,窗口自动关闭。
Python通讯固件V1.0.hd
*使用Python 3.6以上版本 为了方便用户使用,已提供Windows版Python 3.8.7安装包(32位/64位),如需其他版本,请自行下载,下载方法可查看文后阅读材料(第2页)。 Windows版本安装时在选项中勾选添加Python到环境变量,点击下一步直到安装完成。 *如选择自定义安装,勾选下图中选项。 安装成功。 Pyserial依赖包安装 使用系统快捷键WIN + R运行CMD命令行。 pip install pyserial复制代码 提示安装成功。
pip install pyserial复制代码
下载地址: 天问51-Python.zip (2.58 MB, 下载次数: 66) 2021-1-25 14:47 上传 点击文件名下载附件 使用Python IDLE打开Python通讯框架目录,需要使用的文件如下。 key.py keypad.py light.py matrix.py mixed.py motor.py nixietube.py ntc.py oled.py qma7981.py TWen.py analogRead.py buzzer.py digitalRead.py digitalWrite.py 其中TWen.py为主要库文件,每次运行程序时都需要在头部调用。 from TWen import *复制代码运行LED闪烁案例 以下为LED的调用范例程序。 digitalWrite.py from TWen import * if __name__ == '__main__': board = TWen() board.start('COM8') board.digitalWrite(P41, 0); while True: sleep(0.2); board.digitalWrite(P41,1); sleep(0.2); board.digitalWrite(P41,0);复制代码更改对应的串口,串口与下载Python通讯固件时选择的一致。 board.start('COM8')复制代码1. 使用Python IDLE 通过Python IDLE打开digitalWrite.py。 点击运行程序。 程序运行成功,LED闪烁。2. 使用命令行运行 使用系统快捷键WIN + R运行CMD命令行。 使用cd命令跳转到项目文件夹,然后使用python *.py运行文件。 程序运行成功,LED闪烁。五、API接口说明Start TWen()start( serialport ) GPIO digitalWrite( pin, level )digitalRead( pin, def onResult ) ADC analogRead( pin, def onResult ) PWM pwmWrite( pin, pwm ) Actuator motor( speed )buzzer( freq, duty ) Sensors Light Sensor light ( def onResult ) Temperature Sensor ntc( def onResult ) Keypad keypad( def onResult ) Key1~4 key1( def onResult )key2( def onResult )key3( def onResult )key4( def onResult ) QMA7981 ama7981( axis ) Display Matrix matrixDisplay( buffer )matrixDisplayNum( value ) Nixietube nixietube_num( value )nixietube_float( value )nixietube_time( h, m, p )nixietube_time2( h, m, p ) OLED oled( x, y, message ) 六、Python IDE推荐 前面我们都是用最原始的文本工具运行Python程序,使用起来会有很多不方便的地方,比如关键词高亮、提醒、调试等,所以一般建议使用专门的IDE来编写Python程序,能起到事半功倍的效果。这里推荐使用PyCharm社区免费版,软件的具体使用网上很多教程,不再做详细赘述。 下载地址:https://www.jetbrains.com/pycharm/download/ 阅读材料:Python安装包下载 官方下载地址:https://www.python.org/downloads/ 点击下载,下载链接会根据当前系统自动选择对应的版本。 Win7系统不支持Python 3.9版本,请自行选择需要的版本下载。 打开页面后,找到下载,点击下载安装包,Windows系统安装包按照下图所示下载。 Windows版备用下载地址: https://pc.qq.com/https://baoku.360.cn/ 在搜索框输入"Python",根据系统版本选择32位/64位,选择普通下载 官方网站FTP下载更多版本:https://www.python.org/ftp/python/
key.py keypad.py light.py matrix.py mixed.py motor.py nixietube.py ntc.py oled.py qma7981.py TWen.py analogRead.py buzzer.py digitalRead.py digitalWrite.py
from TWen import *复制代码
digitalWrite.py from TWen import * if __name__ == '__main__': board = TWen() board.start('COM8') board.digitalWrite(P41, 0); while True: sleep(0.2); board.digitalWrite(P41,1); sleep(0.2); board.digitalWrite(P41,0);复制代码
board.start('COM8')复制代码
通过Python IDLE打开digitalWrite.py。 点击运行程序。 程序运行成功,LED闪烁。
使用系统快捷键WIN + R运行CMD命令行。 使用cd命令跳转到项目文件夹,然后使用python *.py运行文件。 程序运行成功,LED闪烁。
前面我们都是用最原始的文本工具运行Python程序,使用起来会有很多不方便的地方,比如关键词高亮、提醒、调试等,所以一般建议使用专门的IDE来编写Python程序,能起到事半功倍的效果。这里推荐使用PyCharm社区免费版,软件的具体使用网上很多教程,不再做详细赘述。 下载地址:https://www.jetbrains.com/pycharm/download/
使用道具 举报
1
103
注册会员
9
95
0
6
4
41
本版积分规则 发表回复 回帖后跳转到最后一页
|Archiver|手机版|小黑屋|好好搭搭在线 ( © 好好搭搭在线 浙ICP备19030393号-1 )
GMT+8, 2024-9-1 11:13 , Processed in 0.109407 second(s), 25 queries .
Powered by Discuz!
© 2001-2024 Comsenz Inc.