初始化的时候中断寄存器的值是对的。但是一执行到建立视频通路时中断寄存器的值就变了,触发不了中断,请问这是为什么呢?
上面代码执行完了后寄存器得值就变了
VPORTDIS_Params EVMDM642_vDisParamsChan = {
VPORT_MODE_BT656_8BIT, /* dmode:3 */
VPORT_FLDOP_FRAME, /* fldOp:3 */
VPORT_SCALING_DISABLE, /* scale:1 */// VPORT_SCALING_ENABLE, /* scale:1 */ VPORT_RESMPL_DISABLE, /* resmpl:1 */ VPORTDIS_DEFVAL_ENABLE,/* defValEn:1 */
VPORTDIS_BPK_10BIT_NORMAL, /*bpk10Bit:1 */
VPORTDIS_VCTL1_HSYNC, /* vctl1Config:2 */
VPORTDIS_VCTL2_VSYNC, /* vctl2Config:2 */
VPORTDIS_VCTL3_FLD, /* vctl3Config:1 */
VPORTDIS_EXC_DISABLE, /* extCtl:3 */
864, /* frmHSize */
625, /* frmVSize */
0, /* imgHOffsetFld1 */
0, /* imgVOffsetFld1 */
LINE_SZ, /* imgHSizeFld1 */
NUM_LINES, /* imgVSizeFld1 */
0, /* imgHOffsetFld2 */
0, /* imgVOffsetFld2 */
LINE_SZ, /* imgHSizeFld2 */
NUM_LINES, /* imgVSizeFld2 */
720, /* hBlnkStart */ 862, /* hBlnkStop */ 720, /* vBlnkXStartFld1 */ 624, /* vBlnkYStartFld1 */ 720, /* vBlnkXStopFld1 */ 23, /* vBlnkYStopFld1 */ 360, /* vBlnkXStartFld2 */ 311, /* vBlnkYStartFld2 */ 360, /* vBlnkXStopFld2 */ 336, /* vBlnkYStopFld2 */ 720, /* xStartFld1 */ 1, /* yStartFld1 */ 360, /* xStartFld2 */ 313, /* yStartFld2 */
752, /* hSyncStart */ 782, /* hSyncStop */
752, /* vSyncXStartFld1 */ 1, /* vSyncYStartFld1 */ 752, /* vSyncXStopFld1 */ 3, /* vSyncYStopFld1 */
320, /* vSyncXStartFld2 */ 313, /* vSyncYStartFld2 */ 320, /* vSyncXStopFld2 */ 316, /* vSyncYStopFld2 */
16, /* yClipLow */ 235, /* yClipHigh */ 16, /* cClipLow */ 240, /* cClipHigh */// 0, /* yClipLow */// 255, /* yClipHigh */// 0, /* cClipLow */// 255, /* cClipHigh */ 0x00,
0x80,
0x80,
VPORTDIS_RGBX_DISABLE, /* RGB extract disable */
0, /* incPix, for raw mode only */ (LINE_SZ>>3), /*thrld */
3, /*numFrmBufs*/
128, /*alignment */
VPORT_FLDS_MERGED, /*mergeFlds */
// VPORT_FLDS_SEPARATED, /*mergeFlds */
NULL, /*segId */ EDMA_OPT_PRI_HIGH, /*edmaPri */
10 /* irqId */};
以上是结构体EVMDM642_vDisParamsChan的代码。求帮忙看看哪里有问题,。谢谢
Chris Meng:
你好,
这个FVID_create函数的具体实现你应该是有源码的吧,你跟一下代码看看。