Matlab 如何动态更改Simulink xPC目标串行通信速度
我有一个xPC目标应用程序,它通过RS-232与设备通信。我正在为此使用xPC串行块。Matlab 如何动态更改Simulink xPC目标串行通信速度,matlab,simulink,xpc-target,Matlab,Simulink,Xpc Target,我有一个xPC目标应用程序,它通过RS-232与设备通信。我正在为此使用xPC串行块。 要与此设备通话,我首先必须以默认速度启动,比如9600 bps,请求将速度更改为57600 bps,然后更改我这边的速度以匹配它。 xPC块的问题在于,它强制您在运行之前选择特定的速度,并且不能在运行时更改它。有什么方法/技巧/黑客可以做到这一点吗?这是我目前的看法。我不认为可以使用现有的Simulink块来完成。我想我必须使用Matlab附带的xpcserial C代码,使用设置RS-232速度的代码,并将
要与此设备通话,我首先必须以默认速度启动,比如9600 bps,请求将速度更改为57600 bps,然后更改我这边的速度以匹配它。
xPC块的问题在于,它强制您在运行之前选择特定的速度,并且不能在运行时更改它。有什么方法/技巧/黑客可以做到这一点吗?这是我目前的看法。我不认为可以使用现有的Simulink块来完成。我想我必须使用Matlab附带的xpcserial C代码,使用设置RS-232速度的代码,并将其封装在我自己的S函数中。我同意你的看法:恐怕我认为这是做不到的 经过进一步思考,我意识到在我的xPC系统中,我收到一条编译警告,告诉我正在使用的块在运行时不支持样本时间更改;这意味着这通常不是不可能的…Ian 我以前在这方面所做的只是修改XPC target后面的寄存器。这很难看,但xPCTarget首先是难看的 尝试修改行控制寄存器并直接设置除数——您所需要的只是串行端口IO地址,这一点您是知道的 无论如何,这是值得一试的,你无论如何都得去做