使用BF533,600MHz时发现有一个 I/O口 register读取出来的值会不稳定,
利用FIO_FLAG_D这个register中的PF3判断trigger按下还是放开,
我们在主程序(MIANDEMO.c)的最后面会有一行指令如下(preD为bool值):
preD = *pFIO_FLAG_D & 0x0008;
此指令并未使用其他if判断,所以正常来说当trigger没有按下时,preD的值都应该为false(0),
但我将此变量打印出来观察,在按下trigger时,preD会变为true(1),此为正常的数值,
但放开trigger后,preD应当变更为false(0)才对,但有时却会在变为false(0)后,在未按下trigger的情况下自动变为true(1),
由于不知道pFIO_FLAG_D的内容何时会被改变,所以控制也不是很固定
如果我换回原来的400MHz的设定,则一切都恢复正常,
不知道是何种原因导致?