vxworks,s3c44b0x,现在的情况是,串口接收,发送中断正常,在发送中断服务程序里直接想缓冲里写数据能发送出来,接受中断服务程序里直接写发送缓冲也能回显,但是就是不能出vxworks的开始信息。config.h中配置如下
#undef WDB_COMM_TYPE /* default WDB agent communication path is END */ #define WDB_COMM_TYPE WDB_COMM_END
/* Serial port configuration */
#define INCLUDE_SERIAL #undef NUM_TTY #define NUM_TTY N_SIO_CHANNELS
#undef CONSOLE_TTY #define CONSOLE_TTY 0 #undef CONSOLE_BAUD_RATE #define CONSOLE_BAUD_RATE 38400
/*** WDB ***/ #undef SERIAL_DEBUG #define SERIAL_DEBUG #ifdef SERIAL_DEBUG #define WDB_NO_BAUD_AUTO_CONFIG
#undef WDB_COMM_TYPE #undef WDB_TTY_BAUD #undef WDB_TTY_CHANNEL #undef WDB_TTY_DEV_NAME
#define WDB_COMM_TYPE WDB_COMM_SERIAL /* WDB in Serial mode */ #define WDB_TTY_BAUD 38400 /* 115200 */ /* Baud rate for WDB Connection */ #define WDB_TTY_CHANNEL 1 /* COM PORT #2 */ #define WDB_TTY_DEV_NAME "/tyCo/1" /* default TYCODRV_5_2 device name */ #endif /* SERIAL_DEBUG */
那位高手帮忙想想可能是哪方面的问题?
还有vxworks的sio中,xxxIntTx
if ((*pChan->getTxChar) (pChan->getTxArg, &outChar) != ERROR) S3C44B0X_SIO_REG_WRITE(pChan, S3C44B0X_UTXH, outChar); else { intDisable (pChan->intLevelTx); *(UINT32 *) S3C44B0X_I_ISPC = (1 << pChan->intLevelTx); }
xxxDevInit中
pChan->getTxChar = dummyCallback;
xxxCallbackInstall中
pChan->getTxChar = callback;/*callback是xxxCallbackInstall的参数*/
xxxCallbackInstall在SIO_DRV_FUNCS结构定意的实体中,但是搜索半天也没找到SIO_DRV_FUNCS的原型,那位给讲讲系统是怎么把发送接收函数和printf等接口函数
连接起来的呢?谢谢!