Modbus RTU communication error

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

Modbus RTU communication error

39件の閲覧回数
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 件の賞賛
返信
1 返信

17件の閲覧回数
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 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2400511%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EModbus%20RTU%E9%80%9A%E4%BF%A1%E3%82%A8%E3%83%A9%E3%83%BC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2400511%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E7%A7%81%E3%81%AFMC9S08JM60%E7%94%A8%E3%81%AEMODBUS%20RTU%E4%BF%9D%E6%8C%81%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9B%B8%E3%81%84%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E7%A7%81%E3%81%AF15%E5%80%8B%E3%81%AE%E4%BF%9D%E6%8C%81%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%81%A3%E3%81%A6%E3%81%8A%E3%82%8A%E3%80%81%E3%81%9D%E3%82%8C%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A635%E3%83%90%E3%82%A4%E3%83%88%E3%81%AE%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%81%8C%E5%BE%97%E3%82%89%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%E3%81%A4%E3%81%BE%E3%82%8A%E3%80%81%E5%90%84%E3%83%90%E3%82%A4%E3%83%88%E3%81%94%E3%81%A8%E3%81%AB1%E5%9B%9E%E3%81%AE%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%82%92%E5%8F%97%E3%81%91%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E6%9C%9F%E5%BE%85%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%81%AE%E6%9C%80%E5%88%9D%E3%81%AE%E3%83%90%E3%82%A4%E3%83%88%E3%81%AF1%E5%9B%9E%E3%80%81%E6%AC%A1%E3%81%AE%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%81%AF%E6%AC%A1%E3%81%AE%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%81%AE%E6%9C%80%E5%88%9D%E3%81%AE%E3%83%90%E3%82%A4%E3%83%88%E3%81%AB%E5%AF%BE%E3%81%97%E3%81%A6%E3%81%A7%E3%81%99%E3%80%82SO%E3%80%81%E6%AE%8B%E3%82%8A%E3%81%AE34%E3%83%90%E3%82%A4%E3%83%88%E3%82%92%E5%A4%B1%E3%81%86%E3%81%93%E3%81%A8%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%81%AB%E9%96%A2%E3%81%97%E3%81%A6%E4%BD%95%E3%81%8B%E3%81%94%E6%84%8F%E8%A6%8B%E3%81%8C%E3%81%82%E3%82%8C%E3%81%B0%E3%81%8A%E8%81%9E%E3%81%8B%E3%81%9B%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%82%B3%E3%83%BC%E3%83%89%E3%82%B9%E3%83%8B%E3%83%9A%E3%83%83%E3%83%88%E3%82%92%E6%B7%BB%E4%BB%98%E3%81%97%E3%81%BE%E3%81%99%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%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F209102%22%20target%3D%22_blank%22%3E%40An95%E3%81%95%E3%82%93%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E6%8A%95%E7%A8%BF%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%EF%BC%81%3CBR%20%2F%3E%3CBR%20%2F%3ES08%E3%81%ABModbus%20RTU%E3%81%AE%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AF%E5%AD%98%E5%9C%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%81%97%E3%81%8B%E3%81%97%E3%80%81%E3%81%82%E3%81%AA%E3%81%9F%E3%81%8C%E7%9B%B4%E9%9D%A2%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E5%95%8F%E9%A1%8C%E3%81%AFRDRF%E3%82%92%E3%82%AF%E3%83%AA%E3%82%A2%E3%81%97%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%81%AB%E9%96%A2%E4%BF%82%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3ERDRF%EF%BC%88%E5%8F%97%E4%BF%A1%E3%83%87%E3%83%BC%E3%82%BF%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E6%BA%80%E6%9D%AF%EF%BC%89%E3%83%95%E3%83%A9%E3%82%B0%E3%81%AF%E3%80%81SCI1S1%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%81%A3%E3%81%9F%E5%BE%8C%E3%81%ABSCI1D%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%81%A3%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AB%E3%81%AE%E3%81%BF%E3%82%AF%E3%83%AA%E3%82%A2%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82ISR%E3%81%A7SCI1D%E3%81%8C%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8C%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%80%81%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%81%AF%E4%B8%80%E5%BA%A6%E7%99%BA%E7%94%9F%E3%81%97%E3%80%81%E3%81%9D%E3%81%AE%E5%BE%8C%E3%83%AC%E3%82%B7%E3%83%BC%E3%83%90%E3%81%8C%E5%81%9C%E6%AD%A2%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E14.2.4%E3%82%92%E5%8F%82%E7%85%A7MC9S08JM60%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B7%E3%83%BC%E3%83%88%E3%81%AESCI%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF1%EF%BC%88SCIxS1%EF%BC%89%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%82%B3%E3%83%BC%E3%83%89%E3%81%8C%E3%83%95%E3%83%A9%E3%82%B0%E3%82%92%E6%AD%A3%E3%81%97%E3%81%8F%E3%82%AF%E3%83%AA%E3%82%A2%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3EBR%3C%2FP%3E%3C%2FLINGO-BODY%3E