MKE02 Master SPI TX Interrupt Error

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

MKE02 Master SPI TX Interrupt Error

1,267件の閲覧回数
PabloA
Contributor II

Hi there, please I need some help with this issue, I have trying to develop a simple control of several seven segments led displays using a shift register and the SPI module of a MKE02Z64 microcontroller.

As I thought it, I use the Process Expert functions of Syncro Master like this:

1.     With a fixed timer I call the function SendChar() to send one character when the display is off.

2.     To power on the display with the right data I use the interrupt OnTXChar() in order to set on the display leds when the data have been shifted.

Simple, but my problem is in the OnTXChar() interrupt, it is triggered when the second bit is sended. ¿Why?

I have been trying also with the function OnFreeTxBuf() and sending data as a block of 1 byte using SenBlock() with the same result, both interrupts are triggered before complete the 8 bit word.

¿What i'm doing wrong?

Regards, and sorry about my english...

ラベル(1)
0 件の賞賛
3 返答(返信)

949件の閲覧回数
michaeltoaldo
Contributor I

Hi Guys, i am found the same issue in my project using FRDM MKE02Z. I am using a step motor control module that communicates with SPI bus. Between the commands i need to toggle the CS and this is performed manually. But after some problems i plugged a logic analyzer to verify and saw that interrupt "OnTxChar" is triggered before the char is totally finalized.  

Image attached shows 2 commands, i toggle one auxiliar pin at "OnTxChar" to verify what time this occurs (channel 6). 

void SPI_SM_OnTxChar(void)
{
/* Write your code here ... */
CS_SPI_SetVal();
CS_SPI_ClrVal();
}

Is there a way, with interrupts or pooling mode, to trigger the final of char transmit? 

Thank in advance guys

0 件の賞賛

1,076件の閲覧回数
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello ,

How do you know SPI send one bit then run to interrupt function ?

Through oscilloscope or logic analyzer  ? If yes,  could you please show the result ?

BR

Alice

0 件の賞賛

1,076件の閲覧回数
PabloA
Contributor II

Hi, Alice, thank you for your reply, I know it because I'm using breakpoints in the debugger and my function in there doesn't work.

Right now I will try using the Logical Device Driver directly.

Regards.

0 件の賞賛