UART send break in K60.

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

UART send break in K60.

1,984 次查看
albert1199
Contributor I

Hello:

I'm trying to implement the SDI-12 Master (SDI-12 Support Group )

I can configure properly the UART for transmission data:

  • 1200 bps (Baudrate), 7 bit, even parity with 1 stop bit and 1 start bit.

But I don't know how can i SEND break and mask.

The Idea is :

Sin título.png

The beak is aprox 14 bits to high level

The mark is 10 bits to low level.

I can find this charapter into K60P144M150SF3RM document.

  • 55.4.2.4 Transmitting break characters
  • 55.4.2.5 Idle characters

But, i don't udenderd how can i do it.

Thanks you very much for everything.

Albert.

0 项奖励
回复
2 回复数

1,533 次查看
albert1199
Contributor I

I can find a part of solution:

   UART1->C2 |= UART_C2_TE_MASK;

   UART1->C2 |= UART_C2_SBK_MASK;

   UART1->C2 &=  (uint8_t)(~(uint8_t)UART_C2_SBK_MASK);

With this solution, i can transmit one break characters.

But in this case, I only get the break. It is logic 1 part.

TEK00000.PNG

know how i can find the mark (8.33 ms set 0 logic).??

Thanks you very much.

0 项奖励
回复

1,533 次查看
Jorge_Gonzalez
NXP Employee
NXP Employee

Hello Albert:

Sorry for the time with no responses.

Are you still having this issue?

Typically the BREAK character is formed by logic 0s, ¿so are you using the TX inverted mode? In that case you would need to just leave the line idle for the required 8.33 ms to get the 0 logic mark you are expecting, or force an idle character by clearing and setting C2[TE] as explained in the manual:

pastedImage_0.png

I hope this helps.


Best regards,
Jorge Gonzalez

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复