打印
[PIC®/AVR®/dsPIC®产品]

PIC16F1779的LIN和mTouch程序冲突

[复制链接]
806|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
asong356|  楼主 | 2022-11-15 11:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近用PIC16F1779芯片做了一个电路板。
编写程序时,发现同时运行LIN和mTouch时,LIN没有响应应答信息。
主程序最简化后问题依然存在:
while (1)
    {
        // Add your application code
        LIN_handler();
        if(MTOUCH_Service_Mainloop()){}
    }
如果将if(MTOUCH_Service_Mainloop()){}屏蔽,LIN通讯正常。
大家有什么解决思路或方法?
谢谢!

使用特权

评论回复
沙发
asong356|  楼主 | 2022-11-15 15:26 | 只看该作者
MTOUCH_Service_Mainloop()这个程序的执行效率比较低,占用时间太长。
请问Microchip的技术人员:LIN_handler()嵌入mTouch程序内的哪里可以提高它的执行效率?

使用特权

评论回复
板凳
gaoyang9992006| | 2022-11-17 10:15 | 只看该作者
优先级选择一下,或者跑RTOS就可以解决了。

使用特权

评论回复
地板
asong356|  楼主 | 2022-11-17 17:14 | 只看该作者
LIN程序用的TMR0,优先级是最高的了

使用特权

评论回复
5
asdsfgwsafd| | 2022-11-18 13:04 | 只看该作者
MTOUCH_Service_Mainloop直接run别等。触摸键值查完标志位再读。

使用特权

评论回复
6
asong356|  楼主 | 2022-11-19 09:20 | 只看该作者
本帖最后由 asong356 于 2022-11-19 11:22 编辑

附件程序里只跑LIN和mtouch读,当使用6个以下的触摸按键,LIN的应答信号正常。
但是我现在需要处理16个触摸按键,完全跑不动,并且还没有加入处理程序。

TCsimple.X.rar

1.47 MB

使用特权

评论回复
7
guijial511| | 2022-11-22 07:54 | 只看该作者
那就把引脚分开使用

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

11

帖子

2

粉丝