新手上路求助大佬解惑!
arduino吧
全部回复
仅看楼主
level 2
自己最近买了一款attiny85微型USB的板子来入坑,想要实现根据3,4串口输入开关1,2串口,程序运行起来后,4串口是正常监测运行的,但是3串口不论怎么调试接高低电平都没有变化!初步猜测是不能同时监听两个串口导致的?求问大佬,是我程序逻辑问题,还是需要用什么别的办法同时监听两个串口
?
2020年11月18日 01点11分 1
level 8
都在一个端口寄存器里面,一次就能读出所有6个pin的引脚状态,还能有单比特访问不成?[滑稽]
程序问题怪片子还成
2020年11月18日 02点11分 2
哦哦,意思就是说要模拟软串口是吗?还是说怎么能解决一下,求大佬指教了!
2020年11月18日 03点11分
level 8
首先不是串口是端口,串口是指的串行收发口。没说明白目的也不好说到底哪里的问题
2020年11月18日 03点11分 4
目的是要实现,3口根据水位的高低电平控制2口的水泵供水,4口光敏根据高低电平,控制1口的灯光开关,然后就是4口被激活后5小时后关闭1口开关,十个小时后才可以开始再次被光敏触发
2020年11月18日 06点11分
level 8
先来说说程序问题,两个判定是独立的,等权重的,为什么3口判定要放在4口判定的条件语句内,这样结构本身就容易引发一些问题。loop本身是自循环的,return没什么用的必要,return下面的语句不会被执行。millis计时方面,长时间计时millis会溢出,也就是说,如果在快溢出时候触发逻辑,那这个逻辑永远不会结束。完全不需要一个这样的逻辑来执行这个功能,一个根据millis/1000!=previous millis/1000的方法就可以满足。最后,入门买arduino uno micro mega都不错,attiny85这种坑爹玩意少碰,连reset脚都没有,资源少的离谱的玩意
2020年11月18日 07点11分 5
谢谢大佬回复,辛苦了,[大拇指]!3口在4口里面触发,其实是因为4口一直都能触发成功唯独3口触发不成功所以就放到了3口里用来排除执行顺序得疑惑.return其实也是为了保险没想到偷鸡不成蚀把米,哈哈哈哈.
2020年11月18日 08点11分
不过大佬你说的这个"millis/1000!=previous millis/1000millis/1000!=previous millis/1000"没有看懂,是加到if判断语句里还是怎么个用法,能有个应用样例之类的嘛?本人太笨了
2020年11月18日 08点11分
唉~也是买回来85才发现这玩意真的坑,真就一点资料都没有,再买又觉得浪费这个板子,索性就玩这一次,以后还是玩别的板子绝不碰这玩意了!!!
2020年11月18日 08点11分
@sorrybabyheart 扔了得了,attiny后面的0/1系的资源都快拉到328的水准了,85这一系还是太老了。国产山货甚至正版也不贵,现在主流可能samd21比较多了。
2020年11月18日 08点11分
level 2
善始善终,最后问题解决了,原有逻辑可以执行,且入大佬所述是同级执行,我这个之所以前期无论怎么调高低电平都没有作用,是因为我得判断条件是低电平,然而我以为输入口默认不是高电平就是低电平,然而现实可能是因为我用了自带得内阻导致,输入口必须接地才算是低电平,不接电其实是算浮空状态
2020年11月19日 06点11分 6
level 11
UNO12块钱,mini9块钱,STM32C8T614块钱,想不通为什么买attiny[汗]
2020年11月19日 12点11分 7
1