背景
心情烦躁,不写点文章感觉无法冷静。于是就稍稍总结了一下我自己在做串口通讯时踩过的坑。大部分都很基础,也许适合刚刚接触的新人。
实例
Windows驱动问题
目前市面上能买到的USB转TTL串口模块,其芯片多采用PL2302或CP2102。Windows官方提供的串口驱动不适用于这两种芯片,所以需要手动安装。
就给下驱动的链接,点击下载:
Arduino上传代码的问题
Arduino是可以直接使用标准串口上传代码的,不一定要使用USB接口。只要将USB转TTL串口模块连接至Arduino的标准串口即可。
但是!大部分Arduino都要冷启动以上传代码!也就是说,在上传之前,你要按住Arduino上的重置按钮,当Arduino IDE提示正在上传的时候,松开重置按钮,即可完成上传。
当然,不成功就多试几次。
USB转TTL模块的功率问题
有些模块的功率并不是很足,所以,像蓝牙模块、Wi-Fi模块,不一定能带得动。
软串口问题
Arduino单片机支持软串口,即虚拟两个数字引脚用于串口传输。
但是!软串口很鸡肋!实测9600的波特率就会出现大量传输错误,至于需要使用115200波特率的ESP8266模块,软串口根本无法胜任!曾在此纠结很久。
Arduino Mega倒是提供了4个硬件串口。
蓝牙串口模块供电问题
HC-05或HC-06模块的工作电压是3.3V,但是,这并不意味着你必须以3.3V供电。事实上,用3.3V供电很可能还会让蓝牙模块功率不足,甚至频繁断开连接的问题。