Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 88 additions & 5 deletions bsp/nxp/mcx/mcxa/frdm-mcxa346/.config
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,9 @@ CONFIG_FINSH_USING_OPTION_COMPLETION=y
# CONFIG_RT_USING_DEV_BUS is not set
CONFIG_RT_USING_DEVICE_IPC=y
CONFIG_RT_UNAMED_PIPE_NUMBER=64
# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set
CONFIG_RT_USING_SYSTEM_WORKQUEUE=y
CONFIG_RT_SYSTEM_WORKQUEUE_STACKSIZE=2048
CONFIG_RT_SYSTEM_WORKQUEUE_PRIORITY=23
CONFIG_RT_USING_SERIAL=y
CONFIG_RT_USING_SERIAL_V1=y
# CONFIG_RT_USING_SERIAL_V2 is not set
Expand Down Expand Up @@ -337,10 +339,39 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# Network
#
# CONFIG_RT_USING_SAL is not set
# CONFIG_RT_USING_NETDEV is not set
CONFIG_RT_USING_SAL=y
CONFIG_SAL_INTERNET_CHECK=y
CONFIG_SOCKET_TABLE_STEP_LEN=4

#
# Docking with protocol stacks
#
# CONFIG_SAL_USING_LWIP is not set
CONFIG_SAL_USING_AT=y
# CONFIG_SAL_USING_TLS is not set
# end of Docking with protocol stacks

CONFIG_SAL_SOCKETS_NUM=16
CONFIG_RT_USING_NETDEV=y
CONFIG_NETDEV_USING_IFCONFIG=y
CONFIG_NETDEV_USING_PING=y
CONFIG_NETDEV_USING_NETSTAT=y
CONFIG_NETDEV_USING_AUTO_DEFAULT=y
# CONFIG_NETDEV_USING_LINK_STATUS_CALLBACK is not set
# CONFIG_NETDEV_USING_IPV6 is not set
CONFIG_NETDEV_IPV4=1
CONFIG_NETDEV_IPV6=0
# CONFIG_RT_USING_LWIP is not set
# CONFIG_RT_USING_AT is not set
CONFIG_RT_USING_AT=y
# CONFIG_AT_DEBUG is not set
# CONFIG_AT_USING_SERVER is not set
CONFIG_AT_USING_CLIENT=y
CONFIG_AT_CLIENT_NUM_MAX=1
CONFIG_AT_USING_SOCKET=y
# CONFIG_AT_USING_SOCKET_SERVER is not set
CONFIG_AT_USING_CLI=y
# CONFIG_AT_PRINT_RAW_CMD is not set
CONFIG_AT_SW_VERSION_NUM=0x10301
# end of Network

#
Expand Down Expand Up @@ -444,7 +475,48 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_NETUTILS is not set
# CONFIG_PKG_USING_CMUX is not set
# CONFIG_PKG_USING_PPP_DEVICE is not set
# CONFIG_PKG_USING_AT_DEVICE is not set
CONFIG_PKG_USING_AT_DEVICE=y
CONFIG_PKG_AT_DEVICE_PATH="/packages/iot/at_device"
# CONFIG_AT_DEVICE_USING_M26 is not set
# CONFIG_AT_DEVICE_USING_EC20 is not set
# CONFIG_AT_DEVICE_USING_ESP32 is not set
CONFIG_AT_DEVICE_USING_ESP8266=y
# CONFIG_AT_DEVICE_ESP8266_INIT_ASYN is not set
CONFIG_AT_DEVICE_ESP8266_SOCKET=y
CONFIG_AT_DEVICE_ESP8266_SAMPLE=y
# CONFIG_AT_DEVICE_ESP8266_SAMPLE_BSP_TAKEOVER is not set
CONFIG_ESP8266_SAMPLE_WIFI_SSID="332266"
CONFIG_ESP8266_SAMPLE_WIFI_PASSWORD="wasd8888"
CONFIG_ESP8266_SAMPLE_CLIENT_NAME="uart3"
CONFIG_ESP8266_SAMPLE_RECV_BUFF_LEN=512
# CONFIG_AT_DEVICE_USING_RW007 is not set
# CONFIG_AT_DEVICE_USING_SIM800C is not set
# CONFIG_AT_DEVICE_USING_SIM76XX is not set
# CONFIG_AT_DEVICE_USING_MW31 is not set
# CONFIG_AT_DEVICE_USING_W60X is not set
# CONFIG_AT_DEVICE_USING_A9G is not set
# CONFIG_AT_DEVICE_USING_BC26 is not set
# CONFIG_AT_DEVICE_USING_AIR720 is not set
# CONFIG_AT_DEVICE_USING_ME3616 is not set
# CONFIG_AT_DEVICE_USING_M6315 is not set
# CONFIG_AT_DEVICE_USING_BC28 is not set
# CONFIG_AT_DEVICE_USING_EC200X is not set
# CONFIG_AT_DEVICE_USING_N21 is not set
# CONFIG_AT_DEVICE_USING_N58 is not set
# CONFIG_AT_DEVICE_USING_M5311 is not set
# CONFIG_AT_DEVICE_USING_L610 is not set
# CONFIG_AT_DEVICE_USING_N720 is not set
# CONFIG_AT_DEVICE_USING_ML305 is not set
# CONFIG_AT_DEVICE_USING_ML307 is not set
# CONFIG_PKG_USING_AT_DEVICE_V210 is not set
# CONFIG_PKG_USING_AT_DEVICE_V204 is not set
# CONFIG_PKG_USING_AT_DEVICE_V203 is not set
# CONFIG_PKG_USING_AT_DEVICE_V202 is not set
# CONFIG_PKG_USING_AT_DEVICE_V201 is not set
# CONFIG_PKG_USING_AT_DEVICE_V200 is not set
CONFIG_PKG_USING_AT_DEVICE_LATEST_VERSION=y
CONFIG_PKG_AT_DEVICE_VER="latest"
CONFIG_PKG_AT_DEVICE_VER_NUM=0x99999
# CONFIG_PKG_USING_ATSRV_SOCKET is not set
# CONFIG_PKG_USING_WIZNET is not set
# CONFIG_PKG_USING_ZB_COORDINATOR is not set
Expand Down Expand Up @@ -645,6 +717,9 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_RVBACKTRACE is not set
# CONFIG_PKG_USING_HPATCHLITE is not set
# CONFIG_PKG_USING_THREAD_METRIC is not set
# CONFIG_PKG_USING_UORB is not set
# CONFIG_PKG_USING_RT_TUNNEL is not set
# CONFIG_PKG_USING_VIRTUAL_TERMINAL is not set
# end of tools packages

#
Expand Down Expand Up @@ -739,6 +814,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_R_RHEALSTONE is not set
# CONFIG_PKG_USING_HEARTBEAT is not set
# CONFIG_PKG_USING_MICRO_ROS_RTTHREAD_PACKAGE is not set
# CONFIG_PKG_USING_CHERRYECAT is not set
# end of system packages

#
Expand Down Expand Up @@ -901,6 +977,12 @@ CONFIG_PKG_NXP_MCX_SERIES_DRIVER_VER="latest"
# CONFIG_PKG_USING_GD32_ARM_CMSIS_DRIVER is not set
# CONFIG_PKG_USING_GD32_ARM_SERIES_DRIVER is not set
# end of GD32 Drivers

#
# HPMicro SDK
#
# CONFIG_PKG_USING_HPM_SDK is not set
# end of HPMicro SDK
# end of HAL & SDK Drivers

#
Expand Down Expand Up @@ -949,6 +1031,7 @@ CONFIG_PKG_NXP_MCX_SERIES_DRIVER_VER="latest"
# CONFIG_PKG_USING_MLX90393 is not set
# CONFIG_PKG_USING_MLX90392 is not set
# CONFIG_PKG_USING_MLX90394 is not set
# CONFIG_PKG_USING_MLX90396 is not set
# CONFIG_PKG_USING_MLX90397 is not set
# CONFIG_PKG_USING_MS5611 is not set
# CONFIG_PKG_USING_MAX31865 is not set
Expand Down
122 changes: 122 additions & 0 deletions bsp/nxp/mcx/mcxa/frdm-mcxa346/applications/at_sample_client.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
/*
* Copyright (c) 2006-2023, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2018-07-06 chenyong first version
*/

#include <stdlib.h>
#include <string.h>

#include <rtthread.h>
#include <at.h>

#define LOG_TAG "at.sample"
#include <at_log.h>

#define AT_CMD_MAX_LEN 512

/* AT+CIFSR Query local IP address and MAC */
int at_client_test(int argc, char **argv)
{
at_response_t resp = RT_NULL;
int result = 0;

if (argc != 1)
{
LOG_E("at_client_test - AT client send commands to AT server.");
return -1;
}

resp = at_create_resp(256, 0, rt_tick_from_millisecond(5000));
if (resp == RT_NULL)
{
LOG_E("No memory for response structure!");
return -2;
}

/* close echo */
at_exec_cmd(resp, "ATE0");

result = at_exec_cmd(resp, "AT+CIFSR");
if (result != RT_EOK)
{
LOG_E("AT client send commands failed or return response error!");
goto __exit;
}

/* Print response line buffer */
{
const char *line_buffer = RT_NULL;

LOG_D("Response buffer");

for(rt_size_t line_num = 1; line_num <= resp->line_counts; line_num++)
{
if((line_buffer = at_resp_get_line(resp, line_num)) != RT_NULL)
{
LOG_D("line %d buffer : %s", line_num, line_buffer);
}
else
{
LOG_E("Parse line buffer error!");
}
}
}

{
char resp_arg[AT_CMD_MAX_LEN] = { 0 };
const char * resp_expr = "%*[^\"]\"%[^\"]\"";

LOG_D(" Parse arguments");
if (at_resp_parse_line_args(resp, 1, resp_expr, resp_arg) == 1)
{
LOG_D("Station IP : %s", resp_arg);
rt_memset(resp_arg, 0x00, AT_CMD_MAX_LEN);
}
else
{
LOG_E("Parse error, current line buff : %s", at_resp_get_line(resp, 4));
}

if (at_resp_parse_line_args(resp, 2, resp_expr, resp_arg) == 1)
{
LOG_D("Station MAC : %s", resp_arg);
}
else
{
LOG_E("Parse error, current line buff : %s", at_resp_get_line(resp, 5));
goto __exit;
}
}
__exit:
if(resp)
{
at_delete_resp(resp);
}

return result;
}

int at_client_test_init(int argc, char **argv)
{
#define AT_CLIENT_RECV_BUFF_LEN 1024
#define AT_CLIENT_SEND_BUFF_LEN 512
if (argc != 2)
{
rt_kprintf("at_client_init <dev_name> -- AT client initialize.\n");
return -RT_ERROR;
}

at_client_init(argv[1], AT_CLIENT_RECV_BUFF_LEN, AT_CLIENT_SEND_BUFF_LEN);

return RT_EOK;
}
#ifdef FINSH_USING_MSH
#include <finsh.h>
MSH_CMD_EXPORT(at_client_test, AT client send cmd and get response);
MSH_CMD_EXPORT_ALIAS(at_client_test_init, at_client_init, initialize AT client);
#endif
52 changes: 52 additions & 0 deletions bsp/nxp/mcx/mcxa/frdm-mcxa346/applications/uart3_test.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#include <rtthread.h>

#define TX_UART_NAME "uart3"

static rt_device_t tx_serial = RT_NULL;

/* ����������ں��� */
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

注释部分编码不对

static void serial_tx_thread(void *parameter)
{
char msg[] = "hello RT-Thread!\r\n";

while (1)
{
rt_device_write(tx_serial, 0, msg, sizeof(msg) - 1);
rt_thread_mdelay(500); /* ÿ 500ms ��һ�� */
}
}

/* ��ʼ����������ϵͳ������ɺ��Զ����� */
int uart3_tx_init(void)
{
/* ���� uart3 �豸 */
tx_serial = rt_device_find(TX_UART_NAME);
if (tx_serial == RT_NULL)
{
rt_kprintf("Cannot find %s device!\n", TX_UART_NAME);
return -1;
}

/* ���豸�������ͣ�����Ҫ���գ� */
rt_device_open(tx_serial, RT_DEVICE_FLAG_WRONLY);

/* �����߳� */
rt_thread_t tid = rt_thread_create(
"uart3_tx", /* �߳��� */
serial_tx_thread, /* ��ں��� */
RT_NULL, /* ���� */
1024, /* ջ��С */
20, /* ���ȼ� */
10 /* ʱ��Ƭ */
);

if (tid != RT_NULL)
rt_thread_startup(tid);
else
rt_kprintf("Create uart3_tx thread failed!\n");

return 0;
}
//INIT_APP_EXPORT(uart3_tx_init);
/* ������ msh ������� */
MSH_CMD_EXPORT(uart3_tx_init, uart3 device test);
Loading