DSP与430通讯中的一些坑

430-->DSP

现象:示波器中430发送数据不完整,发送了6个字节数据,示波器中只有3个。
排查:每次发送之前都需要 while(!(IFG2&UTXIFG1));


现象:430发送6个字节的数据,DSP却只接收到3个数据
排查:用来接收数据长度的变量 unsigned int RE_LENGTH=0定义在了接收函数中,每次都重新赋值


现象:checksum有的可以 有的不可以
排查:可以的时候是checksum比较小的时候,如果比较大的时候,比如0x0312,在430单片机中由于是16位的,自动把高位舍弃,存入checksum的就是0x12。
而到了DSP中就不是这样了,28335的char型为16位,因此存的就是0x0312,所以传来的0x0012与0x0312校验就通不过了。
解决办法:对checksum的高位赋值,使用:__byte(&checksum,1)=0x0;


`

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    保川阅读 5,987评论 1 13
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,135评论 6 13
  • 21.1 引言 TCP提供可靠的运输层。它使用的方法之一就是确认从另一端收到的数据。但数据和确认都有可能会丢失。T...
    张芳涛阅读 3,053评论 0 8
  • 1.服务意识是指清楚明白地给用户美好体验。 2.这包含两个要求。第一,必须给用户美好体验。用户使用你产品的每一分每...
    琢磨概念者阅读 613评论 0 0
  • 我家有两只狗,一只名叫“欢欢”,一只名叫“小白”。小白头上竖着一对尖尖的耳朵,身上披着一件黄白相间的毛衣,...
    范雯宁阅读 228评论 0 0