当前位置: 首页 > news >正文

美工做的好的网站资讯网站优化排名

美工做的好的网站,资讯网站优化排名,深圳企业网站建设维护,市场seo是什么意思与上位机通信 在天问中编程#xff0c;通过分支判断来接收 PyQt 的传递的信号#xff0c;进而控制单片机的点灯操作。 环境说明 该内容仅针对我自己学习的开发板做的笔记#xff0c;在实际开发中需要针对目标电路板的原理图进行针对性研究。 芯片#xff1a;STC8H8K64U烧录…与上位机通信 在天问中编程通过分支判断来接收 PyQt 的传递的信号进而控制单片机的点灯操作。 环境说明 该内容仅针对我自己学习的开发板做的笔记在实际开发中需要针对目标电路板的原理图进行针对性研究。 芯片STC8H8K64U烧录软件stc-isp-v6.92G编码工具天问 引脚说明 P0_0蜂鸣器按频率发音1高0低P0_1电动马达0停1动P5_3小蓝灯0灭1亮P2_71 号 LED 灯0亮1灭P2_62 号 LED 灯0亮1灭P1_53 号 LED 灯0亮1灭P1_44 号 LED 灯0亮1灭P2_35 号 LED 灯0亮1灭P2_26 号 LED 灯0亮1灭P2_17 号 LED 灯0亮1灭P2_08 号 LED 灯0亮1灭P5_11 号按键0按下1弹起P5_22 号按键0按下1弹起P5_33 号按键0按下1弹起P5_44 号按键0按下1弹起P3_4矩阵键盘第 1 行引脚P3_5矩阵键盘第 2 行引脚P4_0矩阵键盘第 3 行引脚P4_1矩阵键盘第 4 行引脚P0_3矩阵键盘第 1 列引脚P0_6矩阵键盘第 2 列引脚P0_7矩阵键盘第 3 列引脚P1_7矩阵键盘第 4 列引脚 天问代码 #include STC8HX.h uint32 sys_clk 24000000;//设置PWM、定时器、串口、EEPROM频率参数 #include lib/twen_board.h #include lib/UART.h #include lib/wmath.h #include stdio.h#define SIZE 8int8 incr 1; uint8 rec 0; uint8 index 0; uint8 isLoop 0; uint32 INTERVAL 800;void putchar(char c) {if (c \n) {uart_putchar(UART_1, 0x0d);uart_putchar(UART_1, 0x0a);} else {uart_putchar(UART_1, (uint8)c);} }void switchOffAll() {// 1:P2_7// 2:P2_6// 3:P1_5// 4:P1_4// 5:P2_3// 6:P2_2// 7:P2_1// 8:P2_0P2_7 1, P2_6 1, P1_5 1, P1_4 1;P2_3 1, P2_2 1, P2_1 1, P2_0 1; }void setup() {twen_board_init();//天问51初始化uart_init(UART_1, UART1_RX_P30, UART1_TX_P31, 115200, TIM_1);//初始化串口P1M10x00;P1M00xff;//推挽输出P2M10x00;P2M00xff;//推挽输出randomSeed(1);switchOffAll(); }// 需求6 // // 随机点亮1, 2, 3, 4, 5, 6, 7, 8任意一个LED灯 void randomSwitchOn6() {index random(0, 7 1); // 生成[0, 7] 内的整数printf_small(index %d, index);switch(index) {case 0: P2_7 0; break; case 1: P2_6 0; break;case 2: P1_5 0; break; case 3: P1_4 0; break;case 4: P2_3 0; break; case 5: P2_2 0; break;case 6: P2_1 0; break; case 7: P2_0 0; break; }delay(INTERVAL);switchOffAll();delay(INTERVAL); }// 需求7 // // 随机点亮1, 3, 5, 7任意一个LED灯 void randomSwitchOn7() {// 0 1 2 3// 1 3 5 7index random(0, 3 1);// 生成[0, 3] 内的整数printf_small(index %d, index);switch(index) {case 0: P2_7 0; break; case 1: P1_5 0; break;case 2: P2_3 0; break; case 3: P2_1 0; break; }delay(INTERVAL);switchOffAll();delay(INTERVAL); }// 需求8 // // 如果串口接收到0x1: 1, 2, 3, 4, 5, 6, 7, 8 走马灯亮 // 则调用 marquee(0, 1, 0); // 如果串口接收到0x2: 8, 7, 6, 5, 4, 3, 2, 1 走马灯亮 // 则调用 marquee(7, -1, 0); // 如果串口接收到0x31, 3, 5, 7 号灯依次流水点亮 // 则调用 marquee(0, 2, 1); // 如果串口接收到0x48, 6, 4, 2 号灯依次流水点亮 // 则调用 marquee(7, -2, 1); void marquee8(uint8 start, int incr, uint8 isFlowing) {switchOffAll();delay(INTERVAL);index start;while(index SIZE index -1) {if(isFlowing 0) {switchOffAll();}switch(index) {case 0: P2_7 0; break; case 1: P2_6 0; break;case 2: P1_5 0; break; case 3: P1_4 0; break;case 4: P2_3 0; break; case 5: P2_2 0; break;case 6: P2_1 0; break; case 7: P2_0 0; break; }index incr;delay(INTERVAL);}if(isFlowing 0) {switchOffAll();} }// 需求9 // // 如果串口接收到0x1: 1, 2, 3, 4, 5, 6, 7, 8 走马灯亮 // 则调用 marquee(0, 1, 0); // 如果串口接收到0x2: 8, 7, 6, 5, 4, 3, 2, 1 走马灯亮 // 则调用 marquee(7, -1, 0); // 如果串口接收到0x31, 3, 5, 7 号灯依次流水点亮 // 则调用 marquee(0, 2, 1); // 如果串口接收到0x48, 6, 4, 2 号灯依次流水点亮 // 则调用 marquee(7, -2, 1); void marquee9(uint8 start, int incr, uint8 isFlowing) {switchOffAll();delay(INTERVAL);index start;while(index SIZE index -1) {if(isFlowing 0) {switchOffAll();}switch(index) {case 0: P2_7 0; break; case 1: P2_6 0; break;case 2: P1_5 0; break; case 3: P1_4 0; break;case 4: P2_3 0; break; case 5: P2_2 0; break;case 6: P2_1 0; break; case 7: P2_0 0; break; }index incr;delay(INTERVAL);}switchOffAll(); }// 自定义相遇灯 void meetYou() {int i 0;while(i 30) {switchOffAll();switch(index) {case 0: P2_7 0; P2_0 0; break;case 1: P2_6 0; P2_1 0; break;case 2: P1_5 0; P2_2 0; break;case 3: P1_4 0; P2_3 0; break;}if(index 2) {incr -1;} else if(index 1) {incr 1;}index incr;delay(INTERVAL);if(isLoop) {// 如果需要死循环则手动置零默认跑 30 次i 0;}i;}switchOffAll(); }void loop() {if(UART1_GET_RX_FLAG) {UART1_CLEAR_RX_FLAG;rec SBUF;// uart_putchar(UART_1, rec);//串口单个字符输出// uart_putstr(UART_1, rec);//字符串输出// printf_small(rec %d, rec);if(rec 0x00) {// 0x00 专用于用于测试通路uart_putstr(UART_1, OK);} // 自定义相遇灯else if(rec 0x01) {uart_putstr(UART_1, meet you);meetYou();}// 需求9的分支else if(rec 0x5B) {uart_putstr(UART_1, 需求9的0x1);marquee9(0, 1, 1);} else if (rec 0x5C) {uart_putstr(UART_1, 需求9的0x2);marquee9(1, 1, 1);} else if (rec 0x5D) {uart_putstr(UART_1, 需求9的0x3);marquee9(2, 1, 1);} else if (rec 0x5E) {uart_putstr(UART_1, 需求9的0x4);marquee9(3, 1, 1);} else if (rec 0x5F) {uart_putstr(UART_1, 需求9的0x5);marquee9(4, 1, 1);} else if (rec 0x60) {uart_putstr(UART_1, 需求9的0x6);marquee9(5, 1, 1);} else if (rec 0x61) {uart_putstr(UART_1, 需求9的0x7);marquee9(6, 1, 1);} else if (rec 0x62) {uart_putstr(UART_1, 需求9的0x8);marquee9(7, 1, 1);}// 需求8的分支else if (rec 0x51) {uart_putstr(UART_1, 需求8的0x1);marquee8(0, 1, 0);} else if (rec 0x52) {uart_putstr(UART_1, 需求8的0x2);marquee8(7, -1, 0);} else if (rec 0x53) {uart_putstr(UART_1, 需求8的0x3);marquee8(0, 2, 1);} else if (rec 0x54) {uart_putstr(UART_1, 需求8的0x4);marquee8(7, -2, 1);// 需求7的分支} else if (rec 0x46) {uart_putstr(UART_1, 需求7);randomSwitchOn7();// 需求6的分支} else if (rec 0x3C) {uart_putstr(UART_1, 需求6);randomSwitchOn6();} else {uart_putstr(UART_1, unknown command!);}} }void main(void) {setup();while(1){loop();} }上位机代码 from PyQt5.QtWidgets import QApplication, QWidget, QPushButton import sys import serial from serial.tools import list_portsBUTTONS [(需求9的0x1, lambda : send(91)), (需求9的0x2, lambda : send(92)),(需求9的0x3, lambda : send(93)), (需求9的0x4, lambda : send(94)),(需求9的0x5, lambda : send(95)), (需求9的0x6, lambda : send(96)),(需求9的0x7, lambda : send(97)), (需求9的0x8, lambda : send(98)),(需求8的0x1, lambda : send(81)), (需求8的0x2, lambda : send(82)),(需求8的0x3, lambda : send(83)), (需求8的0x4, lambda : send(84)),(需求7, lambda : send(70)), (需求6, lambda : send(60)),(我的相遇灯, lambda : send(1)) ] 发送 int 数据到串口 num 的取值如下所示 0x5B:需求9的0x1 0x5C:需求9的0x2 0x5D:需求9的0x3 0x5E:需求9的0x4 0x5F:需求9的0x5 0x60:需求9的0x6 0x61:需求9的0x7 0x62:需求9的0x8 0x51:需求8的0x1 0x52:需求8的0x2 0x53:需求8的0x3 0x54:需求8的0x4 0x46:需求7 0x3C:需求6 0x01:我的相遇灯def send(num:int 0):ports [(p.device, p.description) for p in list_ports.comports()]port [x[0] for x in ports if USB-SERIAL in x[1]]port port[0] if len(port) else Noneif not port:print(找不到 USB 串口)exit()ser serial.Serial(portport, baudrate115200, timeout1200)if not ser or not ser.is_open:print(Serial port is not open.)ser.write(num.to_bytes(length8, byteorderlittle, signedFalse))ser.flush()info ser.read(2)ser.close()if(info):print(info)# 1.创建应用程序 app QApplication(sys.argv)# 2.创建窗口 w QWidget() y 0 # 修改窗口标题 w.setWindowTitle(串口信号发送客户端) for bs in BUTTONS:btn QPushButton()btn.move(0, y)btn.setText(bs[0])btn.clicked.connect(bs[1])btn.setParent(w)y 30# 3.显示窗口 w.show() sys.exit(app.exec())
http://www.zqtcl.cn/news/694097/

相关文章:

  • 网站建设的数字化和互联网化网站作品
  • 南京专业网站制作公司有哪些亚马逊网网站建设规划报告
  • app免费制作网站模板网站打开速度进行检测
  • 进下加强新闻宣传网站建设wordpress做论坛网站
  • 朝阳网站搭建公司淘宝导购网站备案
  • 京润珍珠企业网站优化洛阳做网站
  • 嘉定网站开发中山市区做网站公司
  • 可信赖的武进网站建设上海中小企业服务中心
  • 应用网站品牌官方网站
  • 网站建设综合训练的实验目的漳州网站建设网站运营
  • 网页设计免费网站推荐我的世界做壁纸的网站
  • 黄岩做网站的公司网站栏目相关内容在哪采集啊
  • 邯郸市城市建设局网站快速建站平台
  • 华为官方手表网站wordpress文章图片链接
  • 做个网站需要多久腾讯云云服务器官网
  • 松江企业做网站一个阿里云怎么做两个网站
  • 网站制作+app+公众号app制作定制外包88
  • 企业网站建设有哪些好处制作网页之前必须先建立什么
  • 盐亭县建设局网站网站建设基本技术
  • 优化seo网站高质量的邯郸网站建设
  • 网站开发 合同范本软件设计专业介绍
  • 南山网站建设设计莱州网站建设关键字排名优化网络托管微信代运营
  • 传统门户网站有哪些网络营销公司全网推广公司
  • 桥头镇网站建设卢松松外链工具
  • 手机网站导航设计大连市自然资源局
  • 装修网站vr全景图怎么做软件工程师证书报考条件
  • 部门网站建设管理经验交流材料定制开发app
  • 做网站 就google权重查询
  • 网站制作 福宁网络有限公司绚丽的网站
  • wordpress ip 访问重庆seo顾问服务