⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dp_debug.c

📁 PROFIBUS SLAVE PROGRAMS PRO FIBUS SLAVE PROGRAMS
💻 C
📖 第 1 页 / 共 2 页
字号:
}//void print_prm_data( void )

/*---------------------------------------------------------------------------*/
/* function: print cfg_data                                                  */
/*---------------------------------------------------------------------------*/
void print_cfg_data( void )
{
    show_buffer("Read CFG Buffer:", VPC3_GET_READ_CFG_BUF_PTR(), VPC3_GET_READ_CFG_LEN() );
    show_buffer("Check CFG Buffer:", VPC3_GET_CFG_BUF_PTR(), VPC3_GET_CFG_LEN() );
}//void print_cfg_data( void )

#ifdef DP_SUBSCRIBER
/*---------------------------------------------------------------------------*/
/* function: print_dxb_link_table                                            */
/*---------------------------------------------------------------------------*/
void print_dxb_link_table(void)
{
VPC3_DXB_LINK_TABLE_PTR dxb_ptr;
UBYTE                   i;

    print_string("\r\nDXB Link-Table: \r\n");

    wait();

    dxb_ptr = (VPC3_DXB_LINK_TABLE_PTR)VPC3_GET_DXB_LINK_TABLE_BUF_PTR();

    for( i = 0; i < (VPC3_GET_DXB_LINK_TABLE_LEN()/4); i++)
    {
        print_hexbyte(dxb_ptr->link_table_entry[i].publisher_addr);
        print_hexbyte(dxb_ptr->link_table_entry[i].publisher_length);
        print_hexbyte(dxb_ptr->link_table_entry[i].sample_offset);
        print_hexbyte(dxb_ptr->link_table_entry[i].sample_length);
        print_string(" - ");
    }
}

/*---------------------------------------------------------------------------*/
/* function: print_dxb_link_status                                           */
/*---------------------------------------------------------------------------*/
void print_dxb_link_status( void )
{
VPC3_DXB_LINK_STATUS_PTR    dxb_ptr;
UBYTE                       i;

    print_string("\r\nDXB Link-Status: \r\n");

    wait();

    dxb_ptr = (VPC3_DXB_LINK_STATUS_PTR)VPC3_GET_DXB_LINK_STATUS_BUF_PTR();

    print_hexbyte(dxb_ptr->header);
    print_hexbyte(dxb_ptr->status_type);
    print_hexbyte(dxb_ptr->slot_number);
    print_hexbyte(dxb_ptr->status_specifier);
    print_string(" - ");

    for(i = 0; i < ((dxb_ptr->header-4) / 2); i++)
    {
        print_hexbyte(dxb_ptr->link_status[i].publisher_addr);
        print_hexbyte(dxb_ptr->link_status[i].link_status);
    }
}
#endif//#ifdef DP_SUBSCRIBER


/*---------------------------------------------------------------------------*/
/*                                                                           */
/*   function:     reaction of serial inputs                                 */
/*                                                                           */
/*---------------------------------------------------------------------------*/
void print_serial_inputs(void)
{

    if(rec_counter > 0)
    {
        switch (rec_buff[read_rec_ptr])
        {
            case 0x31: // Key '1'
            case 0x32: // Key '2'
            {
                user_demo_diagnostic( (rec_buff[read_rec_ptr]-0x30), 5 );
                rec_counter--;
                break;
            }

            case 0x33: // Key '3'
            case 0x34: // Key '4'
            case 0x35: // Key '5'
            case 0x36: // Key '6'
            {
                user_demo_diagnostic( (rec_buff[read_rec_ptr]-0x30), 6 );
                rec_counter--;
                break;
            }

            case 0x3F: // Key '?':
            {
                print_help();
                rec_counter--;
                break;
            }

            case 0x61: // Key 'a'
            case 0x41: // Key 'A'
            {
                print_string("\r\nStatusreg: ");
                print_hexbyte(p_Vpc3->isreg.rd.status_H);
                print_string(" ");
                print_hexbyte(p_Vpc3->isreg.rd.status_L);
                rec_counter--;
                break;
            }

            // SPC3: mode register only writable
            case 0x62: // Key 'b'
            case 0x42: // Key 'B'
            {
                print_string("\r\nModereg1: ");
                print_hexbyte(p_Vpc3->ctrl_reg.rd.mode_reg1);
                rec_counter--;
                break;
            }

            case 0x63: // Key 'c'
            case 0x43: // Key 'C'
            {
                print_org_para();
                rec_counter--;
                break;
            }

            case 0x64: // Key 'd'
            case 0x44: // Key 'D'
            {
                print_sap_list();
                rec_counter--;
                break;
            }

            case 0x65: // Key 'e'
            case 0x45: // Key 'E'
            {
                print_diag_buffer();
                rec_counter--;
                break;
            }

            case 0x66: // Key 'f'
            case 0x46: // Key 'F'
            {
                print_prm_data();
                rec_counter--;
                break;
            }

            case 0x67: // Key 'g'
            case 0x47: // Key 'G'
            {
                print_cfg_data();
                rec_counter--;
                break;
            }

            #ifdef DP_SUBSCRIBER
                case 0x68: // Key 'h'
                case 0x48: // Key 'H'
                {
                    print_dxb_link_table();
                    rec_counter--;
                    break;
                }

                case 0x69: // Key 'i'
                case 0x49: // Key 'I'
                {
                    print_dxb_link_status();
                    rec_counter--;
                    break;
                }
            #endif//#ifdef DP_SUBSCRIBER

            case 0x6A: // Key 'j'
            case 0x4A: // Key 'J'
            {
                UWORD length;

                print_string("\r\nAddress of VPC3+ free memory: ");
                print_hexword( vpc3_get_free_memory( &length ) );
                print_string("  length: ");
                print_hexword( length );
                rec_counter--;
                break;
            }

            #ifdef DP_DEBUG_ENABLE
                case 0x79: // Taste 'y'
                case 0x59: // Taste 'Y'
                {
                    DP_ClearDebugBuffer();
                    rec_counter--;
                    break;
                }

                case 0x7A: // Taste 'z'
                case 0x5A: // Taste 'Z'
                {
                    PrintDebugBuffer();
                    rec_counter--;
                    break;
                }
            #endif//#ifdef DP_DEBUG_ENABLE

            default:
            {
                rec_counter--;
                break;
            }
        }//switch (rec_buff[read_rec_ptr])
        read_rec_ptr++;
    }// if(get_received_data_count())
}

#endif//#ifdef RS232_SERIO

/*****************************************************************************/
/*  Copyright (C) profichip GmbH 2004. Confidential.                         */
/*****************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -