MMA8451Q Data access using interrupt

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

MMA8451Q Data access using interrupt

跳至解决方案
3,703 次查看
anhnguyen
Contributor I

Hi all, i'm using MMA8451Q.
I'm accessing  data via hardware interrupt.
After i activate MMA8451Q , it asserts SRC_DRDY interrupt bit  indicating the presence of new data and/or data overrun.

I have tried to clear this bit by reading the X, Y, and Z data as datasheet said (page 25).

But this bit has not been cleared.

Any body, please tell me what is wrong here and what should i do?

Thanks,

标记 (1)
0 项奖励
1 解答
2,942 次查看
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi,


Please make sure you read out all the OUT_X_MSB, OUT_Y_MSB and OUT_Z_MSB registers. You can use either a single multiple-byte read operation or read out those registers using a single byte read as shown in the below simple examples.

1.

Data_Ready = IIC_RegRead(MMA8451_IIC_ADDRESS, INT_SOURCE_REG);  

if (Data_Ready & 0x01)                                                                                            //Is new set of data ready?

      {

        IIC_RegReadN(MMA8451_IIC_ADDRESS, OUT_X_MSB_REG, 6, &AccData[0]);

        PTCD = PTCD ^ 0x01;   

      }

2.

Data_Ready = IIC_RegRead(MMA8451_IIC_ADDRESS, INT_SOURCE_REG);  

if (Data_Ready & 0x01)                                                                                            //Is new set of data ready?

      {

        IIC_RegRead(MMA8451_IIC_ADDRESS, OUT_X_MSB_REG );

        IIC_RegRead(MMA8451_IIC_ADDRESS, OUT_Y_MSB_REG );

        IIC_RegRead(MMA8451_IIC_ADDRESS, OUT_Z_MSB_REG );

        PTCD = PTCD ^ 0x01;

      }

I toggled the PTC0 pin to monitor the SRC_DRDY bit on my o-scope.

Hopefully this makes sense, but let me know if the problem continues.


Regards,

Tomas

在原帖中查看解决方案

0 项奖励
3 回复数
2,943 次查看
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi,


Please make sure you read out all the OUT_X_MSB, OUT_Y_MSB and OUT_Z_MSB registers. You can use either a single multiple-byte read operation or read out those registers using a single byte read as shown in the below simple examples.

1.

Data_Ready = IIC_RegRead(MMA8451_IIC_ADDRESS, INT_SOURCE_REG);  

if (Data_Ready & 0x01)                                                                                            //Is new set of data ready?

      {

        IIC_RegReadN(MMA8451_IIC_ADDRESS, OUT_X_MSB_REG, 6, &AccData[0]);

        PTCD = PTCD ^ 0x01;   

      }

2.

Data_Ready = IIC_RegRead(MMA8451_IIC_ADDRESS, INT_SOURCE_REG);  

if (Data_Ready & 0x01)                                                                                            //Is new set of data ready?

      {

        IIC_RegRead(MMA8451_IIC_ADDRESS, OUT_X_MSB_REG );

        IIC_RegRead(MMA8451_IIC_ADDRESS, OUT_Y_MSB_REG );

        IIC_RegRead(MMA8451_IIC_ADDRESS, OUT_Z_MSB_REG );

        PTCD = PTCD ^ 0x01;

      }

I toggled the PTC0 pin to monitor the SRC_DRDY bit on my o-scope.

Hopefully this makes sense, but let me know if the problem continues.


Regards,

Tomas

0 项奖励
2,942 次查看
bergo
Contributor III

I'm wondering,

what is the PTC0 pin?

0 项奖励
2,942 次查看
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi Bergo,

I have used this pin just to monitor the SRC_DRDY bit, it does not have any connection with the previous instructions that are necessary to deassert the interrupt. You can ignore this line of the code - PTCD = PTCD ^ 0x01

Regards,

Tomas

0 项奖励
%3CLINGO-SUB%20id%3D%22lingo-sub-185500%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EMMA8451Q%20%E4%BD%BF%E7%94%A8%E4%B8%AD%E6%96%AD%E8%AE%BF%E9%97%AE%E6%95%B0%E6%8D%AE%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-185500%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E5%A4%A7%E5%AE%B6%E5%A5%BD%EF%BC%8C%E6%88%91%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%20MMA8451Q%E3%80%82%3CBR%20%2F%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E9%80%9A%E8%BF%87%E7%A1%AC%E4%BB%B6%E4%B8%AD%E6%96%AD%E8%AE%BF%E9%97%AE%E6%95%B0%E6%8D%AE%E3%80%82%3CBR%20%2F%3E%E6%BF%80%E6%B4%BB%20MMA8451Q%20%E5%90%8E%EF%BC%8C%E5%AE%83%E4%BC%9A%E6%96%AD%E8%A8%80%20SRC_DRDY%20%E4%B8%AD%E6%96%AD%E4%BD%8D%EF%BC%8C%E8%A1%A8%E6%98%8E%E5%AD%98%E5%9C%A8%E6%96%B0%E6%95%B0%E6%8D%AE%E5%92%8C%2F%E6%88%96%E6%95%B0%E6%8D%AE%E8%B6%85%E9%99%90%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E8%AF%95%E7%9D%80%E6%8C%89%E7%85%A7%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C%EF%BC%88%E7%AC%AC%2025%20%E9%A1%B5%EF%BC%89%E7%9A%84%E8%AF%B4%E6%B3%95%EF%BC%8C%E9%80%9A%E8%BF%87%E8%AF%BB%E5%8F%96%20X%E3%80%81Y%20%E5%92%8C%20Z%20%E6%95%B0%E6%8D%AE%E6%9D%A5%E6%B8%85%E9%99%A4%E8%AF%A5%E4%BD%8D%E3%80%82%3C%2FP%3E%3CP%3E%E4%BD%86%E8%AF%A5%E4%BD%8D%E5%B0%9A%E6%9C%AA%E6%B8%85%E9%99%A4%E3%80%82%3C%2FP%3E%3CP%3E%E6%9C%89%E8%B0%81%E8%83%BD%E5%91%8A%E8%AF%89%E6%88%91%E8%BF%99%E9%87%8C%E5%87%BA%E4%BA%86%E4%BB%80%E4%B9%88%E9%97%AE%E9%A2%98%EF%BC%8C%E6%88%91%E8%AF%A5%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F%3C%2FP%3E%3CP%3E%E8%B0%A2%E8%B0%A2%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-185503%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MMA8451Q%20Data%20access%20using%20interrupt%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-185503%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E5%97%A8%EF%BC%8C%E4%BC%AF%E6%88%88%E3%80%81%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E6%88%91%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E5%BC%95%E8%84%9A%E5%8F%AA%E6%98%AF%E4%B8%BA%E4%BA%86%E7%9B%91%E6%B5%8B%20SRC_DRDY%20%E4%BD%8D%EF%BC%8C%E5%AE%83%E4%B8%8E%E4%B9%8B%E5%89%8D%E5%8F%96%E6%B6%88%E4%B8%AD%E6%96%AD%E6%89%80%E9%9C%80%E7%9A%84%E6%8C%87%E4%BB%A4%E6%B2%A1%E6%9C%89%E4%BB%BB%E4%BD%95%E8%81%94%E7%B3%BB%E3%80%82%E6%82%A8%E5%8F%AF%E4%BB%A5%E5%BF%BD%E7%95%A5%E8%BF%99%E8%A1%8C%E4%BB%A3%E7%A0%81%20-%20PTCD%20%3D%20PTCD%20%5E%200x01%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E6%AD%A4%E8%87%B4%EF%BC%8C%3C%2FP%3E%3CP%3E%E6%89%98%E9%A9%AC%E6%96%AF%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-185502%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MMA8451Q%20Data%20access%20using%20interrupt%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-185502%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E6%88%91%E6%83%B3%E7%9F%A5%E9%81%93%3C%2FP%3E%3CP%3E%E4%BB%80%E4%B9%88%E6%98%AF%3CSPAN%20style%3D%22font-family%3A%20'Helvetica%20Neue'%2C%20Helvetica%2C%20Arial%2C%20'Lucida%20Grande'%2C%20sans-serif%3B%20background-color%3A%20%23ffffff%3B%22%3EPTC0%20%E5%BC%95%E8%84%9A%3C%2FSPAN%3E%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-185501%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MMA8451Q%20Data%20access%20using%20interrupt%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-185501%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%E8%AF%B7%E7%A1%AE%E4%BF%9D%E8%AF%BB%E5%87%BA%E6%89%80%E6%9C%89%20OUT_X_MSB%E3%80%81OUT_Y_MSB%20%E5%92%8C%20OUT_Z_MSB%20%E5%AF%84%E5%AD%98%E5%99%A8%E3%80%82%E6%82%A8%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E5%8D%95%E4%B8%AA%E5%A4%9A%E5%AD%97%E8%8A%82%E8%AF%BB%E5%8F%96%E6%93%8D%E4%BD%9C%EF%BC%8C%E4%B9%9F%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E5%8D%95%E5%AD%97%E8%8A%82%E8%AF%BB%E5%8F%96%E6%9D%A5%E8%AF%BB%E5%8F%96%E8%BF%99%E4%BA%9B%E5%AF%84%E5%AD%98%E5%99%A8%EF%BC%8C%E5%A6%82%E4%BB%A5%E4%B8%8B%E7%AE%80%E5%8D%95%E7%A4%BA%E4%BE%8B%E6%89%80%E7%A4%BA%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E1.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3EData_Ready%20%3D%20IIC_RegRead(MMA8451_IIC_ADDRESS%EF%BC%8CINT_SOURCE_REG)%EF%BC%9B%20%20%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3Eif%20(Data_Ready%26amp%3B%200x01)%20%2F%2F%20%E6%96%B0%E6%95%B0%E6%8D%AE%E9%9B%86%E5%87%86%E5%A4%87%E5%A5%BD%E4%BA%86%E5%90%97%EF%BC%9F%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%20%20%20%20%20%20%20%20IIC_RegReadN%EF%BC%88MMA8451_IIC_ADDRESS%EF%BC%8COUT_X_MSB_REG%EF%BC%8C6%EF%BC%8C%26amp%3BAccData%5B0%5D%EF%BC%89%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%20%20%20%20%20%20%20%20%3C%2FSPAN%3EPTCD%20%3D%20PTCD%20%5E%200x01%EF%BC%9B%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%20%20%20%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%20%20%20%20%20%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E2.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3EData_Ready%20%3D%20IIC_RegRead(MMA8451_IIC_ADDRESS%EF%BC%8CINT_SOURCE_REG)%EF%BC%9B%20%20%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3Eif%20(Data_Ready%26amp%3B%200x01)%20%2F%2F%20%E6%96%B0%E6%95%B0%E6%8D%AE%E9%9B%86%E5%87%86%E5%A4%87%E5%A5%BD%E4%BA%86%E5%90%97%EF%BC%9F%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%20%20%20%20%20%20%20%20IIC_RegRead(MMA8451_IIC_ADDRESS%2C%20OUT_X_MSB_REG%20)%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%20%20%20%20%20%20%20%20IIC_RegRead(MMA8451_IIC_ADDRESS%2C%20OUT_Y_MSB_REG%20)%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%20%20%20%20%20%20%20%20IIC_RegRead(MMA8451_IIC_ADDRESS%2C%20OUT_Z_MSB_REG%20)%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%20%20%20%20%20%20%20%20%3C%2FSPAN%3EPTCD%20%3D%20PTCD%20%5E%200x01%EF%BC%9B%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%20%20%20%20%20%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E6%88%91%E5%88%87%E6%8D%A2%E4%BA%86%20PTC0%20%E5%BC%95%E8%84%9A%E6%9D%A5%E7%9B%91%E6%B5%8B%20o%20%E5%9E%8B%E7%A4%BA%E6%B3%A2%E5%99%A8%E4%B8%8A%E7%9A%84%20SRC_DRDY%20%E4%BD%8D%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Arial'%2C'sans-serif'%3B%22%3E%E5%B8%8C%E6%9C%9B%E8%BF%99%E6%98%AF%E6%9C%89%E9%81%93%E7%90%86%E7%9A%84%EF%BC%8C%E4%BD%86%E5%A6%82%E6%9E%9C%E9%97%AE%E9%A2%98%E4%BB%8D%E7%84%B6%E5%AD%98%E5%9C%A8%EF%BC%8C%E8%AF%B7%E5%91%8A%E8%AF%89%E6%88%91%E3%80%82%20%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22mce_paste_marker%22%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22mce_paste_marker%22%3E%E6%AD%A4%E8%87%B4%EF%BC%8C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22mce_paste_marker%22%3E%E6%89%98%E9%A9%AC%E6%96%AF%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E