等级考试四级学习小组 加入小组

288个成员 29个话题 创建时间:2019-02-21

用int定义芝麻豆主控端口和管脚的对应关系

发表于2019-02-22 1137次查看

 

针对芝麻豆主控的编程,用图形化的zBlockly的确是降低了难度和门槛,虽然zBlockly图形化编程平台中也有C语言代码与图形化模块进行对应,但是如果直接用arduino IDE针对芝麻豆主控进行编程,一开始有点儿找不到头绪,怎么办呢?首先要明确芝麻豆主控上每一个端口对应的那个管脚。在板子上虽然没有标注,我在上一个帖子里已经列出来芝麻豆主控上每个端口对应arduino的引脚。可以访问这里查看。芝麻豆主控端口和管脚对应分布,了解了可以更好的使用arduino IDE进行编程

有了端口和管脚的对应关系,我们就可以使用arduino IDE中的声明变量的方法来把每个端口中的管脚都声明出来,用的时候可以直接调用就可以了。

int D1=6;//端口D1主IO引脚
int D1f=5;//端口D1辅助IO引脚
int D2=10;//端口D2主IO引脚
int D2f=9;//端口D2辅助IO引脚
int D3=11;//端口D3主IO引脚
int D3f=3;//端口D3辅助IO引脚
int D4=13;//端口D4主IO引脚
int D4f=12;//端口D4辅助IO引脚
int D5=2;//端口D5主IO引脚
int D5f=8;//端口D5辅助IO引脚
int D6=1;//端口D6主IO引脚
int D6f=0;//端口D6辅助IO引脚
int D7=4;//端口D7主IO引脚
int D7f=7;//端口D7辅助IO引脚
int D8=A5;//端口D8主IO引脚
int D8f=A4;//端口D8辅助IO引脚
int ZMDA1=A0;//端口A1IO引脚
int ZMDA2=A1;//端口A2IO引脚
int ZMDA3=A2;//端口A3IO引脚
int ZMDA4=A3;//端口A4IO引脚
//以上声明的变量为芝麻豆主控端口和管脚对应关系

这样就可以在setup()和loop()函数中直接用端口号来进行编程了,比如下面的是程序示例

void setup() {
pinMode(D1,OUTPUT);//设置D1端口管脚模式为输出
pinMode(D4,INPUT);//设置D4端口管脚模式为输入
}

void loop() {
digitalWrite(D1,HIGH);//D1端口输出高电平
analogWrite(D2,255);//D2端口PWM输出255
digitalRead(D4);//D4端口接数字传感器
}

当然这样一口气定义这么多整形变量好像有点儿过分了,为了不浪费系统资源,我们用到哪几个端口就保留哪几个端口,其余的用//注释掉就可以了。

其实还会有其他的方法去明确端口和管脚的对应关系,请大家讨论,说说您的方案。

2回复
  • 2楼 王尚鹏 2019-02-27

    这样没啥问题,感觉对于记忆力不好的选手,直接将所有的串口都放到setup()函数中都行,或者拿一个说明书wink,你这样玩你的软件是不是都可以给arduino的主板编程了?只要接对串口。

    • 李猛 2019-02-27
      是的,这个不用考察记忆力,把上面的代码保存成一个示例文件放到arduino的示例文件里面,每次使用的时候直接打开示例文件,在上面直接修改就可以了。
  • 3楼 可可 2019-03-01

    学习了,谢谢分享,定义这么多整型变量,的确太占用系统资源了,应该找找其他的办法,期待有老师分享。

发表回复
你还没有登录,请先 登录或 注册!