Modbus RTU communication error

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

Modbus RTU communication error

44 次查看
An95
Contributor I

I am writing code for MC9S08JM60 to read MODBUS RTU holding registers. I am reading 15 holding registers which gives me a 35 byte frame. So i am expected to get 1 interrupt for each byte but i am getting 1 interrupt for the first byte of the frame and next interrupt is for the first byte of the next frame. So I am losing the rest 34 bytes. Please provide any input for this.

I am attaching my code snippets.

0 项奖励
回复
2 回复数

22 次查看
carlos_o
NXP TechSupport
NXP TechSupport

Hi @An95 

Thank you for your post!

There is any documentation of Modbus RTU with the S08.

But the issue you are facing could be related to not clear the RDRF.

The RDRF (Receive Data Register Full) flag is cleared only by reading SCI1D after reading SCI1S1. If SCI1D is not read in the ISR, the interrupt fires once and then the receiver stalls.

Refer to 14.2.4 SCI Status Register 1 (SCIxS1) of the MC9S08JM60 Series Data Sheet.

Make sure your code is clearing the flag correctly.

BR

0 项奖励
回复

2 次查看
An95
Contributor I

Hi @carlos_o ,

Thank you for your response.
The RDRF flag is cleared when it enters the callback function of the interrupt service routine. The 35 byte frame is coming in a single interrupt. If I take a buffer of 35 bytes even then i am not able to read the whole frame.
Please share your input regarding this.
BR

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2400511%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EModbus%20RTU%20%E9%80%9A%E4%BF%A1%E9%94%99%E8%AF%AF%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2400511%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%20MC9S08JM60%20%E8%83%BD%E5%A4%9F%E8%AF%BB%E5%8F%96%20MODBUS%20RTU%20%E4%BF%9D%E6%8C%81%E5%AF%84%E5%AD%98%E5%99%A8%E3%80%82%E6%88%91%E6%AD%A3%E5%9C%A8%E8%AF%BB%E5%8F%96%2015%20%E4%B8%AA%E4%BF%9D%E6%8C%81%E5%AF%84%E5%AD%98%E5%99%A8%EF%BC%8C%E5%BE%97%E5%88%B0%E4%B8%80%E4%B8%AA%2035%20%E5%AD%97%E8%8A%82%E7%9A%84%E5%B8%A7%E3%80%82%E5%9B%A0%E6%AD%A4%EF%BC%8C%E6%88%91%E9%A2%84%E6%9C%9F%E6%AF%8F%E4%B8%AA%E5%AD%97%E8%8A%82%E9%83%BD%E4%BC%9A%E6%94%B6%E5%88%B0%201%20%E4%B8%AA%E4%B8%AD%E6%96%AD%EF%BC%8C%E4%BD%86%E6%88%91%E6%94%B6%E5%88%B0%E7%9A%84%E4%B8%AD%E6%96%AD%E6%98%AF%E5%B8%A7%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%AD%97%E8%8A%82%EF%BC%8C%E8%80%8C%E4%B8%8B%E4%B8%80%E4%B8%AA%E4%B8%AD%E6%96%AD%E6%98%AF%E4%B8%8B%E4%B8%80%E5%B8%A7%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%AD%97%E8%8A%82%E3%80%82%E6%89%80%E4%BB%A5%E5%89%A9%E4%B8%8B%E7%9A%84%2034%20%E5%AD%97%E8%8A%82%E5%B0%B1%E4%B8%A2%E5%A4%B1%E4%BA%86%E3%80%82%E8%AF%B7%E6%8F%90%E4%BE%9B%E4%BB%BB%E4%BD%95%E6%84%8F%E8%A7%81%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%88%91%E9%99%84%E4%B8%8A%E4%BA%86%E6%88%91%E7%9A%84%E4%BB%A3%E7%A0%81%E7%89%87%E6%AE%B5%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2400630%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Modbus%20RTU%20communication%20error%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2400630%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%97%A8%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F209102%22%20target%3D%22_blank%22%3E%40An95%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%B8%96%E5%AD%90%EF%BC%81%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%98%AF%E5%90%A6%E6%9C%89%E5%85%B3%E4%BA%8ES08%E7%9A%84Modbus%20RTU%E6%96%87%E6%A1%A3%EF%BC%9F%3CBR%20%2F%3E%3CBR%20%2F%3E%E4%BD%86%E6%82%A8%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98%E5%8F%AF%E8%83%BD%E4%B8%8E%E6%9C%AA%E6%B8%85%E9%99%A4%20RDRF%20%E6%9C%89%E5%85%B3%E3%80%82%3C%2FP%3E%0A%3CP%3E%E5%8F%AA%E6%9C%89%E5%9C%A8%E8%AF%BB%E5%8F%96%20SCI1S1%20%E4%B9%8B%E5%90%8E%E8%AF%BB%E5%8F%96%20SCI1D%20%E6%89%8D%E8%83%BD%E6%B8%85%E9%99%A4%20RDRF%EF%BC%88%E6%8E%A5%E6%94%B6%E6%95%B0%E6%8D%AE%E5%AF%84%E5%AD%98%E5%99%A8%E5%B7%B2%E6%BB%A1%EF%BC%89%E6%A0%87%E5%BF%97%E3%80%82%E5%A6%82%E6%9E%9C%E5%9C%A8%20ISR%20%E4%B8%AD%E6%9C%AA%E8%AF%BB%E5%8F%96%20SCI1D%EF%BC%8C%E5%88%99%E4%B8%AD%E6%96%AD%E8%A7%A6%E5%8F%91%E4%B8%80%E6%AC%A1%EF%BC%8C%E7%84%B6%E5%90%8E%E6%8E%A5%E6%94%B6%E5%99%A8%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%AF%B7%E5%8F%82%E9%98%85%2014.2.4%20%E8%8A%82MC9S08JM60%20%E7%B3%BB%E5%88%97%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C%E4%B8%AD%E7%9A%84%20SCI%20%E7%8A%B6%E6%80%81%E5%AF%84%E5%AD%98%E5%99%A8%201%20(SCIxS1)%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E7%9A%84%E4%BB%A3%E7%A0%81%E8%83%BD%E5%A4%9F%E6%AD%A3%E7%A1%AE%E6%B8%85%E9%99%A4%E6%A0%87%E5%BF%97%E4%BD%8D%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3EBR%3C%2FP%3E%3C%2FLINGO-BODY%3E