快速积累单片机经验
为什么仿真上没问题在板上跑会出现串口数据错乱的现象?十次大概报错6、7次。这是我的一个学员给我发的一个问题。
首先我们来了解一下什么是串口,串口也被称为COM口线,一共有九个孔位,和我们平常看到的电脑显示器VGA信号连接线外观类似,有公头和母头两种插口。
大多数口转USB都是自动收发信号的,实际上是用电阻上拉、下拉,配合芯片的收发控制脚来区分0,1,这个过程对于信号来说并不是完整的信号,实际上一般只有半个波形。
这里我们可以发现有两个可能导致数据报错的源头,一个是上拉、下拉电阻,另一个就是半个波形。要确认电阻是否完好我们可以使用万用表的欧姆档去处理;半个波形的解决办法是提供更高的电源。比如一块开发板它是接入3.3V耐受5V的话,给串口芯片接4V供电,而不是和芯片的3.3V一样。为什么不直接上5V的电,电源的具体数值要根据板子上的元器件来参考设置,并不是所有的元器件都能耐受5V,要小心判断。这里还有一个问题就是给这个模块的供电能力,也要比较稳定才行,否则电阻上下拉的过程会导致波形畸变。然后使用示波器去观察一下信号。最后查出来的问题是有一个元器件虚焊了。
这就是我之前为什么一直不推荐初学者去使用仿真器的原因,使用仿真器肯定就不会遇到这种问题,只有自己去动手,才能找到自己的不足。
仿真软件中的元器件都是比较流行、用户较多的典型元器件,实际设计电路中可能会用到很多新元器件或者比较冷门元器件,如果这些元件在仿真软件库中找不到,这就会限制了很多技术方案。我们就被仿真软件的元器件库限制住了,只能做很普通的东西。使用后会产生依赖性,这是非常不好的。
如果他没有自己去动手焊接,他还不知道自己的焊接工艺有待提高;他可能连万用表的欧姆档是哪个都不清楚,也不会知道除了额定的使用电压还有耐用电压这个概念,然后在电路中怎么使用,这些都是非常宝贵的经验,不遇到可能你都不会知道这个知识点。工程师最宝贵的就是经验的积累,积累越多以后设计产品出问题的概率就会越小。产品越稳定、公司业绩才能更好,公司效益好工资才能上涨。
想要学习单片机编程的同学可以持续
转载请注明:http://www.abuoumao.com/hyfw/5079.html