工具/软件:
您好、
İ 可以控制按钮状态。 按钮为 GIO 端口 A 引脚7。 但当我控制端口 A 7时、不会显示按钮值。 我可以在 GIO Porta 引脚6上看到。
它在文档和电路板上显示为7。
这是什么原因? 准备文档时忽略0吗?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
您好、
İ 可以控制按钮状态。 按钮为 GIO 端口 A 引脚7。 但当我控制端口 A 7时、不会显示按钮值。 我可以在 GIO Porta 引脚6上看到。
它在文档和电路板上显示为7。
这是什么原因? 准备文档时忽略0吗?
尊敬的 Dobby:
您可以尝试使用以下代码一次吗:
内部 main (void)
{
/*用户代码开头(3)*/
hetInit();
gioInit();
gioSetDirection (hetPORT1、
(1 << 0)|
(1 << 5)|
(1 << 17)|
(1 << 18)|
(1 << 25)|
(1 << 27)|
(1 << 29)|
(1 << 31));
while (1){
按钮=((gioPORTA->DIN &(1 << 7)>> 7);
if (button == 0){
gioSetPort (htPORT1、
(1 << 0)|
(1 << 5)|
(1 << 17)|
(1 << 18)|
(1 << 25)|
(1 << 27)|
(1 << 29)|
(1 << 31));
}
否则 if (button == 1){
gioSetPort (htPORT1、
(0 << 0)|
(0 << 5)|
(0 << 17)|
(0 << 18)|
(0 << 25)|
(0 << 27)|
(0 << 29)|
(0 << 31));
}
}
/*用户代码结束*/
}
/*用户代码开头(4)*/
/*用户代码结束*/
--
此致、
Jagadish。
您好、
我解决了以下问题。 但我不明白为什么我从引脚6和读取
为什么值0 2而不是1 0。
/*用户代码开头(3)*/
hetInit();
gioInit();
gioSetDirection (hetPORT1、
(1 << 0)|
(1 << 5)|
(1 << 17)|
(1 << 18)|
(1 << 25)|
(1 << 27)|
(1 << 29)|
(1 << 31));
while (1){
按钮= gioPORTA->DIN >> 6;
if (button == 0){
gioSetPort (htPORT1、
(1 << 0)|
(1 << 5)|
(1 << 17)|
(1 << 18)|
(1 << 25)|
(1 << 27)|
(1 << 29)|
(1 << 31));
}
否则 if (button == 2){
gioSetPort (htPORT1、
(0 << 0)|
(0 << 5)|
(0 << 17)|
(0 << 18)|
(0 << 25)|
(0 << 27)|
(0 << 29)|
(0 << 31));
}
}
/*用户代码结束*/
尊敬的 Dobby:
我解决了以下问题。 但我不明白为什么我从引脚6和读取
[/报价]为什么值0 2而不是1 0。
GIOA7意味着我们需要换7次而不是6次。 因为端口引脚编号将从 A0开始
因此、要使 GIOA7状态达到最低有效位、我们需要将 寄存器值移位7次、而不是6次。
--
此致、
Jagadish。