新手入门
- 积分
- 13
- 金钱
- 13
- 注册时间
- 2018-1-15
- 在线时间
- 0 小时
|
1金钱
int main(void)
{
SystemInit();
MySys_InfoInit();
MySys_InfoInit2();
delay_init(); //
uart_init(115200); //
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//
TIM3_Int_Init(999,839); //
FSMC_SRAM_Init();
IO_Init();
//此处如果注释掉,spi接收没有问题,如果不注释掉,则会丢数
/*
while(lwip_comm_init()!=0)
{
delay_ms(1200);
}
*/
//tcp_client_test();
//udp_demo_test();
SPI2_Init();
delay_us(1);
SPI3_Init();
delay_us(1);
SPI4_Init();
delay_us(1);
SPI5_Init();
delay_us(1);
SPI1_Init();
delay_ms(100);
//通过串口,发送命令55AAEE02AABB,使10个ads1298,每两个组成一路spi,共5路spi,发送给STM32F4。
USART_SendData(USART6, 0x55); //Ïò´®¿Ú1·¢ËÍÊý¾Ý
while(USART_GetFlagStatus(USART6,USART_FLAG_TC)!=SET);//µÈ´ý·¢ËÍ
delay_ms(10);
USART_SendData(USART6, 0xAA); //Ïò´®¿Ú1·¢ËÍÊý¾Ý
while(USART_GetFlagStatus(USART6,USART_FLAG_TC)!=SET);//µÈ´ý·¢ËÍ
delay_ms(10);
USART_SendData(USART6, 0xEE); //Ïò´®¿Ú1·¢ËÍÊý¾Ý
while(USART_GetFlagStatus(USART6,USART_FLAG_TC)!=SET);//µÈ´ý·¢ËÍ
delay_ms(10);
USART_SendData(USART6, 0x02); //Ïò´®¿Ú1·¢ËÍÊý¾Ý£¬1£º250Hz,2:500Hz,3:1000Hz,4:2000Hz,5:4000Hz,6:8000Hz,7:16000Hz,8:32000Hz
while(USART_GetFlagStatus(USART6,USART_FLAG_TC)!=SET);//µÈ´ý·¢ËÍ
delay_ms(10);
USART_SendData(USART6, 0xAA); //Ïò´®¿Ú1·¢ËÍÊý¾Ý
while(USART_GetFlagStatus(USART6,USART_FLAG_TC)!=SET);//µÈ´ý·¢ËÍ
delay_ms(10);
USART_SendData(USART6, 0xBB); //Ïò´®¿Ú1·¢ËÍÊý¾Ý
while(USART_GetFlagStatus(USART6,USART_FLAG_TC)!=SET);//µÈ´ý·¢ËÍ
delay_ms(100);
while(1)
{
//lwip_periodic_handle();
//delay_ms(1);
/*
if(buf_index_tosend!=buf_index){
PBout(1)=1;
//tcp_write(tcppcb,&(recdata[buf_index_tosend][0]),TX_FRAME_TOTAL_LEN,1);
//tcp_output(tcppcb);
udp_demo_senddata(udppcb,recdata[buf_index_tosend]);
buf_index_tosend++;
if(buf_index_tosend==BUF_NUM)
buf_index_tosend=0;
PBout(1)=0;
}
*/
}
}
void SPI3_IRQHandler(void)
{
recdata2[In_index+108]=SPI3->DR;
recdata2[In_index]=SPI1->DR;
recdata2[In_index+54]=SPI2->DR;
recdata2[In_index+162]=SPI4->DR;
recdata2[In_index+216]=SPI5->DR;
In_index++;
if(In_index==54)//每路数据54字节,且前三个均为c00000,如果不为c00000,则spi接收丢数据
{
In_index=0;
if(recdata2[0]!=0xC0||recdata2[1]!=0x00&&recdata2[2]!=0x00)
{
PBout(0)=1;
delay_ms(1);
PBout(0)=0;
}
}
}
u8 lwip_comm_init(void)
{
struct netif *Netif_Init_Flag;
struct ip_addr ipaddr;
struct ip_addr netmask;
struct ip_addr gw;
if(ETH_Mem_Malloc())return 1;
if(lwip_comm_mem_malloc())return 1;
if(LAN8720_Init())return 2;
lwip_init();
lwip_comm_default_ip_set(&lwipdev);
#if LWIP_DHCP
ipaddr.addr = 0;
netmask.addr = 0;
gw.addr = 0;
#else
IP4_ADDR(&ipaddr,lwipdev.ip[0],lwipdev.ip[1],lwipdev.ip[2],lwipdev.ip[3]);
IP4_ADDR(&netmask,lwipdev.netmask[0],lwipdev.netmask[1] ,lwipdev.netmask[2],lwipdev.netmask[3]);
IP4_ADDR(&gw,lwipdev.gateway[0],lwipdev.gateway[1],lwipdev.gateway[2],lwipdev.gateway[3]);
#endif
Netif_Init_Flag=netif_add(&lwip_netif,&ipaddr,&netmask,&gw,NULL,ðernetif_init,ðernet_input);//
#if LWIP_DHCP //
lwipdev.dhcpstatus=0; //
dhcp_start(&lwip_netif); //
#endif
if(Netif_Init_Flag==NULL)return 3;//
else//
{
netif_set_default(&lwip_netif); //
netif_set_up(&lwip_netif); //
}
return 0;//
}
|
|