130***518
我在使用GH3300的开发板做开发时,因为需要使用中断触发事件做事件戳的计算,但是在调试程序时发现中断会触发两次上升沿,如下图所示:

出现这个问题后,使用你们自带的evk做了对比测试,发现在evk测试板只触发一次中断,在出现这个问题,我们使用逻辑分析仪采样了evk开发板和我们自己开发板的初始化(包括init和start)数据并进行了对比,除了有两个地方不一样(1.是读取0x0818寄存器值不相同,根据代码猜测是读取芯片内部的efuse 2.连续读取0x1312寄存器次数不相同,直到读取到值为0x0c2e为止)。其他通信部分完全相同。并且也同时对比了evk开发板和我们自己开发板的log数据,我们开发板的log如下所示:
我们开发板的log如下所示:根据开发板和evk的log数据对比,evk开发板为稳定触发的事件 0x00000601,我们平台触发的事件交替为0x00040601 和0x00000401,根据逻辑分析仪数据
对比发现中断触发后读取0x060a=0x06010004, 但是evk开发板读取的中断为0x060a=0x06010000, 根据代码里面定义,我们开发板读出来的多一个事件为afe full,这个事件是什么事件,
是否是这个原因导致的中断触发两次?
[gh3x] : GH3X_DemoInit : Democode Version : GH(M)3X_EVK_v0.2.1.1_ALGO
[gh3x] : GH3X_DemoInit : DrvLib Version : v0.2.1.1
[gh3x] : [gh3x_drv]: GID: 5
[gh3x] : GH3X_GetConfigVersion : Config Version : 68f21fbd
[gh3x] : Gh3xDemoInit:init success
[gh3x] : [DemoSamplingControl]unFuncMode = 0x00000002 , emSwitch = 0
[gh3x] : AGC Init in DemoSamplingControl
[gh3x] : Current gunDemoFuncMode= 0x2
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00040201
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00040601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000401
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00040601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000401
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00040601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000401
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00040601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000401
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00040601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00040601
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00040601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000401
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00040601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000401
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00040601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000401
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00040601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00040601
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00040601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000401
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00040601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000401
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00040601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000401
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00040601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000601
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000401
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000401
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000401
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000401
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000401
[gh3x] : [GH3X_DemoInterruptProcess]:GH3X_GetSoftEvent = 0x00000000
[gh3x] : [GH3X_DemoInterruptProcess]:unGotEvent = 0x00000601
[gh3x] : [gh3x_drv]: GH3X_ReadFifodata usFifoReadByteNum = 200
打开微信,使用“扫一扫”即可关注
登录后可回答问题,请 登录 或 注册