查看: 50|回复: 0

红外串口扩展库

[复制链接]

28

主题

66

帖子

1180

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1180
发表于 2024-4-22 09:06:45 | 显示全部楼层 |阅读模式
                       红外串口扩展库


红外扩展库支持四个设备(三个普通红外加一个空调红外),普通红外需要学习对应的按键才可以使用,红外空调内置市面常用空调红外码,也可以学习对应空调遥控的按键。


一、红外串口图形块
1、32位主控

image.png

2、STC主控
image.png

主要区别在于STC串口没有使用缓存,因此STC的红外接收回调函数放在中断中,也因此不能使用带阻塞的任何函数。而32位主控可以将红外串口轮询接收函数放在主循环中或者定时器回调函数中。


(1)与红外通信的串口初始化,主控不同串口个数和串口号也可能不同。
image.png
注意:与红外串口设备通信的串口最好不要和下载调试串口相同,ASRPRO比较特殊,串口引脚可以在初始化复用引脚,因此,需要添加串口初始化图形块,如下:
image.png

(2)设备一发送命令(最多可设置18个按键)  第一次使用红外串口设备必须要匹配设备并匹配你做需要的按键。
image.png
注意:没有匹配过得按键会返回按键不存在,其他详细说明请查看使用手册。

(3)设备二发送命令(最多可设置9个按键)  
image.png

(4)设备三发送命令(最多可设置5个按键)
image.png

(5)空调设备发送执行命令
image.png
注意:空调设备命令必须要先发送打开空调命令后才能执行其他操作。发送关闭空调或者空调未打开的状态下,发送其他命令,设备会返回设备不存在或执行顺序错误(可以在红外串口接收处理函数处理相应操作,例如调试打印、蜂鸣器鸣叫等等)

(6)空调设备发送匹配命令

image.png
发送匹配空调后,可以选择内置空调红外码或者搜索空调(需要按下空调遥控开机键),匹配完成后自动退出匹配,匹配过程中未有匹配操作,在定时结束后自动退出匹配。匹配过程中,不能进行红外执行命令。


(7)红外接收轮询接收函数
image.png
仅32位主控有,该函数可以放在主循环中也可以放在定时器中断中,当主循环存在大量阻塞函数时可以尝试放定时器中(因此不可有阻塞)。我们推荐放主循环中,请灵活使用。

(8)红外接收处理函数(STC的库中,该函数不可有阻塞函数,该函数是可选使用的)
image.png
分别对应7种接收响应状态,例如,每一条发送命令都会接收“收到”,并执行这里面的函数。
注意:这类函数必须要放在主函数下面

二、测试范例
image.png

因为执行命令较多,所以使用串口发送命令并通过串口查看命令执行情况。






红外串口测试范例.zip

22.42 KB, 下载次数: 4

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|好好搭搭在线 ( © 好好搭搭在线 浙ICP备19030393号-1 )

GMT+8, 2024-5-5 12:42 , Processed in 0.324708 second(s), 25 queries .

Powered by Discuz!

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表