我的CAMERA中断怎么使能了就不能禁止了?我把使能位清掉了还是关不了中断,虽然关不了,但不能进行实时捕捉了,什么原因?

时间:2021-08-09 19:37:19
我的CAMERA中断怎么使能了就不能禁止了?我把使能位清掉了还是关不了中断,虽然关不了,但不能进行实时捕捉了,什么原因?

27 个解决方案

#1


用的2440么?你得把问题描述详细一点啊

你说的关掉中断是什么意思呢?

这是我这个驱动里的一段代码,参考一下:
		case IOCTL_CAM_DISVINT :
RETAILMSG(1,(TEXT("CAMERA:IOCTL_CAM_DISVINT\r\n")));
s2440INT->rINTMSK |= BIT_CAM;
s2440INT->rINTSUBMSK |= (BIT_SUB_CAM_P|BIT_SUB_CAM_C);
if (s2440INT->rINTPND & BIT_CAM) s2440INT->rINTPND |= BIT_CAM;
s2440INT->rSRCPND |= BIT_CAM;
s2440INT->rSUBSRCPND |= (BIT_SUB_CAM_P|BIT_SUB_CAM_C);

#2


引用楼主 xqhrs232 的帖子:
……虽然关不了,但不能进行实时捕捉了

这句话也有点费解

**************************
飞凌嵌入式 www.witech.com.cn   
**************************

#3


引用 2 楼 xiaopi224 的回复:
引用楼主 xqhrs232 的帖子:
……虽然关不了,但不能进行实时捕捉了 
 
这句话也有点费解 

************************** 
飞凌嵌入式 www.witech.com.cn  
**************************



就是换图象输入,LCD显示没有再更新!

#4


本来换了图象输入,LCD的显示也应该更新的,但没有。但看串口消息,一直有中断触发了,但我已经关闭中断了,怎么还会触发CAMERA中断?

#5


顶起来让大家看看

#6


引用 4 楼 xqhrs232 的回复:
本来换了图象输入,LCD的显示也应该更新的,但没有。但看串口消息,一直有中断触发了,但我已经关闭中断了,怎么还会触发CAMERA中断?


串口消息中,一直触发的中断是什么?

贴代码,不然无法判断。要求中断相关的配置。

#7


gz

#8


我的做法是,在CAMERA的DLL里面收到了与CAMERA硬件中断关联的事件消息就打印串口消息。本来我已经关掉了CAMERA中断(就是通过操作具体的SFR把对应使能位禁止了),但还是会触发CAMERA中断(就是那些串口消息还是会被不断打印出来),但虽然不断触发中断了,但我换个视频输入,但在LCD上显示的图象却有没有更新,好奇怪!我通过IOCTL宏去读取对应的SFR的状态,对应的SFR的状态是正确的(该禁止的地方已经禁止了)

#9


顶你,有板子吗?买你一个

#10


引用 9 楼 lanmanck 的回复:
顶你,有板子吗?买你一个 


有啊,不知道老大什么想法

#11


顶起来让大家分析分析,被难住很久了

#12


CAMERA的捕捉设置成ITU656格式就可以不用CAMERA的硬件中断了,所以禁止中断,还是使能中断(只允许硬件的使能与禁止)对CAMERA接口都没有影响,是不是这样一回事???


用ITU656格式,已经跟硬件的中断断开了关系,所以禁止/使能硬件中断对捕捉没有影响。对不对?

#13


你仔细调整CamInit(。。。)中U32 WinHorOffset, U32 WinVerOffset, 这两个参数,我也遇到过这种问题,具体是什么原因我也没找到,不过修改这两个参数的确有效。

#14


引用 13 楼 sanlybeen 的回复:
你仔细调整CamInit(。。。)中U32 WinHorOffset, U32 WinVerOffset, 这两个参数,我也遇到过这种问题,具体是什么原因我也没找到,不过修改这两个参数的确有效。


修改这两个参数你就搞定了?

#15


我的是改这两个参数搞好的,你的,你得好好试试

#16


引用 15 楼 sanlybeen 的回复:
我的是改这两个参数搞好的,你的,你得好好试试


这两个参数跟CAMERA中断能不能关闭应该不相关啊,他们就是两个不同的东西啊!

#17


我的这两个参数为

WinHoffset = 0;
WinVoffset = 1;

图象显示比较正常,但就是中断叫它停停不了,你设置的值是多少?你的芯片是2440?还是其它?

#18


你试试 160,80

#19


引用 18 楼 sanlybeen 的回复:
你试试 160,80


试了一下,还是不行啊!(用到我的平台连图象都看不到)。看SFR的状态都是对的(要禁止就对应禁止)了,但为什么还会触发CAMERA事件呢?想不通。

#20


引用 18 楼 sanlybeen 的回复:
你试试 160,80


试了一下,还是不行啊!(用到我的平台连图象都看不到)。看SFR的状态都是对的(要禁止就对应禁止)了,但为什么还会触发CAMERA事件呢?想不通。

#21


看来你得下功夫,好好查问题了

#22


引用 21 楼 sanlybeen 的回复:
看来你得下功夫,好好查问题了


好久,这个问题都没有解决

#23


关注中

#24


引用 20 楼 xqhrs232 的回复:
引用 18 楼 sanlybeen 的回复:
你试试 160,80 
 

试了一下,还是不行啊!(用到我的平台连图象都看不到)。看SFR的状态都是对的(要禁止就对应禁止)了,但为什么还会触发CAMERA事件呢?想不通。


是不是你的CAMERA事件跟中断的关联有问题,用示波器量一下是否真的有中断发生,另外你是如何禁止中断的呢?最好相关代码贴出来看看



**************************
飞凌嵌入式 www.witech.com.cn   
**************************

#25


基本把规律找到了,要禁止中断,先对CAMERA接口进行RESET操作就基本可行了.

#26


还是有点问题,开始的几次还行。切的次数多了就出问题了,AP要不死掉,要不没有了图像。还得努力啊!

#27


偏屏老是搞不定,真痛苦!

#1


用的2440么?你得把问题描述详细一点啊

你说的关掉中断是什么意思呢?

这是我这个驱动里的一段代码,参考一下:
		case IOCTL_CAM_DISVINT :
RETAILMSG(1,(TEXT("CAMERA:IOCTL_CAM_DISVINT\r\n")));
s2440INT->rINTMSK |= BIT_CAM;
s2440INT->rINTSUBMSK |= (BIT_SUB_CAM_P|BIT_SUB_CAM_C);
if (s2440INT->rINTPND & BIT_CAM) s2440INT->rINTPND |= BIT_CAM;
s2440INT->rSRCPND |= BIT_CAM;
s2440INT->rSUBSRCPND |= (BIT_SUB_CAM_P|BIT_SUB_CAM_C);

#2


引用楼主 xqhrs232 的帖子:
……虽然关不了,但不能进行实时捕捉了

这句话也有点费解

**************************
飞凌嵌入式 www.witech.com.cn   
**************************

#3


引用 2 楼 xiaopi224 的回复:
引用楼主 xqhrs232 的帖子:
……虽然关不了,但不能进行实时捕捉了 
 
这句话也有点费解 

************************** 
飞凌嵌入式 www.witech.com.cn  
**************************



就是换图象输入,LCD显示没有再更新!

#4


本来换了图象输入,LCD的显示也应该更新的,但没有。但看串口消息,一直有中断触发了,但我已经关闭中断了,怎么还会触发CAMERA中断?

#5


顶起来让大家看看

#6


引用 4 楼 xqhrs232 的回复:
本来换了图象输入,LCD的显示也应该更新的,但没有。但看串口消息,一直有中断触发了,但我已经关闭中断了,怎么还会触发CAMERA中断?


串口消息中,一直触发的中断是什么?

贴代码,不然无法判断。要求中断相关的配置。

#7


gz

#8


我的做法是,在CAMERA的DLL里面收到了与CAMERA硬件中断关联的事件消息就打印串口消息。本来我已经关掉了CAMERA中断(就是通过操作具体的SFR把对应使能位禁止了),但还是会触发CAMERA中断(就是那些串口消息还是会被不断打印出来),但虽然不断触发中断了,但我换个视频输入,但在LCD上显示的图象却有没有更新,好奇怪!我通过IOCTL宏去读取对应的SFR的状态,对应的SFR的状态是正确的(该禁止的地方已经禁止了)

#9


顶你,有板子吗?买你一个

#10


引用 9 楼 lanmanck 的回复:
顶你,有板子吗?买你一个 


有啊,不知道老大什么想法

#11


顶起来让大家分析分析,被难住很久了

#12


CAMERA的捕捉设置成ITU656格式就可以不用CAMERA的硬件中断了,所以禁止中断,还是使能中断(只允许硬件的使能与禁止)对CAMERA接口都没有影响,是不是这样一回事???


用ITU656格式,已经跟硬件的中断断开了关系,所以禁止/使能硬件中断对捕捉没有影响。对不对?

#13


你仔细调整CamInit(。。。)中U32 WinHorOffset, U32 WinVerOffset, 这两个参数,我也遇到过这种问题,具体是什么原因我也没找到,不过修改这两个参数的确有效。

#14


引用 13 楼 sanlybeen 的回复:
你仔细调整CamInit(。。。)中U32 WinHorOffset, U32 WinVerOffset, 这两个参数,我也遇到过这种问题,具体是什么原因我也没找到,不过修改这两个参数的确有效。


修改这两个参数你就搞定了?

#15


我的是改这两个参数搞好的,你的,你得好好试试

#16


引用 15 楼 sanlybeen 的回复:
我的是改这两个参数搞好的,你的,你得好好试试


这两个参数跟CAMERA中断能不能关闭应该不相关啊,他们就是两个不同的东西啊!

#17


我的这两个参数为

WinHoffset = 0;
WinVoffset = 1;

图象显示比较正常,但就是中断叫它停停不了,你设置的值是多少?你的芯片是2440?还是其它?

#18


你试试 160,80

#19


引用 18 楼 sanlybeen 的回复:
你试试 160,80


试了一下,还是不行啊!(用到我的平台连图象都看不到)。看SFR的状态都是对的(要禁止就对应禁止)了,但为什么还会触发CAMERA事件呢?想不通。

#20


引用 18 楼 sanlybeen 的回复:
你试试 160,80


试了一下,还是不行啊!(用到我的平台连图象都看不到)。看SFR的状态都是对的(要禁止就对应禁止)了,但为什么还会触发CAMERA事件呢?想不通。

#21


看来你得下功夫,好好查问题了

#22


引用 21 楼 sanlybeen 的回复:
看来你得下功夫,好好查问题了


好久,这个问题都没有解决

#23


关注中

#24


引用 20 楼 xqhrs232 的回复:
引用 18 楼 sanlybeen 的回复:
你试试 160,80 
 

试了一下,还是不行啊!(用到我的平台连图象都看不到)。看SFR的状态都是对的(要禁止就对应禁止)了,但为什么还会触发CAMERA事件呢?想不通。


是不是你的CAMERA事件跟中断的关联有问题,用示波器量一下是否真的有中断发生,另外你是如何禁止中断的呢?最好相关代码贴出来看看



**************************
飞凌嵌入式 www.witech.com.cn   
**************************

#25


基本把规律找到了,要禁止中断,先对CAMERA接口进行RESET操作就基本可行了.

#26


还是有点问题,开始的几次还行。切的次数多了就出问题了,AP要不死掉,要不没有了图像。还得努力啊!

#27


偏屏老是搞不定,真痛苦!