gpt4 book ai didi

c - 如何模拟边沿触发触发器?

转载 作者:太空宇宙 更新时间:2023-11-04 06:30:13 24 4
gpt4 key购买 nike

我在微 Controller 上有一个 GPIO 引脚 (GP4),其中有一个连续的数字脉冲序列。我正在用 C 写给它,并且在这个芯片上没有中断。我一直在调用我的输入“#define inputA GP4”。在 C 中,我希望能够找到脉冲的上升沿并触发其上的定时器。我不确定 XOR 是否会通过在某个时候将 inputA 存储到另一个变量来完成我需要的。我遇到的另一个问题是我需要能够做到这一点,而不是陷入无限循环,在那里我仍然可以用我的代码顺序地做其他事情,例如,如果 inputA 变为 0 并永久保持在 0。这意味着我选择使用 while(inputA=0);这是不可能的。提前致谢!

最佳答案

您应该将旧值写入某个变量。

上升沿由旧值 0 和新值 1 定义。你应该检查一下:

char oldval, newval;
oldval = inputA;
while (1) {
newval = inputA;
// if (oldval == 0 && newval == 1) {
if (!oldval && newval) {
// positive edge
}
oldval = newval;
// do other stuff
}

关于c - 如何模拟边沿触发触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21563430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com