zoukankan      html  css  js  c++  java
  • 单片机串口收发仿真实验

    学习单片机过程中遇到两个问题:

    1、写好串口代码,手边没有硬件调试;

    2、串口收发出现奇怪的问题,无法定位;

    经过百度,百度,再百度后,终于找到了解决方法,那就是:串口收发仿真。不多说,总结如下:

    实验需要的软件:VSPDVirtual Serial Port Driver)、串口调试助手、Keil

    环境搭建:

     1、VSPD配置

    △点击1处选择两个互相通信的串口,其中一层的串口要和串口调试助手设置的串口相同,且两个串口的串口号是在Keil中可识别的(稍后Keil部分详说);

    △选好串口后,点击2处添加;

    △ 当要删除串口对时,在串口没被占用的情况下,点击4删除;

    2、串口调试助手设置:

    ⊙设置好相关参数,包括串口、波特率、校验位等,另外为了使接收的数据不出现乱码,采用十六进制发送和显示,如图:

     

    3、Keil设置:

    ⊙源码编译通过后,打开Debug

    ⊙在【View】中选择打开【Command window,如图:点击13可以切换到命令窗口和串口数据监视窗口,在命令窗口下,2处为输入命令行;

    ⊙用命令对串口设置:

    △如图,输入命令时,在其下方2处会有命令提示:

    △在输入com后会显示出当前系统中可识别的串口(VPSD中设置可参考):

     

    △设置被绑定计算机串口参数,使用mode命令,其后参数与串口调试助手中设置参数相同,命令格式为:

    MODE  COMx baudrate, parity, databits, stopbits

    COMx:计算机串口号(VSPD中设置的串口号);

    Baudrate:波特率

    Parity:校验方式,0表示无校验,1表示奇校验,2表示偶校验

    Databits:数据位

    Stopbits:停止位

    △设置好参数后需要将单片机串口绑定到计算机串口,使用assign命令,命令格式如下:

    ASSIGN channel <inreg> outreg

    Channel:计算机串口号,设置好参数的串口;

    <inreg>outreg:代表单片机串口,对于只有一个串口的单片机,即<SIN>SOUT;对于有两个或多个串口的单片机为<SnIN>SnOUTn012…)。注意:<SIN><>必须带上;

    △设置好后,能看到VSPD的串口处有参数:

    到此,单片机串口收发仿真的环境就搭建完成了,接下来进行仿真操作。需要注意的是,串口仿真既需要单步调试查看具体情况,也需要全速运行模拟现实的通信。

    仿真的串口通信和现实串口测试相似:串口助手模拟上位机发送和接受数据,Keil环境模拟单片机串口,它的串口监视窗口显示单片机从上位机收到的数据。

  • 相关阅读:
    Application Loader上传app程序
    Xcode解决代码高亮、语法提示、错误警告等功能失效的解决方法
    c#上iOS apns p12文件制作记录 iOS推送证书制件
    iOS开发~CocoaPods使用详细说明
    ios实现屏幕旋转的方法
    View页面内容的旋转,在某些情况下可替代屏幕旋转使用
    集成乐视点播功能的注意事项
    NSMutableAttributedString 富文本删除线的用法
    Objective-c的@property 详解
    ASIHttpRequest addRequestHeader的处理
  • 原文地址:https://www.cnblogs.com/xbook-ben/p/7026409.html
Copyright © 2011-2022 走看看