完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我用两台SPI进行通信,其中从机收到主机发来的数据后会将数据发给TCP服务器,TCP服务器发送给从机的数据也会经过SPI发送给主机。
但是我发现从机发给TCP的数据不对,无论发送什么字符,TCP显示的都是“tiCoIsAio”这样的字符。请问这会是什么原因? 还有一个问题是服务器发送给从机的数据收不到,这又是什么原因? 希望能够解决我这个问题,万分感谢。 下面是我的从机TCP传输数据代码: int SpiTransfer(unsigned long ulBase, int iSockID) [ // unsigned long ulUserData; unsigned long ulDummy; char cTxBuf[100],i; char cRxBuf[100]; // char cGetChar; int iStatus; int iCounter=0; while(1) [//SPI接收的数据 MAP_SPIDataGet(ulBase,&ulDummy); MAP_UARTCharPut(UARTA0_BASE,ulDummy);//显示字符 cTxBuf[iCounter++]=ulDummy; iStatus=sl_Send(iSockID,cTxBuf,iCounter,0);//将字符发送给TCP服务器 if(iStatus<=0) [//错误处理 ASSERT_ON_ERROR(sl_Close(iSockID)); UART_PRINT("发送数据失败nr"); break; ] //recv tcp iStatus = sl_Recv(iSockID,cRxBuf,100,0); if(iStatus > 0) [ //iStatusRecv = sl_Send(iSockID, cRxBuf, iStatus, 0); MAP_SPIDataPut(ulBase,iStatus); MAP_UARTCharPut(UARTA0_BASE,iStatus); for(i = 0; i < iStatus; i++ ) [ UART_PRINT("%2c nr", cRxBuf); //UART_PRINT("202 nr"); ] ] ] return(iStatus); ] |
|
相关推荐
7个回答
|
|
应该不会,你有没有用例程里面的spi_demo测试一下,主机发送到丛机的数据打印出来是对的吗?
如果有答案已经回答了您的问题,请标注为已回答。 Please close your question if it has been solved. ------------------------------------------------------------------ |
|
|
|
一个黄人 发表于 2018-6-21 03:11 有试过了,主机从机的数据是没问题的。并且在我这个程序中,从机串口还是能显示正确的数据,就是TCP的数据错误的 |
|
|
|
有没有单独测试TCP通信的数据是否正确,TCP的数据错误是发送之前出现错误还是接收解码部分出现错误, |
|
|
|
之前用串口跟TCP通信的时候是没问题的。数据的传输都是正确没问题的。 这次用SPI,我能够在从机的串口看到主机发送给从机的内容是正确的。 所以我认为TCP的数据错误应该是发生在接收解码部分。或者是否是我发送数据的函数格式不正确? |
|
|
|
这是我的源代码~试了许久还是发现TCP的数据不对。 |
|
|
|
cTxBuf[iCounter++]=ulDummy; iStatus=sl_Send(iSockID,cTxBuf,iCounter,0);//将字符发送给TCP服务器 每新接收一个字符,就把所有已经接收的字符都发往sever,应该这个逻辑有问题,应该只发当前接收的字符过去吧 |
|
|
|
zhoujing_oae 发表于 2018-6-21 04:39 是的,这个问题已经解决了~谢谢回答。 |
|
|
|
只有小组成员才能发言,加入小组>>
340 浏览 1 评论
533 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
777 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
653 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1132 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
63浏览 29评论
161浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
253浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
203浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
60浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 22:52 , Processed in 0.998350 second(s), Total 89, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号