• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

51单片机,有个串行通信问题求教

冬天的风扇 2017-06-26 浏览量:627

单片机工作在串行口方式1时,传输10位数据,起始位和结束位需要自己加吗?
方式3传输11位,第九位数据需要自己加吗?


就比如传输   0x30  0x21   0x01  单片机会直接把这3个字节的数据分别接收进SBUF,

还是要自己加上起始、结束和校验位才能接受到0x30  0x21   0x01  这三个数据?


0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 如果直接使用串口的 可以不必自己添加起始位和结束位和校验位,自己模拟串口时序的时候需要添加
    • 发布于 2017-06-26
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • 51单片机一般没有直接的uart或者usart,需要用程序来编写,这个时候来说,一般需要自己加起始位,结束和校验位。
    • 发布于2017-06-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 带有校验位的51程序

    http://www.51hei.com/bbs/dpj-31539-1.html

    • 发布于2017-06-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 首先看串口协议

    如果是按照串口自己的协议那么可以不必自己添加,因为串口协议里面自带

    如果是自己模拟串口协议,或者自己编写类似串口的协议,那么协议的起始地址和结束以及校验位都要自己写,不然你接收不到数据。

    • 发布于2017-06-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 底层的bit位由硬件实现不需要自己加
    • 发布于2017-06-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 您好,因為您已經工作在串口方式1了,所以硬體上會幫你做這些事情,您只要對著SBUF進行傳送和接收即可

    若在GPIO自己模擬串口的話,就需要自己編寫起始跟校驗

    以上

    • 发布于2017-06-27
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

51单片机,有个串行通信问题求教