Arduin学习笔记voidsetup函数初始化voidloop函数循环pinMode13OUTPUTINPUT引脚13定义为输出入模式digitalWrite13HIGHLOW13引脚输出高低电平delay延迟函数analogRead读取模拟量函数analogWrite写入模拟量函数map函数Serialbegin波特率值串口通信函数Serialprint是输出你要的内容横排显示httpswwwbaiducomswdE887AAE58AA8E68DA2E8A18Camptn67012150cprampfenleimv6quAkxTZn0IZRqIHcvrjTdrH00T1Y4PjPBuHF9P16snvmYm1c40ZwV5fKWUMw85HmLnjDznHRsgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4BmybIi4WUvYETgNTLwGUv3En1fsnjnLn1RkSerialprintln是输出要显示的内容后自动换行参考手册开发语言提供全部的语言特性和语言的部分特性通过链接到的库可以使用库中提供的函数具体的应用细节请参考相关文档程序结构在中标准的程序入口函数在内部被定义用户只需要关心以下两个函数函数用于初始化函数用于执行初始化函数一般放在程序开头用于设置一些引脚的输出输入模式初始化串口通讯等类似工作函数中的代码将被循环执行例如读入引脚状态设置引脚输出状态等控制语句相关语法分号大括号单行注释多行注释算术运算符赋值加减乘除取模比较运算符等于不等于小于大于小于等于大于等于布尔运算符逻辑与逻辑或逻辑非指针运算符指针运算符地址运算符位运算位与位或位异或位非左移右移端口操作复合运算符自加自减复合加复合减复合乘复合除复合与复合或变量常量整数常量浮点数常量数据类型无类型布尔型字符型无符号字符型字节型整型无符号整型长整型符号长整型单精度双精度字符串数组数据类型转换变量作用域修饰符变量作用域静态变量易变变量不可改变变量辅助工具运算符码表基本函数数字模拟高级时间数学库三角函数随机数位操作设置中断函数开关中断串口通讯扩展库如果要使用一些已有的库可以选择菜然后选择相应的库工具会自己在代码的开头包含库的头文件在引入库之后程序的体积也将会因为包含了库的代码对于不是必要的库直接删除对应的语句就可以了官方扩展库以下是官方提供的扩展库被默认包含在开发工具中读写存储区以太网支持基于串口的通讯协议液晶显示伺服电机11点亮LEDintled13定义LED引脚位13引脚VoidsetuppinModeledOUTPUT引脚13定义为输出模式INTOUP输入VoidloopdigitalWriteledHIGH写出的信号13引脚高电平Delay1000延迟1000毫秒1秒digitalWriteledLOWled引脚变为低电平delay1000延时1秒12不使用延时函数的led闪烁程序这里闪烁led没有使用延时函数使用了定时器的内容阿德罗已经封装成了库我们使用更简单定义引脚constintledPin13led连接的引脚标准的uno开发板上已经集成变量intledStateLOWled状态亮或者灭可以修改longpreviousMillis0存储最后一次的led状态这里使用了长整型变量因为使用了ms瞬间的数值变化非常大longinterval1000间隔闪烁的时间长度voidsetup初始化引脚输出模式pinModeledPinOUTPUTvoidloop这里可以添加其他的程序unsignedlongcurrentMillismillisifcurrentMillispreviousMillisinterval保存当前值方便下次再次和当前时间比较previousMilliscurrentMillis如果led熄灭就把它点亮反之亦然ifledStateLOWledStateHIGHelseledStateLOW把对应的LED状态反应到led引脚上之前都是用变量再处理处理完成后把最终结果输出到终端digitalWriteledPinledState13简易流水灯引脚定义constintledCount8led个数intledPins01234567对应的led引脚voidsetup循环设置把对应的led都设置成输出forintthisLed0thisLedpinModeledPinsthisLedOUTPUTvoidloop熄灭所有led不同的电路连接也会得到点亮所有ledforintnum0numdigitalWriteledPinsnumHIGH循环顺序点亮led然后等待200ms后熄灭forintnum0numdigitalWriteledPinsnumLOWdelay200digitalWriteledPinsnumHIGH这样就形成了简易的led流水效果21利用A0输入的模拟量控制led点亮状态可以直观看到电压大小引脚定义ConstintanalogPinA0模拟输入ConstintledCount8led个数IntledPins01234567对应引脚VoidsetupForintthisLed0thisLed对应的led设置成输出pinMpdeledPinsrhisLedOUTPUTVoidloopintsensorReadinganalogReadanalogPin读取电位器的值IntledLevelmapsensorReading010230ledCount吧对应的值转换成08循环对比输出到ledforintthisLed0thisLedifthisLeddigitalWriteledPinsthisLedHIGHelsedigitalWriteledPinsthisLedLOW30读取端口端电平信号并输出到串口段读取Pin2的电平信号并把结果打印到串口也同时反映到LED灯定义引脚intpushButton2intled13初始化voidsetup初始化串口Serialbegin9600把按键引脚设置为输入德飞莱增强版有高电平和低电平触发的2个按键都可以使用直接接KEYH或者KEYLpinModepushButtonINPUT独立模块LY51S开发板上独立按键K1K8都可以使用把led引脚设置为输出pinModeledOUTPUT独立模块LY51S开发板上LED1LED8都可以使用主循环voidloop读取输入引脚的值intbuttonStatedigitalReadpushButton读取的数值反映到led上digitalWriteledbuttonState打印结果到串口SerialprintlnbuttonState这里可以使用arduino自带的串口调试器也可以使用德飞莱串口调试软件下载地址httpdoflyenetviewthreadphptid4929delay10延时大小决定循环读取的时间间隔