本文针对MSP430系列单片机的串行通信特点和SPI总线的接口性能,介绍MSP430F449和 MSP430F149之间的三线主从式SPI通信的硬件电路和软件设计;阐释寄存器的初始化和收发模块的设置;为如何提高数据传输效率,提供一些实际应用经验。
1
采用STM32F103C8T6两块芯片进行主从通讯,一个作为主机,一个作为从机,主机发送数据从机接受数据并打印到串口显示,这是一个简单DEMO,有需要的同学可以参考一下。
2022-03-22 17:02:52 5.99MB STM32F DEMO
1
个人心得: 在做主从双机通信时,一定要理解好主机和从机的作用,做主机时会控制通信的时钟,从机是不能产生时钟的。如果从机要发送数据,那可以在主机发送数据 的时钟上发送数据。配置上差不多是一样的,就设计主从就得了。我这里接收都是用中断。 还有一点要注意的,做主机接收时,不能和发送共用一个函数。这个为什么我自己现在也没有清楚,只是在实验中测得。 纠错:从机的接收函数改成,这时因为我测试完成后有改动就压包,后来测试发现主机不能正常接收到数据 更正:我之前的两个时钟的理论是不合理的,因为全双工收发是可以共用时钟的,这个我在后面改进的主机程序中有体现。 欢迎大家测试 u8 SPI1_ReadByte(u8 TxData) { u8 retry=0; // while((SPI1->SR&1<200)return 0; // } // SPI1->DR=TxData; //发送一个byte retry=0; while((SPI1->SR&1<200)return 0; } return SPI1->DR; //返回收到的数据 } 工具:STM32 MINI板两块 注意:NSS软件管理模式,主机:SSM=1,SSI=1。 从机:SSM=1,SSI=0; 连线:主机 SCK<-> SCK 从机 MISO <-> MISO MOSI<-> MOSI SPI主机通信程序部分截图: SPI从机通信程序部分截图: 改进:把主机改成查询接收也是可以的,这时只要一个发送,是真正意义上的全双工了。 部分程序截图:(详见附件内容)
1
程序分为两部分,其中 Master:该文件夹为SPI主模式程序,采用PIC18F4685单片机,内部晶振8M,使能内部4倍锁向环,FOSC=32M,编译器 MCC 3.42 Slave:该文件夹为SPI从模式程序,采用PIC16F883单片机,内部晶振8M,编译器 XC8 V1.11
2020-10-28 08:36:03 128KB PIC SPI 主从 多机通迅
1
这个是改进了,采用SPI中断控制实现0-100的收发,单片机主从通讯,采用STM32F103系列,一个小DEMO,函数都已经实现,方便移植。
2020-01-03 11:23:11 5.99MB STM32
1