本发明涉及串口通讯,尤其涉及一种高并发多串口通讯的管理方法。
背景技术:
1、串口通信在嵌入式linux系统设备中被广泛使用,linux系统常用串口与其它设备进行通信和数据传递。常常在一个linux系统中有多个应用同时使用多个串口进行通信或者多个应用同时使用同一串口进行通信。
2、为了避免数据传输错误,需要管理者对多应用的串口通信进行管理,这往往是个很麻烦的过程,这不仅需要管理者对不同应用的请求进行响应,还需对不同串口设备的回复进行判断,串口管理的难度较大,会导致串口通信的准确性降低。
技术实现思路
1、本发明的目的在于提供一种高并发多串口通讯的管理方法,旨在解决串口通信的管理难度较大的问题。
2、为实现上述目的,本发明提供了一种高并发多串口通讯的管理方法,包括以下步骤:
3、为多个串口设备分别配置对应的缓存区,将多个应用的串口请求数据按优先级存储到对应的所述缓存区中;
4、为多个所述串口设备分别设置对应的线程,并对多个所述串口设备中的目标串口设备对应的线程进行锁机制加锁处理;
5、对所述串口请求数据进行解析,得到串口配置参数,基于所述串口配置参数为所述目标串口设备进行参数配置;
6、参数配置完成后的所述目标串口设备将所述串口请求数据中的任务数据通过加锁处理后的所述线程传输给硬件;
7、所述硬件基于所述任务数据将对应的数据打包,得到回复数据,并将所述回复数据通过所述线程返回给所述目标串口设备;
8、所述目标串口设备将所述回复数据传输给对应的应用;
9、所述应用基于所述回复数据的优先级从所述缓存区中选取优先级最高的串口请求数据进行数据传输处理。
10、其中,所述串口请求数据包括串口配置参数和任务数据:
11、所述串口配置参数包括串口设备标识、数据优先级、数据传输最大时长、波特率参数、数据位参数、校验位参数和停止位参数。
12、其中,所述目标串口设备按照所述数据传输最大时长等待接受所述硬件的回复数据;若在所述数据传输最大时长内没有收到所述回复数据,则向对应的应用回复错误标志。
13、其中,所述数据传输最大时长为1秒。
14、其中,在步骤所述应用基于所述回复数据的优先级从所述缓存区中选取优先级最高的串口请求数据进行数据传输处理之后,所述方法还包括:
15、对锁机制加锁处理的所述线程进行解锁。
16、本发明的一种高并发多串口通讯的管理方法,通过为多个串口设备分别配置对应的缓存区,将多个应用的串口请求数据按优先级存储到对应的所述缓存区中;为多个所述串口设备分别设置对应的线程,并对多个所述串口设备中的目标串口设备对应的线程进行锁机制加锁处理;对所述串口请求数据进行解析,得到串口配置参数,基于所述串口配置参数为所述目标串口设备进行参数配置;参数配置完成后的所述目标串口设备将所述串口请求数据中的任务数据通过加锁处理后的所述线程传输给硬件;所述硬件基于所述任务数据将对应的数据打包,得到回复数据,并将所述回复数据通过所述线程返回给所述目标串口设备;所述目标串口设备将所述回复数据传输给对应的应用;所述应用基于所述回复数据的优先级从所述缓存区中选取优先级最高的串口请求数据进行数据传输处理,此串口管理方法可以根据数据优先级对数据进行排序处理,并且此串口管理方法不需要管理者过多地对串口设备进行管理,降低了对多串口通信管理难度,解决了串口通信的管理难度较大的问题。
1.一种高并发多串口通讯的管理方法,其特征在于,包括以下步骤:
2.如权利要求1所述的高并发多串口通讯的管理方法,其特征在于,
3.如权利要求2所述的高并发多串口通讯的管理方法,其特征在于,
4.如权利要求3所述的高并发多串口通讯的管理方法,其特征在于,
5.如权利要求4所述的高并发多串口通讯的管理方法,其特征在于,