Renesas APIs ***

一个线程,强行结束另外一个线程,并将其挂起:

static void SuspendTask(TX_THREAD *thread)
{
    UINT status = 0;
    UINT state;

    status = tx_thread_terminate(thread);
    if(status != TX_SUCCESS)
        return ;
    do
    {
        tx_thread_sleep(1);
        status = tx_thread_info_get(thread, NULL, &state, NULL, NULL, NULL, NULL, NULL, NULL);
        if (status != TX_SUCCESS)
        {
            xp_log("can not get clean thread status (0x%02x)\r\n", status);
            break;
        }
    } while (!(state & (TX_COMPLETED | TX_TERMINATED)));
    tx_thread_reset(thread);
}

启动

static void StartRawTask(void)
{
    UINT status = 0;
    UINT state;

    status = tx_thread_info_get(&rawThread, NULL, &state, NULL, NULL, NULL, NULL, NULL, NULL);
    if(status == TX_SUCCESS)
    {
        if(state == TX_SUSPENDED)
            tx_thread_resume(&rawThread);
    }
    else
        tx_thread_create(&rawThread, (CHAR *) "raw thread", RawThreadCallback, (ULONG)(&MaterialBoxTempT3), &raw_stack, COMMON_THREAD_STACK, 6, 6, 0, TX_AUTO_START);
}

 

 

nx_api.h

nx_ip_address_get

nx_packet_pool_create

nx_packet_pool_info_get

nx_tcp_socket_bytes_available

nx_tcp_socket_info_get

nx_tcp_socket_mss_get

系统重启

NVIC_SystemReset

static ULONG _get_time(void)
{
    ULONG seconds, milliseconds;
    UINT status;

    /* Get local time as set by SNTP client */
    status = nx_sntp_client_get_local_time(&g_sntp_client, &seconds, &milliseconds, NX_NULL);
    if (status != NX_SUCCESS)
        return 0;

    /* Convert to Unix epoch */
    seconds -= UNIX_TO_NTP_EPOCH_SECS;

    return seconds;
}

 

TCP/UDP

nx_tcp_client_socket_bind
nx_tcp_server_socket_accept
nx_tcp_server_socket_listen
nx_tcp_socket_create

 

/* APIs for packet pool. */ 
/* APIs for packet pool. */
#define nx_packet_allocate                              _nxe_packet_allocate
#define nx_packet_copy                                  _nxe_packet_copy
#define nx_packet_data_append                           _nxe_packet_data_append
#define nx_packet_data_extract_offset                   _nxe_packet_data_extract_offset
#define nx_packet_data_retrieve                         _nxe_packet_data_retrieve
#define nx_packet_length_get                            _nxe_packet_length_get
#define nx_packet_pool_create(p, n, l, m, s)            _nxe_packet_pool_create(p, n, l, m, s, sizeof(NX_PACKET_POOL))
#define nx_packet_pool_delete                           _nxe_packet_pool_delete
#define nx_packet_pool_info_get                         _nxe_packet_pool_info_get
#define nx_packet_pool_low_watermark_set                _nxe_packet_pool_low_watermark_set
#define nx_packet_release(p)                            _nxe_packet_release(&p)
#define nx_packet_transmit_release(p)                   _nxe_packet_transmit_release(&p)

 

转载于:https://www.cnblogs.com/jiangzhaowei/p/9264388.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值