Hello,
I'm using the board as I3C master. I'm trying to send HDR exit pattern followed by stop like figure 1.
The MCTRL register's description says: I3C->MCTRL = I3C_MCTRL_REQUEST(6) ;
But actually it's like figure 2, is anything wrong with the config?
Thanks!
Figure 1
Figure 2
Hi @yvan_yan
You can refer to this function.
void I3C_MasterEmitRequest(I3C_Type *base, i3c_bus_request_t masterReq)
{
uint32_t mctrlReg = base->MCTRL;
mctrlReg &= ~I3C_MCTRL_REQUEST_MASK;
if (masterReq == kI3C_RequestProcessDAA)
{
mctrlReg &= ~I3C_MCTRL_TYPE_MASK;
}
mctrlReg |= I3C_MCTRL_REQUEST(masterReq);
base->MCTRL = mctrlReg;
}
BR
Harry
yes, this is the function I use, but stop pattern seems not quite right, anything else needs to be configured?
I3C_MasterEmitRequest(base, kI3C_RequestForceExit);
Hi @yvan_yan
I tested the i3c HDR examples with two frdm-mcxn947 boards.
The related codes are below.
The channel 0 is SDA, the channel 1 is SCL, the channel 2 is Toggle.
We can see that the I3C_MasterEmitRequest(base, kI3C_RequestForceExit) can work.
BR
Harry
Hi Harry
应该和我们接的target有关系,上面那个波形好像也可以检测到HDR exit + stop,感谢回复!
BR
yvan_yan