您尚未登录。

楼主 #1 2020-03-04 17:13:25

Vivian
会员
注册时间: 2019-11-27
已发帖子: 10
积分: 10

F1C100S LINUX连续控制GPIO,时长不等

硬件上连接两个GPIO,如PA0 PA1,一个作为输入,另一个作为输出。
PA1:循环输出高电平、低电平。
PA0:循环读取当前电平值。
问题是,读和写所花费的时间每次都不一样,短到百微秒,长到上百毫秒。
请问这是什么原因?怎么破?
谢谢!

离线

#2 2020-03-04 20:07:16

cqy1028
会员
注册时间: 2020-03-04
已发帖子: 2
积分: 2

Re: F1C100S LINUX连续控制GPIO,时长不等

进程调度会导致函数调用间隔时间不等

离线

#3 2020-03-05 09:22:41

jiangchun9981
会员
注册时间: 2019-07-31
已发帖子: 170
积分: 130.5

Re: F1C100S LINUX连续控制GPIO,时长不等

LINUX不是实时控制系统,不是这么给你要求高用的

可以尝试打RT补丁的LINUX,我没尝试过...

离线

楼主 #4 2020-03-05 14:43:52

Vivian
会员
注册时间: 2019-11-27
已发帖子: 10
积分: 10

Re: F1C100S LINUX连续控制GPIO,时长不等

cqy1028 说:

进程调度会导致函数调用间隔时间不等

请问有没有办法可以修改或者提高这个调度策略??

离线

#5 2020-03-05 15:10:03

真的是很烦
会员
注册时间: 2018-10-08
已发帖子: 155
积分: 147.5

Re: F1C100S LINUX连续控制GPIO,时长不等

还是达不到实时的,
1. 提高HZ -> 1000
2. 提高进程优先级
3. 改变kernel的调度模式
4. 或者用内核模块实现

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn