mirror of
https://gitee.com/seekfree/TC264_Library.git
synced 2026-06-03 19:32:55 +00:00
V3.4.4 1更新WIFI_SPI驱动,2修改WIFI-SPI例程,3修改printf宏定义错误,4添加BTB主板负压电机例程
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,3 +1,8 @@
|
|||||||
Example_dual_camera // 双摄主板例程
|
Example_dual_camera // 双摄主板例程
|
||||||
Example_general //通用主板例程
|
Example_general //通用主板例程
|
||||||
Example_btb //btb缩微主板例程
|
Example_btb //btb缩微主板例程
|
||||||
|
|
||||||
|
例程的主要作用只是告诉大家如何使用各种库函数
|
||||||
|
因此例程内的库文件不一定是最新的,当通过库例程学习完之后
|
||||||
|
请使用Seekfree_TC264_Opensource_Library开源库进行开发。
|
||||||
|
开源库链接:https://gitee.com/seekfree/TC264_Library
|
||||||
@@ -1,3 +1,6 @@
|
|||||||
|
V3.4.4
|
||||||
|
<09><EFBFBD>printf<74>ض<EFBFBD><D8B6><EFBFBD><EFBFBD>еĺ궨<C4BA><EAB6A8>
|
||||||
|
<09><><EFBFBD><EFBFBD>WIFI_SPI<50><49><EFBFBD><EFBFBD>
|
||||||
V3.4.3
|
V3.4.3
|
||||||
<20><><EFBFBD><EFBFBD>ips200pro<72><6F><EFBFBD><EFBFBD>
|
<20><><EFBFBD><EFBFBD>ips200pro<72><6F><EFBFBD><EFBFBD>
|
||||||
<20><EFBFBD>zf_device_config.h<>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>ع⺯<D8B9><E2BAAF><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>
|
<20><EFBFBD>zf_device_config.h<>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>ع⺯<D8B9><E2BAAF><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
int fputc(int ch, FILE *stream)
|
int fputc(int ch, FILE *stream)
|
||||||
{
|
{
|
||||||
uart_write_byte(DEBUG_UART_INDEX, (char)ch);
|
uart_write_byte(PRINTF_USE_UART, (char)ch);
|
||||||
|
|
||||||
return (ch);
|
return (ch);
|
||||||
}
|
}
|
||||||
@@ -71,7 +71,7 @@ int _write(int fd, char *buf, int len)
|
|||||||
int fgetc(FILE *f)
|
int fgetc(FILE *f)
|
||||||
{
|
{
|
||||||
#if PRINTF_OUTPUT_TYPE == 0
|
#if PRINTF_OUTPUT_TYPE == 0
|
||||||
return uart_read_byte(DEBUG_UART_INDEX);
|
return uart_read_byte(PRINTF_USE_UART);
|
||||||
#else
|
#else
|
||||||
uint8 buf;
|
uint8 buf;
|
||||||
wifi_spi_read_buffer(&buf, 1);
|
wifi_spi_read_buffer(&buf, 1);
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
* <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> zf_device_wifi_spi
|
* <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> zf_device_wifi_spi
|
||||||
* <20><>˾<EFBFBD><CBBE><EFBFBD><EFBFBD> <20>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
* <20><>˾<EFBFBD><CBBE><EFBFBD><EFBFBD> <20>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
||||||
* <20>汾<EFBFBD><E6B1BE>Ϣ <20>鿴 libraries/doc <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> version <20>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
* <20>汾<EFBFBD><E6B1BE>Ϣ <20>鿴 libraries/doc <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> version <20>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ADS v1.9.20
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ADS v1.10.2
|
||||||
* <20><><EFBFBD><EFBFBD>ƽ̨ TC264D
|
* <20><><EFBFBD><EFBFBD>ƽ̨ TC264D
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> https://seekfree.taobao.com/
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> https://seekfree.taobao.com/
|
||||||
*
|
*
|
||||||
@@ -63,6 +63,21 @@
|
|||||||
#define SOCKET_CONNECT_TIME_OUT 50000 // <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
#define SOCKET_CONNECT_TIME_OUT 50000 // <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
||||||
#define OTHER_TIME_OUT 1000 // <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
#define OTHER_TIME_OUT 1000 // <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#if ((WIFI_SPI_RECVIVE_SIZE < 32) || (WIFI_SPI_RECVIVE_SIZE > 4088))
|
||||||
|
#error "WIFI_SPI_RECVIVE_SIZE must be >= 32 or <= 4088"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if (WIFI_SPI_RECVIVE_SIZE >= WIFI_SPI_RECVIVE_FIFO_SIZE)
|
||||||
|
#error "WIFI_SPI_RECVIVE_FIFO_SIZE must be > WIFI_SPI_RECVIVE_SIZE"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if (WIFI_SPI_TRANSFER_SIZE != 4088)
|
||||||
|
#error "WIFI_SPI_TRANSFER_SIZE must be == 4088"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
char wifi_spi_version[12]; // <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>̼<EFBFBD><CCBC>汾<EFBFBD><E6B1BE>Ϣ
|
char wifi_spi_version[12]; // <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>̼<EFBFBD><CCBC>汾<EFBFBD><E6B1BE>Ϣ
|
||||||
char wifi_spi_mac_addr[20]; // <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>MAC<41><43>ַ<EFBFBD><D6B7>Ϣ
|
char wifi_spi_mac_addr[20]; // <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>MAC<41><43>ַ<EFBFBD><D6B7>Ϣ
|
||||||
char wifi_spi_ip_addr_port[25]; // <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>IP<49><50>ַ<EFBFBD><D6B7><EFBFBD>˿<EFBFBD><CBBF><EFBFBD>Ϣ
|
char wifi_spi_ip_addr_port[25]; // <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>IP<49><50>ַ<EFBFBD><D6B7><EFBFBD>˿<EFBFBD><CBBF><EFBFBD>Ϣ
|
||||||
@@ -271,8 +286,6 @@ static uint8 wifi_spi_get_version (void)
|
|||||||
{
|
{
|
||||||
memcpy(wifi_spi_version, temp_packets.buffer, temp_packets.head.length);
|
memcpy(wifi_spi_version, temp_packets.buffer, temp_packets.head.length);
|
||||||
}
|
}
|
||||||
return_state = (return_state == 0) ? (WIFI_SPI_REPLY_VERSION != temp_packets.head.command) : 1;
|
|
||||||
|
|
||||||
return return_state;
|
return return_state;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -293,8 +306,6 @@ static uint8 wifi_spi_get_mac_addr (void)
|
|||||||
{
|
{
|
||||||
memcpy(wifi_spi_mac_addr, temp_packets.buffer, temp_packets.head.length);
|
memcpy(wifi_spi_mac_addr, temp_packets.buffer, temp_packets.head.length);
|
||||||
}
|
}
|
||||||
return_state = (return_state == 0) ? (WIFI_SPI_REPLY_MAC_ADDR != temp_packets.head.command) : 1;
|
|
||||||
|
|
||||||
return return_state;
|
return return_state;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -316,7 +327,77 @@ static uint8 wifi_spi_get_ip_addr_port (void)
|
|||||||
{
|
{
|
||||||
memcpy(wifi_spi_ip_addr_port, temp_packets.buffer, temp_packets.head.length);
|
memcpy(wifi_spi_ip_addr_port, temp_packets.buffer, temp_packets.head.length);
|
||||||
}
|
}
|
||||||
return_state = (return_state == 0) ? (WIFI_SPI_REPLY_IP_ADDR != temp_packets.head.command) : 1;
|
return return_state;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIFI SPI <20><>ȡϵͳʱ<CDB3><CAB1>
|
||||||
|
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> time_format ʱ<><CAB1><EFBFBD><EFBFBD>ʽ
|
||||||
|
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> *buffer <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ַ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ30<33><30><EFBFBD>ֽ<EFBFBD>
|
||||||
|
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> buffer_size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
|
||||||
|
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0-<2D>ɹ<EFBFBD> 1-<2D><><EFBFBD><EFBFBD>
|
||||||
|
// ʹ<><CAB9>ʾ<EFBFBD><CABE>
|
||||||
|
// <20><>ע<EFBFBD><D7A2>Ϣ <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮ǰ<D6AE><C7B0>Ҫȷ<D2AA><C8B7>WIFIģ<49><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// <20><>ע<EFBFBD><D7A2>Ϣ <20><>WIFI SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߰汾֧<E6B1BE><D6A7>
|
||||||
|
// <20><>ע<EFBFBD><D7A2>Ϣ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϢΪ<CFA2>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>printf<74><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ鿴
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
uint8 wifi_spi_get_time (wifi_spi_time_enum time_format, char *buffer, uint8 buffer_size)
|
||||||
|
{
|
||||||
|
uint8 return_state = 1;
|
||||||
|
wifi_spi_packets_struct temp_packets;
|
||||||
|
uint8 send_cmd, receive_cmd;
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>30<33><30><EFBFBD>ֽ<EFBFBD>
|
||||||
|
// <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>V2<56>汾
|
||||||
|
if((30 <= buffer_size) && (!strncmp(wifi_spi_version, "V2", 2)))
|
||||||
|
{
|
||||||
|
send_cmd = WIFI_SPI_GET_TIME1 + time_format - WIFI_SPI_UTC_0;
|
||||||
|
receive_cmd = WIFI_SPI_REPLY_TIME1 + time_format - WIFI_SPI_UTC_0;
|
||||||
|
|
||||||
|
return_state = wifi_spi_get_parameter(send_cmd, &temp_packets, OTHER_TIME_OUT);
|
||||||
|
if((0 == return_state) && (receive_cmd == temp_packets.head.command))
|
||||||
|
{
|
||||||
|
return_state = (uint8)strncmp((const char *)temp_packets.buffer, "OK", 2);
|
||||||
|
if(0 == return_state)
|
||||||
|
{
|
||||||
|
memcpy(buffer, &temp_packets.buffer[3], temp_packets.head.length - 3);
|
||||||
|
buffer[temp_packets.head.length - 3] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return return_state;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIFI SPI ɨ<><C9A8><EFBFBD>ȵ<EFBFBD>
|
||||||
|
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *buffer <20><><EFBFBD><EFBFBD>ɨ<EFBFBD>赽<EFBFBD><E8B5BD><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD>Ϣ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ǿ<EFBFBD>ȣ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>ź<EFBFBD>ǿ<EFBFBD>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD>
|
||||||
|
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> buffer_size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>
|
||||||
|
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0-<2D>ɹ<EFBFBD> 1-<2D><><EFBFBD><EFBFBD>
|
||||||
|
// ʹ<><CAB9>ʾ<EFBFBD><CABE>
|
||||||
|
// <20><>ע<EFBFBD><D7A2>Ϣ <20><>WIFI SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߰汾֧<E6B1BE><D6A7>
|
||||||
|
// <20><>ע<EFBFBD><D7A2>Ϣ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϢΪ<CFA2>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>printf<74><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ鿴
|
||||||
|
// <20><>ע<EFBFBD><D7A2>Ϣ ÿһ<C3BF>а<EFBFBD><D0B0><EFBFBD>һ<EFBFBD><D2BB>wifi<66><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
uint8 wifi_spi_wifi_scan (char *buffer, uint16 buffer_size)
|
||||||
|
{
|
||||||
|
uint8 return_state;
|
||||||
|
|
||||||
|
// ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>V2<56>汾<EFBFBD>Ĺ̼<C4B9><CCBC><EFBFBD>֧<EFBFBD>ִ˹<D6B4><CBB9><EFBFBD>
|
||||||
|
if(!strncmp(wifi_spi_version, "V2", 2))
|
||||||
|
{
|
||||||
|
return_state = wifi_spi_set_parameter(WIFI_SPI_SET_WIFI_SCAN, NULL, 0, WIFI_CONNECT_TIME_OUT);
|
||||||
|
|
||||||
|
if(0 == return_state)
|
||||||
|
{
|
||||||
|
#if (0 == WIFI_SPI_READ_TRANSFER)
|
||||||
|
wifi_spi_send_buffer(NULL, 0);
|
||||||
|
#endif
|
||||||
|
while(0 == wifi_spi_read_buffer((uint8 *)buffer, buffer_size))
|
||||||
|
{
|
||||||
|
system_delay_ms(10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return return_state;
|
return return_state;
|
||||||
}
|
}
|
||||||
@@ -505,7 +586,7 @@ uint32 wifi_spi_send_buffer (const uint8 *buffer, uint32 length)
|
|||||||
|
|
||||||
while(length)
|
while(length)
|
||||||
{
|
{
|
||||||
send_length = length > WIFI_SPI_TRANSFER_SIZE ? (uint16)WIFI_SPI_TRANSFER_SIZE : (uint16)length;
|
send_length = (uint16) (length > WIFI_SPI_TRANSFER_SIZE ? WIFI_SPI_TRANSFER_SIZE : length);
|
||||||
|
|
||||||
if(wifi_spi_wait_idle(OTHER_TIME_OUT))
|
if(wifi_spi_wait_idle(OTHER_TIME_OUT))
|
||||||
{
|
{
|
||||||
@@ -555,6 +636,18 @@ uint32 wifi_spi_send_buffer (const uint8 *buffer, uint32 length)
|
|||||||
return length;
|
return length;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIFI SPI <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *string <20><>Ҫ<EFBFBD><D2AA><EFBFBD>͵<EFBFBD><CDB5>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
|
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> void
|
||||||
|
// ʹ<><CAB9>ʾ<EFBFBD><CABE> wifi_spi_send_string("123");
|
||||||
|
// <20><>ע<EFBFBD><D7A2>Ϣ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void wifi_spi_send_string(const char *string)
|
||||||
|
{
|
||||||
|
wifi_spi_send_buffer((uint8*)string, strlen(string));
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIFI SPI <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIFI SPI <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *buff <20><><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *buff <20><><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -566,32 +659,57 @@ uint32 wifi_spi_send_buffer (const uint8 *buffer, uint32 length)
|
|||||||
uint32 wifi_spi_read_buffer (uint8 *buffer, uint32 length)
|
uint32 wifi_spi_read_buffer (uint8 *buffer, uint32 length)
|
||||||
{
|
{
|
||||||
zf_assert(NULL != buffer);
|
zf_assert(NULL != buffer);
|
||||||
uint32 data_len = length;
|
uint32 fifo_read_length;
|
||||||
|
uint32 write_length = 0;
|
||||||
|
wifi_spi_packets_struct temp_packets;
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>FIFO<46><4F><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>FIFO<46><4F>ȡ
|
||||||
|
if(fifo_used(&wifi_spi_fifo))
|
||||||
|
{
|
||||||
|
fifo_read_length = fifo_used(&wifi_spi_fifo);
|
||||||
|
fifo_read_length = length < fifo_read_length ? length : fifo_read_length;
|
||||||
|
fifo_read_buffer(&wifi_spi_fifo, buffer, &fifo_read_length, FIFO_READ_AND_CLEAN);
|
||||||
|
|
||||||
|
buffer += fifo_read_length;
|
||||||
|
length -= fifo_read_length;
|
||||||
|
write_length += fifo_read_length;
|
||||||
|
}
|
||||||
|
|
||||||
#if(1 == WIFI_SPI_READ_TRANSFER)
|
#if(1 == WIFI_SPI_READ_TRANSFER)
|
||||||
|
|
||||||
wifi_spi_packets_struct temp_packets;
|
|
||||||
// <20><><EFBFBD><EFBFBD>WIFI SPI״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϻ<D0B6><CFBB><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨѶ<CDA8><D1B6><EFBFBD>β<F2B1BEB4><CEB2>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
if(WIFI_SPI_IDLE == wifi_spi_mutex)
|
if(WIFI_SPI_IDLE == wifi_spi_mutex)
|
||||||
{
|
{
|
||||||
// <20><>ͨѶ״̬<D7B4><CCAC><EFBFBD><EFBFBD>Ϊæ
|
wifi_spi_mutex = WIFI_SPI_BUSY; // <20><>ͨѶ״̬<D7B4><CCAC><EFBFBD><EFBFBD>Ϊæ
|
||||||
wifi_spi_mutex = WIFI_SPI_BUSY;
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>ͨѶ<CDA8>鿴ģ<E9BFB4><C4A3><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4>ȡ
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
if(wifi_spi_wait_idle(OTHER_TIME_OUT))
|
if( (WIFI_SPI_RECVIVE_SIZE > wifi_spi_fifo.size) || // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ䲻<D5BC><E4B2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ȡ
|
||||||
|
(wifi_spi_wait_idle(OTHER_TIME_OUT)) // <20><>ʱ<EFBFBD>˳<EFBFBD>
|
||||||
|
)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
temp_packets.head.command = WIFI_SPI_DATA;
|
temp_packets.head.command = WIFI_SPI_DATA;
|
||||||
temp_packets.head.length = 0;
|
temp_packets.head.length = 0;
|
||||||
wifi_spi_transfer_command(&temp_packets, WIFI_SPI_RECVIVE_SIZE);
|
wifi_spi_transfer_command(&temp_packets, WIFI_SPI_RECVIVE_SIZE);
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5>İ<EFBFBD><C4B0><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5>İ<EFBFBD><C4B0><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
if((WIFI_SPI_REPLY_DATA_START == temp_packets.head.command) || (WIFI_SPI_REPLY_DATA_END == temp_packets.head.command))
|
if( ((WIFI_SPI_REPLY_DATA_START == temp_packets.head.command) || (WIFI_SPI_REPLY_DATA_END == temp_packets.head.command)) &&
|
||||||
|
(temp_packets.head.length)
|
||||||
|
)
|
||||||
{
|
{
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
if(length)
|
||||||
if(temp_packets.head.length)
|
{
|
||||||
|
fifo_read_length = length >= temp_packets.head.length ? temp_packets.head.length : length;
|
||||||
|
memcpy(buffer, temp_packets.buffer, fifo_read_length);
|
||||||
|
buffer += fifo_read_length;
|
||||||
|
length -= fifo_read_length;
|
||||||
|
write_length += fifo_read_length;
|
||||||
|
if(fifo_read_length < temp_packets.head.length) // <20>ⲿ<EFBFBD><E2B2BF><EFBFBD>岻<EFBFBD><E5B2BB><EFBFBD><EFBFBD><EFBFBD>ಿ<EFBFBD><E0B2BF>д<EFBFBD><D0B4>FIFO
|
||||||
|
{
|
||||||
|
fifo_write_buffer(&wifi_spi_fifo, temp_packets.buffer + fifo_read_length, temp_packets.head.length - fifo_read_length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else // ȫ<><C8AB>д<EFBFBD><D0B4>FIFO
|
||||||
{
|
{
|
||||||
fifo_write_buffer(&wifi_spi_fifo, temp_packets.buffer, temp_packets.head.length);
|
fifo_write_buffer(&wifi_spi_fifo, temp_packets.buffer, temp_packets.head.length);
|
||||||
}
|
}
|
||||||
@@ -599,10 +717,9 @@ uint32 wifi_spi_read_buffer (uint8 *buffer, uint32 length)
|
|||||||
}while(WIFI_SPI_REPLY_DATA_START == temp_packets.head.command);
|
}while(WIFI_SPI_REPLY_DATA_START == temp_packets.head.command);
|
||||||
wifi_spi_mutex = WIFI_SPI_IDLE;
|
wifi_spi_mutex = WIFI_SPI_IDLE;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
fifo_read_buffer(&wifi_spi_fifo, buffer, &data_len, FIFO_READ_AND_CLEAN);
|
return write_length;
|
||||||
return data_len;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -618,7 +735,7 @@ uint8 wifi_spi_init (char *wifi_ssid, char *pass_word)
|
|||||||
uint8 return_state = 0;
|
uint8 return_state = 0;
|
||||||
|
|
||||||
fifo_init(&wifi_spi_fifo, FIFO_DATA_8BIT, wifi_spi_buffer, WIFI_SPI_RECVIVE_FIFO_SIZE);
|
fifo_init(&wifi_spi_fifo, FIFO_DATA_8BIT, wifi_spi_buffer, WIFI_SPI_RECVIVE_FIFO_SIZE);
|
||||||
spi_init(WIFI_SPI_INDEX, SPI_MODE0, WIFI_SPI_SPEED, WIFI_SPI_SCK_PIN, WIFI_SPI_MOSI_PIN, WIFI_SPI_MISO_PIN, SPI_CS_NULL);//Ӳ<><D3B2>SPI<50><49>ʼ<EFBFBD><CABC>
|
spi_init(WIFI_SPI_INDEX, SPI_MODE3, WIFI_SPI_SPEED, WIFI_SPI_SCK_PIN, WIFI_SPI_MOSI_PIN, WIFI_SPI_MISO_PIN, SPI_CS_NULL);//Ӳ<><D3B2>SPI<50><49>ʼ<EFBFBD><CABC>
|
||||||
gpio_init(WIFI_SPI_CS_PIN, GPO, 1, GPO_PUSH_PULL);
|
gpio_init(WIFI_SPI_CS_PIN, GPO, 1, GPO_PUSH_PULL);
|
||||||
gpio_init(WIFI_SPI_RST_PIN, GPO, 1, GPO_PUSH_PULL);
|
gpio_init(WIFI_SPI_RST_PIN, GPO, 1, GPO_PUSH_PULL);
|
||||||
gpio_init(WIFI_SPI_INT_PIN, GPI, 0, GPI_PULL_DOWN);
|
gpio_init(WIFI_SPI_INT_PIN, GPI, 0, GPI_PULL_DOWN);
|
||||||
@@ -644,7 +761,11 @@ uint8 wifi_spi_init (char *wifi_ssid, char *pass_word)
|
|||||||
// MAC<41><43>ַ<EFBFBD><D6B7>Ϣ<EFBFBD><CFA2><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>wifi_spi_mac_addr<64><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// MAC<41><43>ַ<EFBFBD><D6B7>Ϣ<EFBFBD><CFA2><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>wifi_spi_mac_addr<64><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
wifi_spi_get_mac_addr();
|
wifi_spi_get_mac_addr();
|
||||||
|
|
||||||
|
if(NULL == wifi_ssid)
|
||||||
|
{
|
||||||
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>WIFI
|
||||||
|
break;
|
||||||
|
}
|
||||||
return_state = wifi_spi_wifi_connect(wifi_ssid, pass_word);
|
return_state = wifi_spi_wifi_connect(wifi_ssid, pass_word);
|
||||||
if(return_state)
|
if(return_state)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -55,7 +55,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#define WIFI_SPI_INDEX (SPI_3 ) // <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD>SPI<50><49>
|
#define WIFI_SPI_INDEX (SPI_3 ) // <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD>SPI<50><49>
|
||||||
#define WIFI_SPI_SPEED (10 * 1000 * 1000 ) // Ӳ<><D3B2> SPI <20><><EFBFBD><EFBFBD>
|
#define WIFI_SPI_SPEED (20 * 1000 * 1000 ) // Ӳ<><D3B2> SPI <20><><EFBFBD><EFBFBD>
|
||||||
#define WIFI_SPI_SCK_PIN (SPI3_SCLK_P22_3 ) // <20><><EFBFBD><EFBFBD>SPI_SCK<43><4B><EFBFBD><EFBFBD>
|
#define WIFI_SPI_SCK_PIN (SPI3_SCLK_P22_3 ) // <20><><EFBFBD><EFBFBD>SPI_SCK<43><4B><EFBFBD><EFBFBD>
|
||||||
#define WIFI_SPI_MOSI_PIN (SPI3_MOSI_P22_0 ) // <20><><EFBFBD><EFBFBD>SPI_MOSI<53><49><EFBFBD><EFBFBD>
|
#define WIFI_SPI_MOSI_PIN (SPI3_MOSI_P22_0 ) // <20><><EFBFBD><EFBFBD>SPI_MOSI<53><49><EFBFBD><EFBFBD>
|
||||||
#define WIFI_SPI_MISO_PIN (SPI3_MISO_P22_1 ) // <20><><EFBFBD><EFBFBD>SPI_MISO<53><4F><EFBFBD><EFBFBD> IPSû<53><C3BB>MISO<53><4F><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>Ҫ<EFBFBD><D2AA><EFBFBD>壬<EFBFBD><E5A3AC>spi<70>ij<EFBFBD>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1>Ҫʹ<D2AA><CAB9>
|
#define WIFI_SPI_MISO_PIN (SPI3_MISO_P22_1 ) // <20><><EFBFBD><EFBFBD>SPI_MISO<53><4F><EFBFBD><EFBFBD> IPSû<53><C3BB>MISO<53><4F><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>Ҫ<EFBFBD><D2AA><EFBFBD>壬<EFBFBD><E5A3AC>spi<70>ij<EFBFBD>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1>Ҫʹ<D2AA><CAB9>
|
||||||
@@ -84,6 +84,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -95,10 +96,15 @@ typedef enum
|
|||||||
|
|
||||||
WIFI_SPI_SET_WIFI_INFORMATION = 0x10, // <20><><EFBFBD><EFBFBD>WIFI<46><49>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
WIFI_SPI_SET_WIFI_INFORMATION = 0x10, // <20><><EFBFBD><EFBFBD>WIFI<46><49>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
WIFI_SPI_SET_SOCKET_INFORMATION = 0x11, // <20><><EFBFBD><EFBFBD>SOCKET<45><54>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
WIFI_SPI_SET_SOCKET_INFORMATION = 0x11, // <20><><EFBFBD><EFBFBD>SOCKET<45><54>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
WIFI_SPI_SET_WIFI_SCAN = 0x12, // <20><>ʼɨ<CABC><C9A8>WIFI
|
||||||
|
WIFI_SPI_SET_READ_LENGTH = 0x13, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
WIFI_SPI_GET_VERSION = 0x20, // <20><>ȡģ<C8A1><C4A3><EFBFBD>汾
|
WIFI_SPI_GET_VERSION = 0x20, // <20><>ȡģ<C8A1><C4A3><EFBFBD>汾
|
||||||
WIFI_SPI_GET_MAC_ADDR = 0x21, // <20><>ȡģ<C8A1><C4A3>MAC<41><43>ַ
|
WIFI_SPI_GET_MAC_ADDR = 0x21, // <20><>ȡģ<C8A1><C4A3>MAC<41><43>ַ
|
||||||
WIFI_SPI_GET_IP_ADDR = 0x22, // <20><>ȡģ<C8A1><C4A3>IP<49><50>ַ
|
WIFI_SPI_GET_IP_ADDR = 0x22, // <20><>ȡģ<C8A1><C4A3>IP<49><50>ַ
|
||||||
|
WIFI_SPI_GET_TIME1 = 0x23, // <20><>ȡʱ<C8A1><CAB1> <20><>ʽ1
|
||||||
|
WIFI_SPI_GET_TIME2 = 0x24, // <20><>ȡʱ<C8A1><CAB1> <20><>ʽ2
|
||||||
|
WIFI_SPI_GET_TIME3 = 0x25, // <20><>ȡʱ<C8A1><CAB1> <20><>ʽ3
|
||||||
|
|
||||||
// <20>ӻ<EFBFBD><D3BB>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20>ӻ<EFBFBD><D3BB>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
WIFI_SPI_REPLY_OK = 0x80, // <20>ӻ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>
|
WIFI_SPI_REPLY_OK = 0x80, // <20>ӻ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>
|
||||||
@@ -110,6 +116,9 @@ typedef enum
|
|||||||
WIFI_SPI_REPLY_VERSION = 0xA0, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD><D8B8>̼<EFBFBD><CCBC>汾
|
WIFI_SPI_REPLY_VERSION = 0xA0, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD><D8B8>̼<EFBFBD><CCBC>汾
|
||||||
WIFI_SPI_REPLY_MAC_ADDR = 0xA1, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>MAC<41><43>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ϣ
|
WIFI_SPI_REPLY_MAC_ADDR = 0xA1, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>MAC<41><43>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ϣ
|
||||||
WIFI_SPI_REPLY_IP_ADDR = 0xA2, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>IP<49><50>ַ<EFBFBD><D6B7><EFBFBD>˿ں<CBBF>
|
WIFI_SPI_REPLY_IP_ADDR = 0xA2, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>IP<49><50>ַ<EFBFBD><D6B7><EFBFBD>˿ں<CBBF>
|
||||||
|
WIFI_SPI_REPLY_TIME1 = 0xA3, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD>ʱ<EFBFBD><CAB1>
|
||||||
|
WIFI_SPI_REPLY_TIME2 = 0xA4, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD>ʱ<EFBFBD><CAB1>
|
||||||
|
WIFI_SPI_REPLY_TIME3 = 0xA5, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD>ʱ<EFBFBD><CAB1>
|
||||||
WIFI_SPI_INVALID2 = 0xFF // <20><>Ч<EFBFBD><D0A7><EFBFBD>ݰ<EFBFBD>
|
WIFI_SPI_INVALID2 = 0xFF // <20><>Ч<EFBFBD><D0A7><EFBFBD>ݰ<EFBFBD>
|
||||||
}wifi_spi_packets_command_enum;
|
}wifi_spi_packets_command_enum;
|
||||||
|
|
||||||
@@ -134,19 +143,28 @@ typedef struct
|
|||||||
uint8 buffer[WIFI_SPI_RECVIVE_SIZE]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
uint8 buffer[WIFI_SPI_RECVIVE_SIZE]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
}wifi_spi_packets_struct;
|
}wifi_spi_packets_struct;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
WIFI_SPI_UTC_0 = 1, // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||||
|
WIFI_SPI_GMT, // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> ת<><D7AA>ΪGMT<4D><54>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><D7BA><EFBFBD><EFBFBD>GMT һ<><D2BB><EFBFBD><EFBFBD><EFBFBD>ڶԽ<DAB6><D4BD>ƶ˴<C6B6>ģ<EFBFBD><C4A3>ʹ<EFBFBD><CAB9>
|
||||||
|
WIFI_SPI_UTC_8, // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||||
|
}wifi_spi_time_enum;
|
||||||
|
|
||||||
extern char wifi_spi_version[12]; // <20>̼<EFBFBD><CCBC>汾 <20>ַ<EFBFBD><D6B7><EFBFBD>
|
extern char wifi_spi_version[12]; // <20>̼<EFBFBD><CCBC>汾 <20>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
extern char wifi_spi_mac_addr[20]; // ģ<><C4A3>MAC<41><43>ַ <20>ַ<EFBFBD><D6B7><EFBFBD>
|
extern char wifi_spi_mac_addr[20]; // ģ<><C4A3>MAC<41><43>ַ <20>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
extern char wifi_spi_ip_addr_port[25]; // IP<49><50>ַ<EFBFBD><D6B7><EFBFBD>˿ں<CBBF> <20>ַ<EFBFBD><D6B7><EFBFBD>
|
extern char wifi_spi_ip_addr_port[25]; // IP<49><50>ַ<EFBFBD><D6B7><EFBFBD>˿ں<CBBF> <20>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
|
|
||||||
uint8 wifi_spi_wifi_connect (char *wifi_ssid, char *pass_word);
|
uint8 wifi_spi_get_time (wifi_spi_time_enum time_format, char *buffer, uint8 buffer_size);
|
||||||
uint8 wifi_spi_socket_connect (char *transport_type, char *ip_addr, char *port, char *local_port);
|
uint8 wifi_spi_wifi_scan (char *buffer, uint16 buffer_size);
|
||||||
uint8 wifi_spi_socket_disconnect (void);
|
uint8 wifi_spi_wifi_connect (char *wifi_ssid, char *pass_word);
|
||||||
uint8 wifi_spi_udp_send_now (void);
|
uint8 wifi_spi_socket_connect (char *transport_type, char *ip_addr, char *port, char *local_port);
|
||||||
uint32 wifi_spi_send_buffer (const uint8 *buff, uint32 length);
|
uint8 wifi_spi_socket_disconnect (void);
|
||||||
uint32 wifi_spi_read_buffer (uint8 *buffer, uint32 length);
|
uint8 wifi_spi_udp_send_now (void);
|
||||||
|
uint32 wifi_spi_send_buffer (const uint8 *buff, uint32 length);
|
||||||
|
void wifi_spi_send_string (const char *string);
|
||||||
|
uint32 wifi_spi_read_buffer (uint8 *buffer, uint32 length);
|
||||||
|
|
||||||
uint8 wifi_spi_init (char *wifi_ssid, char *pass_word);
|
uint8 wifi_spi_init (char *wifi_ssid, char *pass_word);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
V3.4.2
|
||||||
|
<09><EFBFBD>printf<74>ض<EFBFBD><D8B6><EFBFBD><EFBFBD>еĺ궨<C4BA><EAB6A8>
|
||||||
|
<09><><EFBFBD><EFBFBD>WIFI_SPI<50><49><EFBFBD><EFBFBD>
|
||||||
V3.4.1
|
V3.4.1
|
||||||
<09>Ĵ<DEB8><C4B4>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>麯<EFBFBD><E9BAAF><EFBFBD>еķ<D0B5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
<09>Ĵ<DEB8><C4B4>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>麯<EFBFBD><E9BAAF><EFBFBD>еķ<D0B5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
<09><EFBFBD>ips200proע<6F><D7A2>
|
<09><EFBFBD>ips200proע<6F><D7A2>
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
int fputc(int ch, FILE *stream)
|
int fputc(int ch, FILE *stream)
|
||||||
{
|
{
|
||||||
uart_write_byte(DEBUG_UART_INDEX, (char)ch);
|
uart_write_byte(PRINTF_USE_UART, (char)ch);
|
||||||
|
|
||||||
return (ch);
|
return (ch);
|
||||||
}
|
}
|
||||||
@@ -71,7 +71,7 @@ int _write(int fd, char *buf, int len)
|
|||||||
int fgetc(FILE *f)
|
int fgetc(FILE *f)
|
||||||
{
|
{
|
||||||
#if PRINTF_OUTPUT_TYPE == 0
|
#if PRINTF_OUTPUT_TYPE == 0
|
||||||
return uart_read_byte(DEBUG_UART_INDEX);
|
return uart_read_byte(PRINTF_USE_UART);
|
||||||
#else
|
#else
|
||||||
uint8 buf;
|
uint8 buf;
|
||||||
wifi_spi_read_buffer(&buf, 1);
|
wifi_spi_read_buffer(&buf, 1);
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
* <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> zf_device_wifi_spi
|
* <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> zf_device_wifi_spi
|
||||||
* <20><>˾<EFBFBD><CBBE><EFBFBD><EFBFBD> <20>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
* <20><>˾<EFBFBD><CBBE><EFBFBD><EFBFBD> <20>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾
|
||||||
* <20>汾<EFBFBD><E6B1BE>Ϣ <20>鿴 libraries/doc <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> version <20>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
* <20>汾<EFBFBD><E6B1BE>Ϣ <20>鿴 libraries/doc <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> version <20>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ADS v1.9.20
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ADS v1.10.2
|
||||||
* <20><><EFBFBD><EFBFBD>ƽ̨ TC264D
|
* <20><><EFBFBD><EFBFBD>ƽ̨ TC264D
|
||||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> https://seekfree.taobao.com/
|
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> https://seekfree.taobao.com/
|
||||||
*
|
*
|
||||||
@@ -63,6 +63,21 @@
|
|||||||
#define SOCKET_CONNECT_TIME_OUT 50000 // <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
#define SOCKET_CONNECT_TIME_OUT 50000 // <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
||||||
#define OTHER_TIME_OUT 1000 // <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
#define OTHER_TIME_OUT 1000 // <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
#if ((WIFI_SPI_RECVIVE_SIZE < 32) || (WIFI_SPI_RECVIVE_SIZE > 4088))
|
||||||
|
#error "WIFI_SPI_RECVIVE_SIZE must be >= 32 or <= 4088"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if (WIFI_SPI_RECVIVE_SIZE >= WIFI_SPI_RECVIVE_FIFO_SIZE)
|
||||||
|
#error "WIFI_SPI_RECVIVE_FIFO_SIZE must be > WIFI_SPI_RECVIVE_SIZE"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if (WIFI_SPI_TRANSFER_SIZE != 4088)
|
||||||
|
#error "WIFI_SPI_TRANSFER_SIZE must be == 4088"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
char wifi_spi_version[12]; // <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>̼<EFBFBD><CCBC>汾<EFBFBD><E6B1BE>Ϣ
|
char wifi_spi_version[12]; // <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>̼<EFBFBD><CCBC>汾<EFBFBD><E6B1BE>Ϣ
|
||||||
char wifi_spi_mac_addr[20]; // <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>MAC<41><43>ַ<EFBFBD><D6B7>Ϣ
|
char wifi_spi_mac_addr[20]; // <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>MAC<41><43>ַ<EFBFBD><D6B7>Ϣ
|
||||||
char wifi_spi_ip_addr_port[25]; // <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>IP<49><50>ַ<EFBFBD><D6B7><EFBFBD>˿<EFBFBD><CBBF><EFBFBD>Ϣ
|
char wifi_spi_ip_addr_port[25]; // <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>IP<49><50>ַ<EFBFBD><D6B7><EFBFBD>˿<EFBFBD><CBBF><EFBFBD>Ϣ
|
||||||
@@ -271,8 +286,6 @@ static uint8 wifi_spi_get_version (void)
|
|||||||
{
|
{
|
||||||
memcpy(wifi_spi_version, temp_packets.buffer, temp_packets.head.length);
|
memcpy(wifi_spi_version, temp_packets.buffer, temp_packets.head.length);
|
||||||
}
|
}
|
||||||
return_state = (return_state == 0) ? (WIFI_SPI_REPLY_VERSION != temp_packets.head.command) : 1;
|
|
||||||
|
|
||||||
return return_state;
|
return return_state;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -293,8 +306,6 @@ static uint8 wifi_spi_get_mac_addr (void)
|
|||||||
{
|
{
|
||||||
memcpy(wifi_spi_mac_addr, temp_packets.buffer, temp_packets.head.length);
|
memcpy(wifi_spi_mac_addr, temp_packets.buffer, temp_packets.head.length);
|
||||||
}
|
}
|
||||||
return_state = (return_state == 0) ? (WIFI_SPI_REPLY_MAC_ADDR != temp_packets.head.command) : 1;
|
|
||||||
|
|
||||||
return return_state;
|
return return_state;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -316,7 +327,77 @@ static uint8 wifi_spi_get_ip_addr_port (void)
|
|||||||
{
|
{
|
||||||
memcpy(wifi_spi_ip_addr_port, temp_packets.buffer, temp_packets.head.length);
|
memcpy(wifi_spi_ip_addr_port, temp_packets.buffer, temp_packets.head.length);
|
||||||
}
|
}
|
||||||
return_state = (return_state == 0) ? (WIFI_SPI_REPLY_IP_ADDR != temp_packets.head.command) : 1;
|
return return_state;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIFI SPI <20><>ȡϵͳʱ<CDB3><CAB1>
|
||||||
|
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> time_format ʱ<><CAB1><EFBFBD><EFBFBD>ʽ
|
||||||
|
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> *buffer <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ַ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ30<33><30><EFBFBD>ֽ<EFBFBD>
|
||||||
|
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> buffer_size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
|
||||||
|
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0-<2D>ɹ<EFBFBD> 1-<2D><><EFBFBD><EFBFBD>
|
||||||
|
// ʹ<><CAB9>ʾ<EFBFBD><CABE>
|
||||||
|
// <20><>ע<EFBFBD><D7A2>Ϣ <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮ǰ<D6AE><C7B0>Ҫȷ<D2AA><C8B7>WIFIģ<49><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// <20><>ע<EFBFBD><D7A2>Ϣ <20><>WIFI SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߰汾֧<E6B1BE><D6A7>
|
||||||
|
// <20><>ע<EFBFBD><D7A2>Ϣ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϢΪ<CFA2>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>printf<74><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ鿴
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
uint8 wifi_spi_get_time (wifi_spi_time_enum time_format, char *buffer, uint8 buffer_size)
|
||||||
|
{
|
||||||
|
uint8 return_state = 1;
|
||||||
|
wifi_spi_packets_struct temp_packets;
|
||||||
|
uint8 send_cmd, receive_cmd;
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>30<33><30><EFBFBD>ֽ<EFBFBD>
|
||||||
|
// <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>V2<56>汾
|
||||||
|
if((30 <= buffer_size) && (!strncmp(wifi_spi_version, "V2", 2)))
|
||||||
|
{
|
||||||
|
send_cmd = WIFI_SPI_GET_TIME1 + time_format - WIFI_SPI_UTC_0;
|
||||||
|
receive_cmd = WIFI_SPI_REPLY_TIME1 + time_format - WIFI_SPI_UTC_0;
|
||||||
|
|
||||||
|
return_state = wifi_spi_get_parameter(send_cmd, &temp_packets, OTHER_TIME_OUT);
|
||||||
|
if((0 == return_state) && (receive_cmd == temp_packets.head.command))
|
||||||
|
{
|
||||||
|
return_state = (uint8)strncmp((const char *)temp_packets.buffer, "OK", 2);
|
||||||
|
if(0 == return_state)
|
||||||
|
{
|
||||||
|
memcpy(buffer, &temp_packets.buffer[3], temp_packets.head.length - 3);
|
||||||
|
buffer[temp_packets.head.length - 3] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return return_state;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIFI SPI ɨ<><C9A8><EFBFBD>ȵ<EFBFBD>
|
||||||
|
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *buffer <20><><EFBFBD><EFBFBD>ɨ<EFBFBD>赽<EFBFBD><E8B5BD><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD>Ϣ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ǿ<EFBFBD>ȣ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>ź<EFBFBD>ǿ<EFBFBD>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD>
|
||||||
|
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> buffer_size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>
|
||||||
|
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0-<2D>ɹ<EFBFBD> 1-<2D><><EFBFBD><EFBFBD>
|
||||||
|
// ʹ<><CAB9>ʾ<EFBFBD><CABE>
|
||||||
|
// <20><>ע<EFBFBD><D7A2>Ϣ <20><>WIFI SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߰汾֧<E6B1BE><D6A7>
|
||||||
|
// <20><>ע<EFBFBD><D7A2>Ϣ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϢΪ<CFA2>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>printf<74><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ鿴
|
||||||
|
// <20><>ע<EFBFBD><D7A2>Ϣ ÿһ<C3BF>а<EFBFBD><D0B0><EFBFBD>һ<EFBFBD><D2BB>wifi<66><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
uint8 wifi_spi_wifi_scan (char *buffer, uint16 buffer_size)
|
||||||
|
{
|
||||||
|
uint8 return_state;
|
||||||
|
|
||||||
|
// ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>V2<56>汾<EFBFBD>Ĺ̼<C4B9><CCBC><EFBFBD>֧<EFBFBD>ִ˹<D6B4><CBB9><EFBFBD>
|
||||||
|
if(!strncmp(wifi_spi_version, "V2", 2))
|
||||||
|
{
|
||||||
|
return_state = wifi_spi_set_parameter(WIFI_SPI_SET_WIFI_SCAN, NULL, 0, WIFI_CONNECT_TIME_OUT);
|
||||||
|
|
||||||
|
if(0 == return_state)
|
||||||
|
{
|
||||||
|
#if (0 == WIFI_SPI_READ_TRANSFER)
|
||||||
|
wifi_spi_send_buffer(NULL, 0);
|
||||||
|
#endif
|
||||||
|
while(0 == wifi_spi_read_buffer((uint8 *)buffer, buffer_size))
|
||||||
|
{
|
||||||
|
system_delay_ms(10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return return_state;
|
return return_state;
|
||||||
}
|
}
|
||||||
@@ -505,7 +586,7 @@ uint32 wifi_spi_send_buffer (const uint8 *buffer, uint32 length)
|
|||||||
|
|
||||||
while(length)
|
while(length)
|
||||||
{
|
{
|
||||||
send_length = length > WIFI_SPI_TRANSFER_SIZE ? (uint16)WIFI_SPI_TRANSFER_SIZE : (uint16)length;
|
send_length = (uint16) (length > WIFI_SPI_TRANSFER_SIZE ? WIFI_SPI_TRANSFER_SIZE : length);
|
||||||
|
|
||||||
if(wifi_spi_wait_idle(OTHER_TIME_OUT))
|
if(wifi_spi_wait_idle(OTHER_TIME_OUT))
|
||||||
{
|
{
|
||||||
@@ -555,6 +636,18 @@ uint32 wifi_spi_send_buffer (const uint8 *buffer, uint32 length)
|
|||||||
return length;
|
return length;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIFI SPI <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *string <20><>Ҫ<EFBFBD><D2AA><EFBFBD>͵<EFBFBD><CDB5>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
|
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> void
|
||||||
|
// ʹ<><CAB9>ʾ<EFBFBD><CABE> wifi_spi_send_string("123");
|
||||||
|
// <20><>ע<EFBFBD><D7A2>Ϣ
|
||||||
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
|
void wifi_spi_send_string(const char *string)
|
||||||
|
{
|
||||||
|
wifi_spi_send_buffer((uint8*)string, strlen(string));
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIFI SPI <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIFI SPI <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *buff <20><><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *buff <20><><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -566,32 +659,57 @@ uint32 wifi_spi_send_buffer (const uint8 *buffer, uint32 length)
|
|||||||
uint32 wifi_spi_read_buffer (uint8 *buffer, uint32 length)
|
uint32 wifi_spi_read_buffer (uint8 *buffer, uint32 length)
|
||||||
{
|
{
|
||||||
zf_assert(NULL != buffer);
|
zf_assert(NULL != buffer);
|
||||||
uint32 data_len = length;
|
uint32 fifo_read_length;
|
||||||
|
uint32 write_length = 0;
|
||||||
|
wifi_spi_packets_struct temp_packets;
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>FIFO<46><4F><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>FIFO<46><4F>ȡ
|
||||||
|
if(fifo_used(&wifi_spi_fifo))
|
||||||
|
{
|
||||||
|
fifo_read_length = fifo_used(&wifi_spi_fifo);
|
||||||
|
fifo_read_length = length < fifo_read_length ? length : fifo_read_length;
|
||||||
|
fifo_read_buffer(&wifi_spi_fifo, buffer, &fifo_read_length, FIFO_READ_AND_CLEAN);
|
||||||
|
|
||||||
|
buffer += fifo_read_length;
|
||||||
|
length -= fifo_read_length;
|
||||||
|
write_length += fifo_read_length;
|
||||||
|
}
|
||||||
|
|
||||||
#if(1 == WIFI_SPI_READ_TRANSFER)
|
#if(1 == WIFI_SPI_READ_TRANSFER)
|
||||||
|
|
||||||
wifi_spi_packets_struct temp_packets;
|
|
||||||
// <20><><EFBFBD><EFBFBD>WIFI SPI״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϻ<D0B6><CFBB><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨѶ<CDA8><D1B6><EFBFBD>β<F2B1BEB4><CEB2>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
if(WIFI_SPI_IDLE == wifi_spi_mutex)
|
if(WIFI_SPI_IDLE == wifi_spi_mutex)
|
||||||
{
|
{
|
||||||
// <20><>ͨѶ״̬<D7B4><CCAC><EFBFBD><EFBFBD>Ϊæ
|
wifi_spi_mutex = WIFI_SPI_BUSY; // <20><>ͨѶ״̬<D7B4><CCAC><EFBFBD><EFBFBD>Ϊæ
|
||||||
wifi_spi_mutex = WIFI_SPI_BUSY;
|
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>ͨѶ<CDA8>鿴ģ<E9BFB4><C4A3><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4>ȡ
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
if(wifi_spi_wait_idle(OTHER_TIME_OUT))
|
if( (WIFI_SPI_RECVIVE_SIZE > wifi_spi_fifo.size) || // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ䲻<D5BC><E4B2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>ȡ
|
||||||
|
(wifi_spi_wait_idle(OTHER_TIME_OUT)) // <20><>ʱ<EFBFBD>˳<EFBFBD>
|
||||||
|
)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
temp_packets.head.command = WIFI_SPI_DATA;
|
temp_packets.head.command = WIFI_SPI_DATA;
|
||||||
temp_packets.head.length = 0;
|
temp_packets.head.length = 0;
|
||||||
wifi_spi_transfer_command(&temp_packets, WIFI_SPI_RECVIVE_SIZE);
|
wifi_spi_transfer_command(&temp_packets, WIFI_SPI_RECVIVE_SIZE);
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5>İ<EFBFBD><C4B0><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5>İ<EFBFBD><C4B0><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
if((WIFI_SPI_REPLY_DATA_START == temp_packets.head.command) || (WIFI_SPI_REPLY_DATA_END == temp_packets.head.command))
|
if( ((WIFI_SPI_REPLY_DATA_START == temp_packets.head.command) || (WIFI_SPI_REPLY_DATA_END == temp_packets.head.command)) &&
|
||||||
|
(temp_packets.head.length)
|
||||||
|
)
|
||||||
{
|
{
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
if(length)
|
||||||
if(temp_packets.head.length)
|
{
|
||||||
|
fifo_read_length = length >= temp_packets.head.length ? temp_packets.head.length : length;
|
||||||
|
memcpy(buffer, temp_packets.buffer, fifo_read_length);
|
||||||
|
buffer += fifo_read_length;
|
||||||
|
length -= fifo_read_length;
|
||||||
|
write_length += fifo_read_length;
|
||||||
|
if(fifo_read_length < temp_packets.head.length) // <20>ⲿ<EFBFBD><E2B2BF><EFBFBD>岻<EFBFBD><E5B2BB><EFBFBD><EFBFBD><EFBFBD>ಿ<EFBFBD><E0B2BF>д<EFBFBD><D0B4>FIFO
|
||||||
|
{
|
||||||
|
fifo_write_buffer(&wifi_spi_fifo, temp_packets.buffer + fifo_read_length, temp_packets.head.length - fifo_read_length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else // ȫ<><C8AB>д<EFBFBD><D0B4>FIFO
|
||||||
{
|
{
|
||||||
fifo_write_buffer(&wifi_spi_fifo, temp_packets.buffer, temp_packets.head.length);
|
fifo_write_buffer(&wifi_spi_fifo, temp_packets.buffer, temp_packets.head.length);
|
||||||
}
|
}
|
||||||
@@ -599,10 +717,9 @@ uint32 wifi_spi_read_buffer (uint8 *buffer, uint32 length)
|
|||||||
}while(WIFI_SPI_REPLY_DATA_START == temp_packets.head.command);
|
}while(WIFI_SPI_REPLY_DATA_START == temp_packets.head.command);
|
||||||
wifi_spi_mutex = WIFI_SPI_IDLE;
|
wifi_spi_mutex = WIFI_SPI_IDLE;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
fifo_read_buffer(&wifi_spi_fifo, buffer, &data_len, FIFO_READ_AND_CLEAN);
|
return write_length;
|
||||||
return data_len;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -618,7 +735,7 @@ uint8 wifi_spi_init (char *wifi_ssid, char *pass_word)
|
|||||||
uint8 return_state = 0;
|
uint8 return_state = 0;
|
||||||
|
|
||||||
fifo_init(&wifi_spi_fifo, FIFO_DATA_8BIT, wifi_spi_buffer, WIFI_SPI_RECVIVE_FIFO_SIZE);
|
fifo_init(&wifi_spi_fifo, FIFO_DATA_8BIT, wifi_spi_buffer, WIFI_SPI_RECVIVE_FIFO_SIZE);
|
||||||
spi_init(WIFI_SPI_INDEX, SPI_MODE0, WIFI_SPI_SPEED, WIFI_SPI_SCK_PIN, WIFI_SPI_MOSI_PIN, WIFI_SPI_MISO_PIN, SPI_CS_NULL);//Ӳ<><D3B2>SPI<50><49>ʼ<EFBFBD><CABC>
|
spi_init(WIFI_SPI_INDEX, SPI_MODE3, WIFI_SPI_SPEED, WIFI_SPI_SCK_PIN, WIFI_SPI_MOSI_PIN, WIFI_SPI_MISO_PIN, SPI_CS_NULL);//Ӳ<><D3B2>SPI<50><49>ʼ<EFBFBD><CABC>
|
||||||
gpio_init(WIFI_SPI_CS_PIN, GPO, 1, GPO_PUSH_PULL);
|
gpio_init(WIFI_SPI_CS_PIN, GPO, 1, GPO_PUSH_PULL);
|
||||||
gpio_init(WIFI_SPI_RST_PIN, GPO, 1, GPO_PUSH_PULL);
|
gpio_init(WIFI_SPI_RST_PIN, GPO, 1, GPO_PUSH_PULL);
|
||||||
gpio_init(WIFI_SPI_INT_PIN, GPI, 0, GPI_PULL_DOWN);
|
gpio_init(WIFI_SPI_INT_PIN, GPI, 0, GPI_PULL_DOWN);
|
||||||
@@ -644,7 +761,11 @@ uint8 wifi_spi_init (char *wifi_ssid, char *pass_word)
|
|||||||
// MAC<41><43>ַ<EFBFBD><D6B7>Ϣ<EFBFBD><CFA2><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>wifi_spi_mac_addr<64><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// MAC<41><43>ַ<EFBFBD><D6B7>Ϣ<EFBFBD><CFA2><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>wifi_spi_mac_addr<64><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
wifi_spi_get_mac_addr();
|
wifi_spi_get_mac_addr();
|
||||||
|
|
||||||
|
if(NULL == wifi_ssid)
|
||||||
|
{
|
||||||
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>WIFI
|
||||||
|
break;
|
||||||
|
}
|
||||||
return_state = wifi_spi_wifi_connect(wifi_ssid, pass_word);
|
return_state = wifi_spi_wifi_connect(wifi_ssid, pass_word);
|
||||||
if(return_state)
|
if(return_state)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -95,10 +95,15 @@ typedef enum
|
|||||||
|
|
||||||
WIFI_SPI_SET_WIFI_INFORMATION = 0x10, // <20><><EFBFBD><EFBFBD>WIFI<46><49>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
WIFI_SPI_SET_WIFI_INFORMATION = 0x10, // <20><><EFBFBD><EFBFBD>WIFI<46><49>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
WIFI_SPI_SET_SOCKET_INFORMATION = 0x11, // <20><><EFBFBD><EFBFBD>SOCKET<45><54>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
WIFI_SPI_SET_SOCKET_INFORMATION = 0x11, // <20><><EFBFBD><EFBFBD>SOCKET<45><54>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||||
|
WIFI_SPI_SET_WIFI_SCAN = 0x12, // <20><>ʼɨ<CABC><C9A8>WIFI
|
||||||
|
WIFI_SPI_SET_READ_LENGTH = 0x13, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
WIFI_SPI_GET_VERSION = 0x20, // <20><>ȡģ<C8A1><C4A3><EFBFBD>汾
|
WIFI_SPI_GET_VERSION = 0x20, // <20><>ȡģ<C8A1><C4A3><EFBFBD>汾
|
||||||
WIFI_SPI_GET_MAC_ADDR = 0x21, // <20><>ȡģ<C8A1><C4A3>MAC<41><43>ַ
|
WIFI_SPI_GET_MAC_ADDR = 0x21, // <20><>ȡģ<C8A1><C4A3>MAC<41><43>ַ
|
||||||
WIFI_SPI_GET_IP_ADDR = 0x22, // <20><>ȡģ<C8A1><C4A3>IP<49><50>ַ
|
WIFI_SPI_GET_IP_ADDR = 0x22, // <20><>ȡģ<C8A1><C4A3>IP<49><50>ַ
|
||||||
|
WIFI_SPI_GET_TIME1 = 0x23, // <20><>ȡʱ<C8A1><CAB1> <20><>ʽ1
|
||||||
|
WIFI_SPI_GET_TIME2 = 0x24, // <20><>ȡʱ<C8A1><CAB1> <20><>ʽ2
|
||||||
|
WIFI_SPI_GET_TIME3 = 0x25, // <20><>ȡʱ<C8A1><CAB1> <20><>ʽ3
|
||||||
|
|
||||||
// <20>ӻ<EFBFBD><D3BB>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20>ӻ<EFBFBD><D3BB>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
WIFI_SPI_REPLY_OK = 0x80, // <20>ӻ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>
|
WIFI_SPI_REPLY_OK = 0x80, // <20>ӻ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>
|
||||||
@@ -110,6 +115,9 @@ typedef enum
|
|||||||
WIFI_SPI_REPLY_VERSION = 0xA0, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD><D8B8>̼<EFBFBD><CCBC>汾
|
WIFI_SPI_REPLY_VERSION = 0xA0, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD><D8B8>̼<EFBFBD><CCBC>汾
|
||||||
WIFI_SPI_REPLY_MAC_ADDR = 0xA1, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>MAC<41><43>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ϣ
|
WIFI_SPI_REPLY_MAC_ADDR = 0xA1, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>MAC<41><43>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ϣ
|
||||||
WIFI_SPI_REPLY_IP_ADDR = 0xA2, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>IP<49><50>ַ<EFBFBD><D6B7><EFBFBD>˿ں<CBBF>
|
WIFI_SPI_REPLY_IP_ADDR = 0xA2, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>IP<49><50>ַ<EFBFBD><D6B7><EFBFBD>˿ں<CBBF>
|
||||||
|
WIFI_SPI_REPLY_TIME1 = 0xA3, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD>ʱ<EFBFBD><CAB1>
|
||||||
|
WIFI_SPI_REPLY_TIME2 = 0xA4, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD>ʱ<EFBFBD><CAB1>
|
||||||
|
WIFI_SPI_REPLY_TIME3 = 0xA5, // <20>ӻ<EFBFBD><D3BB>ظ<EFBFBD>ʱ<EFBFBD><CAB1>
|
||||||
WIFI_SPI_INVALID2 = 0xFF // <20><>Ч<EFBFBD><D0A7><EFBFBD>ݰ<EFBFBD>
|
WIFI_SPI_INVALID2 = 0xFF // <20><>Ч<EFBFBD><D0A7><EFBFBD>ݰ<EFBFBD>
|
||||||
}wifi_spi_packets_command_enum;
|
}wifi_spi_packets_command_enum;
|
||||||
|
|
||||||
@@ -134,19 +142,27 @@ typedef struct
|
|||||||
uint8 buffer[WIFI_SPI_RECVIVE_SIZE]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
uint8 buffer[WIFI_SPI_RECVIVE_SIZE]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
}wifi_spi_packets_struct;
|
}wifi_spi_packets_struct;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
WIFI_SPI_UTC_0 = 1, // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||||
|
WIFI_SPI_GMT, // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> ת<><D7AA>ΪGMT<4D><54>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><D7BA><EFBFBD><EFBFBD>GMT һ<><D2BB><EFBFBD><EFBFBD><EFBFBD>ڶԽ<DAB6><D4BD>ƶ˴<C6B6>ģ<EFBFBD><C4A3>ʹ<EFBFBD><CAB9>
|
||||||
|
WIFI_SPI_UTC_8, // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||||
|
}wifi_spi_time_enum;
|
||||||
|
|
||||||
extern char wifi_spi_version[12]; // <20>̼<EFBFBD><CCBC>汾 <20>ַ<EFBFBD><D6B7><EFBFBD>
|
extern char wifi_spi_version[12]; // <20>̼<EFBFBD><CCBC>汾 <20>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
extern char wifi_spi_mac_addr[20]; // ģ<><C4A3>MAC<41><43>ַ <20>ַ<EFBFBD><D6B7><EFBFBD>
|
extern char wifi_spi_mac_addr[20]; // ģ<><C4A3>MAC<41><43>ַ <20>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
extern char wifi_spi_ip_addr_port[25]; // IP<49><50>ַ<EFBFBD><D6B7><EFBFBD>˿ں<CBBF> <20>ַ<EFBFBD><D6B7><EFBFBD>
|
extern char wifi_spi_ip_addr_port[25]; // IP<49><50>ַ<EFBFBD><D6B7><EFBFBD>˿ں<CBBF> <20>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
|
|
||||||
uint8 wifi_spi_wifi_connect (char *wifi_ssid, char *pass_word);
|
uint8 wifi_spi_get_time (wifi_spi_time_enum time_format, char *buffer, uint8 buffer_size);
|
||||||
uint8 wifi_spi_socket_connect (char *transport_type, char *ip_addr, char *port, char *local_port);
|
uint8 wifi_spi_wifi_scan (char *buffer, uint16 buffer_size);
|
||||||
uint8 wifi_spi_socket_disconnect (void);
|
uint8 wifi_spi_wifi_connect (char *wifi_ssid, char *pass_word);
|
||||||
uint8 wifi_spi_udp_send_now (void);
|
uint8 wifi_spi_socket_connect (char *transport_type, char *ip_addr, char *port, char *local_port);
|
||||||
uint32 wifi_spi_send_buffer (const uint8 *buff, uint32 length);
|
uint8 wifi_spi_socket_disconnect (void);
|
||||||
uint32 wifi_spi_read_buffer (uint8 *buffer, uint32 length);
|
uint8 wifi_spi_udp_send_now (void);
|
||||||
|
uint32 wifi_spi_send_buffer (const uint8 *buff, uint32 length);
|
||||||
|
void wifi_spi_send_string (const char *string);
|
||||||
|
uint32 wifi_spi_read_buffer (uint8 *buffer, uint32 length);
|
||||||
|
|
||||||
uint8 wifi_spi_init (char *wifi_ssid, char *pass_word);
|
uint8 wifi_spi_init (char *wifi_ssid, char *pass_word);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ int core0_main(void)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// <20>˴<EFBFBD><CBB4><EFBFBD>д<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20>˴<EFBFBD><CBB4><EFBFBD>д<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
cpu_wait_event_ready(); // <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD>к<EFBFBD><D0BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
cpu_wait_event_ready(); // <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD>к<EFBFBD><D0BA>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
while (TRUE)
|
while (TRUE)
|
||||||
|
|||||||
Reference in New Issue
Block a user