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

📄 s1l4.c

📁 DSP内核代码
💻 C
字号:
/*********************************************************************
 * S1L4.c - (Section 1, Lesson 4) RECEIVING AN INTEGER FROM THE HOST
 *                                ASYNCHRONOUSLY
 *          This is the RTDX Target Code for Section 1, Lesson 4
 *
 * This example receives integer value 5 from the host
 ********************************************************************/
 
#include <rtdx.h>       /* defines RTDX target API calls            */
#include "target.h"     /* defines TARGET_INITIALIZE()              */
#include <stdio.h>      /* C_I/O                                    */

/* declare a global input channel                                   */
RTDX_CreateInputChannel( ichan );
 
void main()
{
        int data;
        int status;

        TARGET_INITIALIZE();

        /* enable the input channel                                 */
        RTDX_enableInput( &ichan );

        /*************************************************************
         * Insert code from Step #2 here - to request an integer
         ************************************************************/
        status = RTDX_readNB( &ichan, &data, sizeof(data) );

        if ( status != RTDX_OK ) {
                printf( "ERROR: RTDX_readNB failed!\n" );
                exit( -1 );
        }

        status = 1;
        while ( status ) {

        /*************************************************************
         * Insert code from Step #3 here - to loop until channel
         *                                 is no longer busy waiting
         *                                 to receive data
         ************************************************************/
                status = RTDX_channelBusy( &ichan );

                /*
                 * useful processing can be done here while waiting
                 * for data
                 */

#if RTDX_POLLING_IMPLEMENTATION
                /*
                 * if RTDX uses polling on this target, then be sure
                 * to call it regulary to transfer the data
                 */
                RTDX_Poll();
#endif
        }

        /*************************************************************
         * Insert code from Step #4 here - to verify that we have
         *                                 received all the requested
         *                                 data
         ************************************************************/
        status = RTDX_sizeofInput( &ichan );

        if ( status != sizeof(data) )
                printf( "ERROR: Did not receive all the data!\n" );
        else
                printf( "Value %d was received from the host\n", data );


        /* disable the input channel                                */
        RTDX_disableInput( &ichan );

        printf( "Program Complete!\n" );
}

⌨️ 快捷键说明

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