在线时间21 小时
UID2013292
注册时间2013-5-23
NXP金币0
该用户从未签到
中级会员
 
- 积分
- 238
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2015-9-8 15:30:29
|
显示全部楼层
你好,我现在在看SPI的PE例程。现在有些不太明白。
(1)83行的/* Slave sends dummy message and waits for receiving some message from master*/
这里为什么slave要发送dummy message给主机?
(2)在96,97里面Master发完数据以后,为什么在104,105 Master sends dummy message?
(3)现在这个程序是在一块开发板上,SPI0做主机,SPI1做从机。如果我想把它改成在两块开发板上,一个做主机,一个做从机,程序应该怎么修改呢?
直接把SM和SS的相关收发函数放在对应的主从机上,就可以了吗?例如,现在的代码里面
/* Slave sends dummy message and waits for receiving some message from master*/
strcpy(slave_send,"Message_dummy");
SS1_SendBlock(SS1_DeviceData, slave_send, DATA_SIZE);
SS1_ReceiveBlock(SS1_DeviceData, slave_receive, DATA_SIZE);
for(;;){
/* Master sends message 1 */
printf("\n\nMaster: Sending message1...\n");
strcpy(master_send,"Send_Message1");
SM1_SendBlock(SM1_DeviceData, master_send, DATA_SIZE);
SM1_ReceiveBlock(SM1_DeviceData, master_receive, DATA_SIZE);
这两段代码的执行有没有先后顺序?
如果我把
/* Slave sends dummy message and waits for receiving some message from master*/
strcpy(slave_send,"Message_dummy");
SS1_SendBlock(SS1_DeviceData, slave_send, DATA_SIZE);
SS1_ReceiveBlock(SS1_DeviceData, slave_receive, DATA_SIZE);
放在从机上。
把
/* Master sends message 1 */
printf("\n\nMaster: Sending message1...\n");
strcpy(master_send,"Send_Message1");
SM1_SendBlock(SM1_DeviceData, master_send, DATA_SIZE);
SM1_ReceiveBlock(SM1_DeviceData, master_receive, DATA_SIZE);
放在主机上,就可以了吗?
|
|