目前在做STM32双机通信,只不过我的是F4和F1通信,现在只是双方发送和接收单字节没有问题,但是在发送数组时出现了如图所示的问题,代码见附件。只放了主程序。
主机(F4):
#include "stm32f4xx.h"
#include "usart.h"
#include "delay.h"
#include "spi.h"
u8 we[]={0x80,0x10,0x54,0x55,0x44,0x41,0x14,0x47};
u8 i;
int main(void)
{
uart_init(115200);
delay_init(168);
SPI1_Init();
SPI1_SetSpeed(SPI_BaudRatePrescaler_64);
u16 val;
while(1)
{
SPI_CS=0;
for(i=0;i<8;i++)
{
val=SPI1_ReadWriteByte(we
);
printf("%x
",val);
//delay_ms(100);
}
SPI_CS=1;
// SPI_CS=0;
//
// }
// SPI_CS=1;
}
}
从机F1:
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "spi.h"
u16 Slave_Temp;
u8 i;
u8 we[]={0x80,0x10,0x54,0x55,0x44,0x41,0x14,0x47};
int main(void)
{
delay_init();
uart_init(115200);
NVIC_Configuration();
SPI2_Init();
// SPI2_SetSpeed(SPI_BaudRatePrescaler_256);
while(1)
{
if(SPI_CS!=1)
{
for(i=0;i<8;i++)
{
delay_ms(1);
Slave_Temp=SPI1_ReadWriteByte(we);
//SPI2_WriteByte(0x25);
printf("%x
",Slave_Temp);
}
}
}
}
出现了以下现象:
从机数据
这是从机
主机数据
这是主机
一周热门 更多>