完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如题,电路为自己设计的一个最简系统,单片机P3.0~P3.3作为SPI0端口和一个外部设备通讯,外部设备通讯端口为spi,外部设备为主机(主机只接受数据,不发送数据),提供的时钟为50k~500k,msp430作为从机模式(从机只需要发送数据,不需接收数据)。现在的问题是发现配置好了之后通讯一段时间就会出错,试了好多次还是这样,不管三线模式还是4线模式都有问题。如下图为配置代码部分(外部主机模式为CPOL=0,上升沿读取数据): void SPI0_Init(void) ME1 |= USPIE0; // Enable USART0 SPI mode void SPI_Send4Bytes( unsigned long tempData ) 下面是主循环部分: while(1) { if(!(P3IN & BIT0)) //外部设备提供SSN信号 } 如上面所示:单片机发出去的数据是0xAA010200,外部通讯设备接收的数据有时会出错变成0x00AA0102,有时出现另外的错误(都是数据错位,而且错误不固定),请问问题出在哪里?还有当我使用4线SPI模式时SSN如何判断? 谢谢! |
|
相关推荐
5个回答
|
|
发送之间加个延时
最佳答案
|
|
|
|
急求解决,谢谢!
|
|
|
|
|
|
|
|
怎么加延时?还有用四线制spi时SSN如何操作?从机在什么时候发送数据?谢谢了!通讯速度是主机控制的,从机只能根据主机时钟来发送数据 |
|
|
|
本帖最后由 safferia 于 2018-4-25 09:39 编辑
怎么加延时?还有用四线制spi时SSN如何操作?从机在什么时候发送数据?谢谢了!通讯速度是主机控制的,从机只能根据主机时钟来发送数据,还有通讯速率不一致是msp430的速率和主机不一致么?外部主机的时钟是固定的 |
|
|
|
只有小组成员才能发言,加入小组>>
3052个成员聚集在这个小组
加入小组2968 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3691 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2366 浏览 1 评论
4830 浏览 1 评论
2592 浏览 1 评论
1370浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3691浏览 2评论
2968浏览 1评论
1564浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 13:28 , Processed in 1.578563 second(s), Total 87, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号