xiangyi 发表于 2019-4-17 13:21:22

PRO3399核心板:GPIO一直写高,致使CPU占用飙升

请教,GPIO4_C6作为输出GPIO一直写高,cpu占用从百分之十几飙升到60%,关掉写高程序,cpu占用立即降低至10%以下,是什么原因?

rpdzkj_hjy 发表于 2019-4-18 17:45:36

请问你是怎么把这个GPIO写高的

rpdzkj_hjy 发表于 2019-4-18 18:23:39

本帖最后由 rpdzkj_hjy 于 2019-4-18 18:25 编辑


我试过拉高拉低,没有出现cpu飙升到60%

xiangyi 发表于 2019-4-18 19:24:46

我使while循环方式,对GPIO4_C6持续置高:
while(1)
{
   gpio_write(fd, echo_write_high_buffer);
}

xiangyi 发表于 2019-4-19 10:56:28

我使while循环方式,对GPIO4_C6间隔4ms置高一次:
while(1)
{
   gpio_write(fd, echo_write_high_buffer);
Sleep(4);
}
即要求每4ms置高一次,cpu占用会飙升

rpdzkj_hjy 发表于 2019-4-19 11:11:19

xiangyi 发表于 2019-4-19 10:56
我使while循环方式,对GPIO4_C6间隔4ms置高一次:
while(1)
{


你一直写会一直调用驱动函数,CPU会占用很多

xiangyi 发表于 2019-4-19 15:45:29

我们现在必须4ms调用一次,怎么能把CPU占用降下来?

yonghui1989218 发表于 2019-4-19 16:50:17

:L大循环写高,我虽然不是搞软件开发,但是这种方式我也知道肯定是最不合适的。即使是在单片机里面也没人这样干。你每4ms拉高一次,拉高持续时间就是一个瞬间脉冲(无时间要求?)?置低时间也是4ms,那你CPU就没干什么,一个劲在拉高拉低了,都跳不出循环。

rpdzkj_hjy 发表于 2019-4-19 17:23:00

xiangyi 发表于 2019-4-19 15:45
我们现在必须4ms调用一次,怎么能把CPU占用降下来?

你们需要实现什么功能,用while循环一直写高这种方法没办法使cpu降下来

xiangyi 发表于 2019-4-20 11:27:18

嗯,你说得对。我们在实际使用时采用的方式如下:每隔4ms进一次中断,将GPIO置高一次。采用上述方式产生的结果是CPU占用急剧升高。这种现象对你们的板子来说是正常否?
页: [1] 2
查看完整版本: PRO3399核心板:GPIO一直写高,致使CPU占用飙升