完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
触摸屏按键按下后,串口屏会下发一串指令A5 5A 06 83 00 85 01 21 31 通过串口发送到单片机,单片机读取串口缓冲器的内容,并将这串指令分开存入COMBUF[] 中,单片机根据COMBUF[4][5]中的2个字节地址来判断是哪个按键功能,现在具体的动作就是触摸屏按键按下,单片机控制继电器的通断,麻烦大神给个具体C语言程序,单片机是STC的8位单片机,谢谢 |
|
相关推荐
3个回答
|
|
|
|
|
|
本帖最后由 jf_55132788 于 2023-6-17 21:22 编辑
本帖最后由 jf_55132788 于 2023-6-17 16:06 编辑 通过指令A5 5A 06 83 00 85 01 21 31猜测:A5 5A是数据头,06是数据体长度,00 85是按键编号,01代表控制通断 以下代码在STC8H上验证通过 #include "STC8H.h" //包含此头文件后,不需要再包含"reg51.h"头文件 #include "stc32_stc8_usb.h" //USB调试及复位所需头文件 //USB调试及复位所需定义 char *USER_DEVICEDESC = NULL; char *USER_PRODUCTDESC = NULL; char *USER_STCISPCMD = "@STCISP#"; //设置自动复位到ISP区的用户接口命令 /****************************** 用户定义宏 ***********************************/ #define MAIN_Fosc 24000000UL //主频 #define BRT (65536 - (MAIN_Fosc / 115200+2) / 4) //波特率115200 bit u1busy; bit revfin = 0; uint8_t revlen = 0; uint8_t COMBUF[10] = {0}; //数组长度根据最长命令长度调整 void Uart1Init() { P_SW1 = 0x80; //串口1 rxP16 txP17 SCON = 0x50; T2L = BRT; T2H = BRT >> 8; AUXR = 0x15; u1busy = 0; } void Uart1Send(uint8_t dat) { while (u1busy); u1busy = 1; SBUF = dat; } void Uart1Isr() interrupt 4 { if (TI) { TI = 0; u1busy = 0; } if (RI) { RI = 0; COMBUF[revlen] = SBUF; if(revlen < 2) { if((revlen == 0 && COMBUF[0] == 0xA5) || (revlen == 1 && COMBUF[1] == 0x5A)) { revlen++; } else { revlen = 0; } } else { revlen++; if(revlen > 2 && revlen - 3 == COMBUF[2]) { revfin = 1; REN = 0; } } } } void proc_comdata(void) { uint8_t i=0; //COMBUF[4] COMBUF[5] //P2 LED 模拟继电器开合 P2 = COMBUF[6]; while(i |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNK210使用指南 -CanMV版 V1.0》第八章 CanMV IDE初体验
1794 浏览 0 评论
过采样提高12位ADC精度在STM32主控上的实现(附电路及代码)
1219 浏览 1 评论
飞凌嵌入式-ELFBOARD 解决PCB布线时无法捕捉到焊盘中心的问题
1171 浏览 0 评论
Openharmony软件评估指南-米尔瑞芯微RK3568开发板
2142 浏览 0 评论
STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC输出电压
1446 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11211 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-23 02:22 , Processed in 0.624022 second(s), Total 78, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号