1U >> N 轮班1 的 对 强> N位,意味着它将1除以2 ñ 。对于任何大于零的N,这将产生零。
1U >> N
你可能想要 1U << N 转移 的 剩下 强> N位,乘以2 ñ 。
1U << N
表达 (1U >> N) 会屈服 0 任何 N > 0 ,因为你使用右移而不是左移。我想你算一下 1..5 ,所以表达应该是......
(1U >> N)
0
N > 0
1..5
SYSCTL_RCGCGPIO_R |= (1U << (N-1));