找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

查看: 1382|回复: 7

[QCC3系列] 3024SINK工程PIO逻辑控制

[复制链接]
连续签到天数:1天
签到总天数:3天
签到总奖励:17金币
发表于 2022-6-7 14:24:10 | 显示全部楼层 |阅读模式

马上注册,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册  

×
想问一下,在SINK工程实现一个GPIO的逻辑应该怎么改代码,一个输入口1对应两个输出口2和3,1检测到高电平,2输出高3输出低,1检测到低电平,2输出低3输出高,这个应该怎么实现
楼主热帖
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
连续签到天数:1天
签到总天数:256天
签到总奖励:6406金币
发表于 2022-6-7 17:01:55 | 显示全部楼层
先把1改为输入,2 3输出,直接轮询判断1的状态,然后驱动2 3即可。
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:3天
签到总奖励:17金币
 楼主| 发表于 2022-6-14 15:00:23 | 显示全部楼层
jjr 发表于 2022-6-7 17:01
先把1改为输入,2 3输出,直接轮询判断1的状态,然后驱动2 3即可。

轮询判断应该在哪里写,sink工程跑系统的,不是一个while(1)循环
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:1176天
签到总奖励:12125金币
发表于 2022-6-14 15:50:42 | 显示全部楼层
慢热症 发表于 2022-6-14 15:00
轮询判断应该在哪里写,sink工程跑系统的,不是一个while(1)循环

sink_event.h加一个event,比如说EventSysLoop,放到handleUEMessage

case EventSysLoop:
    Function();
    MessageSendLater(&theSink.task, EventSysLoop, 0, D_SEC(1));
    break;

这样就每1秒一个循环
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:3天
签到总奖励:17金币
 楼主| 发表于 2022-6-16 14:30:21 | 显示全部楼层
ganxiniuhe 发表于 2022-6-14 15:50
sink_event.h加一个event,比如说EventSysLoop,放到handleUEMessage

case EventSysLoop:

case  UserEventHeadsetInsert_pull_35:
        {
            if (PioGetPio(21)==1) //如果插入3.5mm耳机
                {
                MAIN_DEBUG_L1("headset insert!");
                PioOutHigh(1);//使能LM4809
                PioOutHigh(53);//关闭NS4871
                }
            else if (PioGetPio(21)==0) //如果未插入3.5mm耳机
               {
                MAIN_DEBUG_L1("headset pull!");
                PioOutLow(1);//关闭LM4809
                PioOutLow(53);//打开NS4871
               }
            //每一秒循环检测一次IO口
             MessageSendLater(&theSink.task, UserEventHeadsetInsert_pull_35, 0, D_SEC(1));
        }
        break;
你好,我这样添加的,为什么没有生效呢
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:1176天
签到总奖励:12125金币
发表于 2022-6-16 17:56:31 | 显示全部楼层
初始化的时候有没发送这个事件,可以在sinkAppInit里面发送
还有PIO有没做初始化
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:3天
签到总奖励:17金币
 楼主| 发表于 2022-6-20 20:12:54 | 显示全部楼层
ganxiniuhe 发表于 2022-6-16 17:56
初始化的时候有没发送这个事件,可以在sinkAppInit里面发送
还有PIO有没做初始化
...

实现了,给大佬磕头了
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:3天
签到总奖励:17金币
 楼主| 发表于 2022-7-18 17:59:01 | 显示全部楼层
ganxiniuhe 发表于 2022-6-16 17:56
初始化的时候有没发送这个事件,可以在sinkAppInit里面发送
还有PIO有没做初始化
...

大佬,这个循环检测生效之后好像导致原来的一些时间不发生了,比如EventSysAutoSwitchOff,屏蔽了这个循环检测之后自动关机才能生效,这是什么原因啊
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2024-4-25 17:47 , Processed in 0.196937 second(s), 22 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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