1第一次用引脚必须对该引脚配置比如p0.16这个按钮
NRF_GPIO->IN_CNF[16]=(0 << 0)//key0
| (0 << 1)
| (3 << 2)//1la
| (4 << 8)
| (3 <<16);
可以看到bit0,bit1,bit(2,3),bit(8,9,10),bit(16,17)
我来讲下 PIN_CNF[n] 这个n代表硬件的引脚0~31用法NRF_GPIO->IN_CNF[16]就是设置p0.16脚
PIN_CNF 是32位寄存器bit31~bit0这里只用部分几个位(妈比的总算看到个用寄存器比较奢侈的单片机了)
bit0 写0为输入,写1为输出(和DIR的寄存器关联也可以设置)
bit1 设置PIN[]的INPUT缓冲(写1断开缓冲,写0连上)
bit(3,2) 设置上下拉13k内置电阻,00无拉,01下拉电阻,10保留,11上拉电阻。
bit(10,9,8) 设置驱动强度000是最弱,我输出用011 我输入用100
bit(17,16) 这是中断用的触发沿(10是上升沿触发,11下降沿触发)
这里就配置好了1个引脚了。32个脚全用要写个函数配置下这32个脚。
1第一次用引脚必须对该引脚配置比如p0.16这个按钮
NRF_GPIO->IN_CNF[16]=(0 << 0)//key0
| (0 << 1)
| (3 << 2)//1la
| (4 << 8)
| (3 <<16);
可以看到bit0,bit1,bit(2,3),bit(8,9,10),bit(16,17)
我来讲下 PIN_CNF[n] 这个n代表硬件的引脚0~31用法NRF_GPIO->IN_CNF[16]就是设置p0.16脚
PIN_CNF 是32位寄存器bit31~bit0这里只用部分几个位(妈比的总算看到个用寄存器比较奢侈的单片机了)
bit0 写0为输入,写1为输出(和DIR的寄存器关联也可以设置)
bit1 设置PIN[]的INPUT缓冲(写1断开缓冲,写0连上)
bit(3,2) 设置上下拉13k内置电阻,00无拉,01下拉电阻,10保留,11上拉电阻。
bit(10,9,8) 设置驱动强度000是最弱,我输出用011 我输入用100
bit(17,16) 这是中断用的触发沿(10是上升沿触发,11下降沿触发)
这里就配置好了1个引脚了。32个脚全用要写个函数配置下这32个脚。
举报