下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

最新资讯
简化任何设备的身份验证云连接。
利用 CoAP 设计节能型云连接 IoT 解决方案。
11.0.0 版 FreeRTOS 内核简介:
FreeRTOS 路线图和代码贡献流程。
使用 FreeRTOS 实现 OPC-UA over TSN。

xSendEventStructToIPTask()
[以太网驱动程序移植 API]

FreeRTOS_IP_Private.h
BaseType_t xSendEventStructToIPTask( const IPStackEvent_t *pxEvent, TickType_t xTimeout );
		

xSendEventStructToIPTask() 在整个嵌入式 TCP/IP 堆栈的 实现中被用于将各种事件发送至 RTOS 任务, 该任务正在运行嵌入式 TCP/IP 堆栈。 此函数可在 网络端口层使用, 以便网络端口层可以将接收事件发送到相同的 RTOS 任务。


参数:

pxEvent   指向 IPStackEvent_t 类型的结构体的指针。


typedef struct IP_TASK_COMMANDS
{
/* Specifies the type of event being posted to the RTOS task. Must be set to
eNetworkRxEvent to signify a receive event. */

eIPEvent_t eEventType;

/* Points to additional data about the event. Set pvData to the address
of the network buffer descriptor that references the received frame. */

void *pvData;
} IPStackEvent_t;

The IPStackEvent_t type

xTimeout   无法立即发送消息时,等待发送消息的时间(以 RTOS tick 为单位), 消息将发送至 RTOS 任务, 该任务正在运行嵌入式 TCP/IP 堆栈。 如果 网络事件队列已满,可能无法立即发送消息。

返回:

如果事件已成功发送至 RTOS 任务, 而该任务正在运行嵌入式 TCP/IP 堆栈,则返回 pdPASS。 如果 xTimeout 大于 零,则调用任务可能已保持在阻塞状态(因此 不消耗任何 CPU 时间)以等待消息发送,但 在函数返回之前,消息已成功发送。

如果事件无法发送至 RTOS 任务 (正在运行嵌入式 TCP/IP 堆栈),且 网络事件队列 已满,则返回 pdFAIL。 如果 xTimeout 大于零,则 调用任务可能已保持在阻塞状态以等待 网络事件队列上的可用空间,但在那之前 阻塞时间已过期。

用法示例:

有关示例,请参阅 将 FreeRTOS 移植到不同的微控制器 页面。 在该页面搜索 xSendEventStructToIPTask() 以查找示例 源代码。

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.