小叉 发表于 2014-10-17 09:25:38

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

本帖最后由 小叉 于 2014-10-17 09:27 编辑

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

sing1155665 发表于 2014-10-17 09:34:41

SETUP只在程序启动的时候执行一次,等你按下微动开关,它都执行过了

Super169 发表于 2014-10-17 13:50:52

本帖最后由 Super169 于 2014-10-17 13:53 编辑

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

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

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

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

你的情況在 compile 時還不知, #define 不行.
如果一開始按了就不改變, 放在 setup 中就可以了.
如果想中途按鍵改變, 就要放到 loop 之內了.
页: [1]
查看完整版本: Arduino的IF函数能否改变SETUP中的端口定义