关于PE配置KEA的UART后接收不定长数据的问题。

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

关于PE配置KEA的UART后接收不定长数据的问题。

1,894 Views
海军杨
Contributor II

PE配置UART后接收数据没有问题,但是我现在发现只能接收下图pastedImage_1.png

函数中设置的大小长度,这样才能进入EVENTS.C中相应的用户可写函数,原因是不能触发InterruptRx(中)的条件(倒数第三行的):

pastedImage_2.png

这样在把接收数目设置为最大可能的长度之后,短长度的只能多次发送达到最大长度之后才会跳转到Events.C中调用用户处理代码。

像其他MCU一样在上图中的Data = 。。。。这一行下面加自己的用户代码来接收不定长数据是没有问题的。但是这样PE更新配置之后这些用户代码又会被清除。还得重新添加,这样比较麻烦。

是不是我哪里用的不对?或者还有什么好的办法?请教。

Labels (1)
2 Replies

1,661 Views
Robin_Shen
NXP TechSupport
NXP TechSupport

Hi 海军 杨,

抱歉

这款MCU的UART模块没有硬件FIFO,所以默认是在AS1_ReceiveBlock通过代码实现的。

如果你想要实现可变长度串口接收,恐怕只能将AS1_ReceiveBlock函数的Size - Number of characters to receive设置成1,然后在AS1_OnBlockReceived里自己编写代码实现了。

Best Regards,

Robin

 

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

1,661 Views
海军杨
Contributor II

我在Events里面无法连续接收,在设置接收数据长度为1的情况下。

最后我在Data下面增加连续读取,帧头累加的方式实现了不定长数据的读取,但是要把后面的代码给他屏蔽掉,不用进Events中的回调函数。

0 Kudos
Reply