话说,无知者无畏。
Nucleo上有一组号称Arduino UNO R3兼容的接口,而且上边也有个5V的电源接口,所以想当然的就以为所有IO口高电平都是5V呢。毕竟咱玩的Arduino UNO R3都是5V的呀。
所以,咱板卡模块拿回来就是一顿接,一顿上电,总之冒烟了也不会有绳命危险。
还好,真没冒烟。
不过没冒烟只能说是幸运,咱不能一直赌运气,严谨的灌水专员不能让人挑剔。
那高低电平到底是多少V啊。
本来这事挺简单的,拿万用表一测就就结了,但是万用表一直给儿子当玩具呢,已经罢工很久了。
然后就去找那个论坛里的大神炫Q求助,让他帮忙测一下,结果这家伙答应好好的,但是回头告诉我nucleo说明上都写着什么3.3 3.6啥的,那么就肯定是3.3啦
还是自己动手测试吧。
先写个简单的mbed程序,在D4口输出高低电平。
#include DigitalOut PIN_D4(D4); int main() { while(1) { PIN_D4 = 1; wait(1); PIN_D4 = 0; wait(1); } }
然后,用Arduino写了个程序,简单的电压测量。
void setup() { Serial.begin(9600); } float f_map(float x, float in_min, float in_max, float out_min, float out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } void loop() { int val = analogRead(A0); float v = f_map(val, 0, 1023, 0, 5); Serial.println(v); delay(500); }
共地,连接Arduino的A0以及NUCLEO的D4
然后,打开Arduino的串口监视器
可见监视器上交替输出:
3.23 3.23 0.00 0.00 由此可见,NUCLEO L053R8 数字脚输出高电平是3.23V。 断开Arduino的A0以及NUCLEO的D4,连接Arduino的A0以及NUCLEO的3.3,同样输出3.23V 不纠结了,要么是我UNO不准,要么是NUCLEO不准。 (测试Arduino的3.3V输出3.24,5V输出5.00)
那啥,又写了一堆空洞无物的内容,大神会不会鄙视我骗分?
这么多内容骗2分是不是有点纠结。
不过咱比较厚道,回头楼下帖子再补充点内容。