若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/124754769
红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

树莓派开发专栏

上一篇:《树莓派开发笔记(十三):入手研华ADVANTECH工控树莓派UNO-220套件(二):安装rtc等驱动》
下一篇:敬请期待…

前言

  上一篇说明了必须要使用研华自带的8G卡的系统,通过沟通拿到了相关的系统,购买的时候会带8GB的卡,请自行备份一份镜像。本篇对uno-220套件的相关研华配套的额外接口做测试,篇幅较长,重点讲述了测试、发现问题以及解决问题的思路和过程。

特别注意

  系统官方是不提供额外下载的,经销售也没有,只有购买UNO-220套件附送的8GB卡才有,其官方其他下载版本全部测试,无法加载研华的驱动,所以实际上他的下载驱动无作用。

刷系统

  该系统是8GB卡里面的对应笔者的套件的。
  先贴上自带系统的版本:
  
  以下是备份的系统:
  
  然后使用win32DiskImager刷机:
  
  选择要刷的镜像,选择写入的盘(32GB的sd卡),开始写入:
  
  等待写入完成:
  

测试RTC驱动

  将卡插入树莓派:
  
  开启后:
  
  测试RTC驱动:
  
  测试成功,使用ssh连接,原本的研华的系统也开启了默认的ssh服务,用户名和密码都是默认的。
  之前是没有连接网络设置为2000年1月1日,接上公网后,会自动更新时间并持续写入最新时间到rtc,如下图:
  

测试GPIO口

sudo uno220gpio -h
sudo uno220gpio --export=all
sudo uno220gpio
sudo uno220gpio --in=0 --direction=out
sudo uno220gpio --pin=0 --value=1

  

测试串口

第一轮测试失败:UNO220套件引出来的默认为调试串口

uno220uart测试

  程序测试接收发送不对,串口波特率各种也都试过了,而且其本身又没有说明文档,帮助信息也有限,而且其命令行说白了而也不好用。
  

minicom测试

sudo apt-get install minicom

  

ls dev/tty*

  /dev/ttyAMA0目前是分配给蓝牙的)
  
  
  
  发现还是不行,直接给他拆了,将40pin中的唯一串口给他引出来:
  
  
  还是乱码,偶然发现在PC的串口助手上出现需要登陆的英文,所以此接口当前应该是调串口,于是测试:
  
  由此判断/dev/serial0是调试串口。
  

第二轮测试失败:疑似调试串口,但又不是?

  知道了是调试串口,那么切换成空闲的串口给他调用即可完成调试,具体的方法后面附上,目前先盖上套件测试第二轮
  

uno220uart测试

  
  接收时需要带设备的,那么发送是否也需要带设备,其文档上接收并没有带设备,贴研华文档如下图:
  
  下面是带设备接收:
  
  测一下不带设备接收的:
  

  特别注意啊,以下的测试没有通过套件,直接是接入树莓派的。

minicom测试

  跟上面一样,也是乱码,所以笔者就很好奇了,这个地方好像你再输入输出的时候,对方也在输入输出。
  发现,我们外部输入的时候,里面也在同步输出。这是直接接的树莓派了,所以此串口是否是调试串口(调试串口又不输出调试信息,偶尔之前输出需要登陆的)。
  
  (硬件有问题就有点小麻烦了,继续先忽略这个确认软件问题,当前判断应该是串口控制端问题,带着疑问继续)

第三轮测试:裸机成功,uno220套装失败(漏电)

  此时我们也不纠结了,且花费了较多的时间了,直接更换2个串口,当前为:
  

sudo uno220uart --kernel=0 --systemd=0 –disable
reboot

  关闭串口之后重启,就这样了:
  
  之前的树莓派3B+上,UART0 GPIO14 GPIO15 这个是硬件串口,默认当成串口控制台使用。

串口接收数据错误问题原因

  我们查一下4B(uno220套件为4B),可知道3B和4B是一样的串口和蓝牙问题,所以usart参照博文《树莓派开发笔记(六):GPIO口的UART的使用(串口通讯)》
  
  当前已经开启了:
  

关闭蓝牙和调换串口

  蓝牙用了不稳定的serial0蓝牙数据肯定有问题,所以直接技能用蓝牙,避免以后使用蓝牙入坑。

sudo vi /boot/config.txt
dtoverlay=pi3-disable-bt

  

reboot

  再看,将serial1分配给ttyS0了:
  
  然后继续测试,前面控制台的问题补充一下,树莓派默认将IO引出的串口用作于控制台使用,在没有网络的时候,可以通过串口对树莓派进行控制管理,所以经过前面的步骤做好串口映射交换后,还是不能正常地使用串口模块进行通讯。需要禁用串口控制台功能,使串口为我们自由使用。
  分别通过如下两个命令停止和禁用串口的控制台功能。(由于我们前面已经交换了串口的映射关系,因此这里注意是ttyAMA0。)

sudo systemctl stop serial-getty@ttyAMA0.servicesudo systemctl disable serial-getty@ttyAMA0.service

  还需要删除配置:

sudo vi /boot/cmdline.txt

  
  删除后(删除console=serial0,115200这条):
  
  重启,开始测试。

uno220uart不装套件测试:成功

  发送测试:正常(中文乱码,是编码问题,不处理)
  
  接收测试:正常
  

minicom不装套件测试:成功

sudo minicom -s

  

  

uno220uart装套件测试:发送正常,接收失败

  发送测试:正常(中文乱码,是编码问题,不处理)
  
  接收测试:正常
  
  

sudo minicom -s

  
  
  突然注意到套装的TXD线对应的usb转ttl一直亮灯,估计是漏掉(串口发送则是闪烁,没发送就是不良,一直亮肯定漏电,并且也确认了脱开uno220的套装板正常。
  确认套装额外加装的有问题,套装有漏电0.91V左右:
  
  失败原因:发送端漏电发送正常,接收端不漏掉接收端正常,所以是发送端的漏掉影响了接收端的接收

测试485口:成功

  485口uno220套装将串口给他加485出的,之前测试了串口有问题,希望485不一定有问题,所以继续测试。
  485口接收和测试都没有问题:
  

结论:485、GPIO、RTC正常,232不正常

  至此,全部测试完毕,本套装的串口TX有漏电影响通过套装消息接收和发送。

上一篇:《树莓派开发笔记(十三):入手研华ADVANTECH工控树莓派UNO-220套件(二):安装rtc等驱动》
下一篇:敬请期待…

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/124754769

树莓派开发笔记(十四):入手研华ADVANTECH工控树莓派UNO-220套件(三):使用研发自带系统测试rtc、gpio、232和485套件接口相关推荐

  1. 【Visual C++】游戏开发笔记十四 游戏画面绘图(四) 华丽的CImage类

    本系列文章由zhmxy555编写,转载请注明出处. http://qianmo.blog.51cto.com/5127279/875711 作者:毛星云 邮箱: happylifemxy@qq.com ...

  2. 树莓派开发笔记(十一):蓝牙的使用,BlueZ协议(双树莓探测rssi并通过蓝牙互传获取的rssi信号强度)

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/110940484 长期持续带来更多项目与技术分 ...

  3. 树莓派开发笔记(九):基于CSI口的摄像头拍照程序(同样适用USB摄像头)

    若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/ ...

  4. 《C++游戏开发》笔记十四 平滑过渡的战争迷雾(二) 实现:真正的迷雾来了

    本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9712321 作者:七十一雾央 新浪微博:http:// ...

  5. Polyworks脚本开发学习笔记(十四)-WORKSPACE信息读取及管理

    Polyworks脚本开发学习笔记(十四)-WORKSPACE信息读取及管理 Polyworks的工作任务存储分为工作区和项目两级,通过WORKSPACE命令获取工作任务信息,实现更好的任务管理. 下 ...

  6. Android开发笔记(四十九)异步任务处理AsyncTask

    AsyncTask异步任务 Thread+Handler方式虽然能够实现多线程的通信处理,但是写起代码来颇为繁琐,所以Android提供了AsyncTask这样一个轻量级的异步任务类,其内部封装好Th ...

  7. Android开发笔记(四十八)Thread类实现多线程

    Thread概述 Thread类是真正的线程,查看源码可见Thread也实现了Runnable接口,但它内部有创建新的工作线程,所以Thread对象运行在与主线程不一样的分线程上. 因为Thread对 ...

  8. Android开发笔记(四十七)Runnable接口实现多线程

    Runnable概述 Runnable接口可声明一连串的事务,常用于多线程处理.但是实现Runnable接口并不意味着开启了一个新线程,只是定义了接下来要做的事情,至于说这些事情要在主线程处理,还是在 ...

  9. Android开发笔记(四十三)点击事件

    按钮点击 常用按钮点击 1.单击事件,主要用于Button和ImageButton控件,布局视图与TextView.ImageView控件用的也比较多.相关类名与方法说明如下: 监听器类名 : Vie ...

最新文章

  1. 委托、lamda表达式..委托概念-匿名函数-泛型委托-Lamda表达式-多播委托
  2. SVG中的坐标系统和坐标变换
  3. fasttext在二分类问题中,recall与precision值是相同的,why
  4. 多米诺骨牌v.1MEL语言
  5. 数据结构教程网盘链接_数据结构101:链接列表
  6. 玩cf一直连接服务器失败怎么办啊,windows10系统玩cf提示连接服务器失败怎么办...
  7. Python之list每个元素小数点精度控制
  8. 用户登录自动注销问题
  9. 安卓recovery流程分析【第二篇】
  10. 高并发、高性能 Web 架构
  11. 设置oracle odbc,Oracle Windows ODBC 数据源配置
  12. 日记、2021/9/30
  13. 免费图片文字识别,非常好用
  14. 【NVMe2.0b 7】NVMe 基本队列数据结构
  15. 性能强悍的CSS动画库--Animate.css
  16. ES性能优化之查询优化笔记(一)
  17. Hibernate一对多/多对一关系映射详解及相应的增删查改操作
  18. Ubuntu系统初次使用
  19. 留一法(Leave-One-Out)与确定性
  20. C++中pair的用法

热门文章

  1. linux系统pkl,pytorch模型 .pt, .pth, .pkl有什么区别及如何保存
  2. Python趣味实战项目:抢红包提醒助手
  3. 计算机教师专业技术报告,教师信息技术实习报告
  4. OPTIONS请求的处理
  5. 个人深度学习主机的搭建_1-硬件的选择与组装
  6. Android刘海屏、水滴屏全面屏适配方案,海量算法高频面试题精编解析
  7. 9月21日绝地求生服务器维护时间,前沿手游:绝地求生10月21日更新时间 绝地求生10月21日维护到几点...
  8. 一个提高照片质量的网站和一个改变照片DPI的方法
  9. springboot ajax 提交403错误
  10. Figma中文网?比Figma更懂你的设计网站!