极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10894|回复: 2

Arduino的IF函数能否改变SETUP中的端口定义

[复制链接]
发表于 2014-10-17 09:25:38 | 显示全部楼层 |阅读模式
本帖最后由 小叉 于 2014-10-17 09:27 编辑

小弟在研究Arduino的时候发现个问题,想通过IF语句改变图中的端口定义,
比如按一下微动开关,识别到了高电平,然后把 i1Pin,i2Pin,i3Pin,i4Pin的定义全改变成 INPUT。可以吗?因为我发现IF语句一般写在LOOP段的,请问这样能改变的到SETUP中的端口定义吗?或者还有其他方法吗?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-10-17 09:34:41 | 显示全部楼层
SETUP只在程序启动的时候执行一次,等你按下微动开关,它都执行过了
回复 支持 反对

使用道具 举报

发表于 2014-10-17 13:50:52 | 显示全部楼层
本帖最后由 Super169 于 2014-10-17 13:53 编辑

為什麼不可以? 當然, 也要看看你想在什麼時間決定 if 的 condition.

如果 在 compile 程式時已經可以決定, 用 #define + #ifdef 的方式比較好.

如果 在程式啟動時決定, 執行後就不再改變, 放在 setup 中用 if 比較好.

如果 在執行中, 因應不同情況改變, 就放在 loop 之中.

你的情況在 compile 時還不知, #define 不行.
如果一開始按了就不改變, 放在 setup 中就可以了.
如果想中途按鍵改變, 就要放到 loop 之內了.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-15 12:15 , Processed in 0.036287 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表