arduino未在此范围内声明怎么修改

arduino未在此范围内声明怎么修改,第1张

换一个高版本的Arduino开发环境。一般这种情况多见于别的程序占用了串口,把板子拔掉,重新插入,或者重启Arduino,重启电脑,也可以换高版本的Arduino开发环境。Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti等。

(1)全局变量:若在程序开头的声明区或是在没有大括号限制的声明区,所声明的变量作用域为整个程序。即整个程序都可以使用这个变量代表的值或范围,不局限于某个括号范围内。

(2)局部变量:若在大括号内的声明区所声明的变量,其作用域将局限于大括号内。若在主程序与各函数中都声明了相同名称的变量,当离开主程序或函数时,该局部变量将自动消失。

使用pinMode(pin, mode)来设置GPIO口工作模式,mode可选比较多INPUT、OUTPUT、INPUT_PULLUP、INPUT_PULLDOWN模式(输入、输出、上拉输入、下拉输入,另外还有开漏等模式),具体是否能设置对应模式还得参考技术规格书(一般的GPIO0 ~ 33可以设置为输出,基本上都可以设置为输入,GPIO6 ~ 11一般不推荐使用,因为这几个口接了存储程序用的Flash,不当使用可能引起程序崩溃);

使用digitalWrite(pin, value)来设置输出状态,value可选值为HIGH或LOW,即1和0;

使用digitalRead(pin)来读取GPIO口电平,返回值为HIGH或LOW,即1和0;

题外话:请注意ESP32的IO12,这个IO口上上电时的电平会决定外部flash(存放程序的那颗)的工作电压,上电时该脚为高则认为flash工作于1.8V,为低则认为flash工作于3.3V。常用的像是Wroom-32系列模块该脚内部已下拉,即flash是工作于3.3V的,若外部电路接强上拉则可能导致模块工作异常。

外部中断

外部中断使用方式如下:

使用attachInterrupt(uint8_t pin, void (*)(void), int mode)或attachInterruptArg(uint8_t pin, void (*)(void*), void * arg, int mode)来设置外部中断,输入参数有gpio号、中断触发时的回调函数、回调函数输入参数、外部中断触发模式(RISING、FALLING、CHANGE……上升沿、下降沿、改变时、低电平、高电平等);

使用detachInterrupt(uint8_t pin)来关闭外部中断;

使用示例

使用下面代码进行测试:

// IO14 输出

// IO12 下拉输入模式 电平改变触发中断

// 使用导线连接 IO14 和 IO12

void callBack(void)

{

int lv = digitalRead(12)//读取加载到IO12上的电平

Serial.printf("触发了中断,当前电平是: %d\n", lv)

}

void setup()

{

Serial.begin(115200)

Serial.pr


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12051408.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存