PRO3399核心板:GPIO一直写高,致使CPU占用飙升
请教,GPIO4_C6作为输出GPIO一直写高,cpu占用从百分之十几飙升到60%,关掉写高程序,cpu占用立即降低至10%以下,是什么原因?请问你是怎么把这个GPIO写高的 本帖最后由 rpdzkj_hjy 于 2019-4-18 18:25 编辑
我试过拉高拉低,没有出现cpu飙升到60%
我使while循环方式,对GPIO4_C6持续置高:
while(1)
{
gpio_write(fd, echo_write_high_buffer);
} 我使while循环方式,对GPIO4_C6间隔4ms置高一次:
while(1)
{
gpio_write(fd, echo_write_high_buffer);
Sleep(4);
}
即要求每4ms置高一次,cpu占用会飙升 xiangyi 发表于 2019-4-19 10:56
我使while循环方式,对GPIO4_C6间隔4ms置高一次:
while(1)
{
你一直写会一直调用驱动函数,CPU会占用很多 我们现在必须4ms调用一次,怎么能把CPU占用降下来? :L大循环写高,我虽然不是搞软件开发,但是这种方式我也知道肯定是最不合适的。即使是在单片机里面也没人这样干。你每4ms拉高一次,拉高持续时间就是一个瞬间脉冲(无时间要求?)?置低时间也是4ms,那你CPU就没干什么,一个劲在拉高拉低了,都跳不出循环。 xiangyi 发表于 2019-4-19 15:45
我们现在必须4ms调用一次,怎么能把CPU占用降下来?
你们需要实现什么功能,用while循环一直写高这种方法没办法使cpu降下来 嗯,你说得对。我们在实际使用时采用的方式如下:每隔4ms进一次中断,将GPIO置高一次。采用上述方式产生的结果是CPU占用急剧升高。这种现象对你们的板子来说是正常否?
页:
[1]
2