با سلام
در پیاده سازی TCPnet با استفاده از RTX به مشکلی برخورده ام . و هیچگونه پکت tcp در سمت pc دریافت نکرده ام. تسک های برنامه به صورت زیر است. ممنون میشم اگر دوستان بتونند مشکل رو حل کنند.
کد رو در ادامه آورده ام:
init task :
}(task void tcp_init1 (void__
;()init
; () init_TcpNet
;()debug_frmwrk_init
;(tcp_tick_tsk=os_tsk_create (tcp_tick, 3
;(tcp_main_tsk=os_tsk_create (tcp_main, 1
;(tcp_send_rec_tsk=os_tsk_create (tcp_send_rec,2
;(os_mut_init(mutex_TcpNet
;()os_tsk_delete_self
{
task 1 :
}(task void tcp_tick (void__
;(os_itv_set (100
}(while (1
/*os_itv_wait (); /* Timer tick every 100 ms
;()timer_tick
;(os_evt_set(0x0001, tcp_main_tsk
{
{
task 2 :
}(task void tcp_main (void__
}(while (1
;(os_mut_wait (mutex_TcpNet, 0xffff
;(os_evt_wait_and(0x0001, 0xFFFF
;()main_TcpNet
;(os_mut_release (mutex_TcpNet
{
; ()os_tsk_pass
{
task 3 :
}(task void tcp_send_rec (void__
;uint8_t *sendbuf
; U16 k
; (tcp_soc = tcp_get_socket (TCP_TYPE_CLIENT_SERVER | TCP_TYPE_KEEP_ALIVE, 0,30,tcp_callback
; (tcp_listen (tcp_soc, 1001
}(1)while
;(os_mut_wait (mutex_TcpNet, 0xffff
}((switch (tcp_get_state (tcp_soc
:case TCP_STATE_FREE
:case TCP_STATE_CLOSED
:case TCP_STATE_LISTEN
;(tcp_connect (tcp_soc, Rem_IP, 1001, 0
;break
:case TCP_STATE_CONNECT
} (if (tcp_check_send (tcp_soc) == __TRUE
;(sendbuf = tcp_get_buf(10
Fill buffer in here //
;(tcp_send (tcp_soc, sendbuf, 10
{
;break
{
;( os_mut_release (mutex_TcpNet
{
{
در پیاده سازی TCPnet با استفاده از RTX به مشکلی برخورده ام . و هیچگونه پکت tcp در سمت pc دریافت نکرده ام. تسک های برنامه به صورت زیر است. ممنون میشم اگر دوستان بتونند مشکل رو حل کنند.
کد رو در ادامه آورده ام:
init task :
}(task void tcp_init1 (void__
;()init
; () init_TcpNet
;()debug_frmwrk_init
;(tcp_tick_tsk=os_tsk_create (tcp_tick, 3
;(tcp_main_tsk=os_tsk_create (tcp_main, 1
;(tcp_send_rec_tsk=os_tsk_create (tcp_send_rec,2
;(os_mut_init(mutex_TcpNet
;()os_tsk_delete_self
{
task 1 :
}(task void tcp_tick (void__
;(os_itv_set (100
}(while (1
/*os_itv_wait (); /* Timer tick every 100 ms
;()timer_tick
;(os_evt_set(0x0001, tcp_main_tsk
{
{
task 2 :
}(task void tcp_main (void__
}(while (1
;(os_mut_wait (mutex_TcpNet, 0xffff
;(os_evt_wait_and(0x0001, 0xFFFF
;()main_TcpNet
;(os_mut_release (mutex_TcpNet
{
; ()os_tsk_pass
{
task 3 :
}(task void tcp_send_rec (void__
;uint8_t *sendbuf
; U16 k
; (tcp_soc = tcp_get_socket (TCP_TYPE_CLIENT_SERVER | TCP_TYPE_KEEP_ALIVE, 0,30,tcp_callback
; (tcp_listen (tcp_soc, 1001
}(1)while
;(os_mut_wait (mutex_TcpNet, 0xffff
}((switch (tcp_get_state (tcp_soc
:case TCP_STATE_FREE
:case TCP_STATE_CLOSED
:case TCP_STATE_LISTEN
;(tcp_connect (tcp_soc, Rem_IP, 1001, 0
;break
:case TCP_STATE_CONNECT
} (if (tcp_check_send (tcp_soc) == __TRUE
;(sendbuf = tcp_get_buf(10
Fill buffer in here //
;(tcp_send (tcp_soc, sendbuf, 10
{
;break
{
;( os_mut_release (mutex_TcpNet
{
{