基于stm32mcu的控制器开机界面的串口通信方法

文档序号:9564452阅读:527来源:国知局
基于stm32mcu的控制器开机界面的串口通信方法
【技术领域】
[0001]本发明涉及一种串口通信的生成方法,具体的说,涉及了一种基于STM32MCU的控制器开机界面的串口通信方法。
【背景技术】
[0002]串口通信基于硬件电路设计常用的有RS232、RS485、RS422三种,根据不同的需求选择不同的串口通信方式。基于软件设计最常用的最普遍的就是Modbus串口通信协议,但是由于发电机组通讯行业有着其普通而又特殊的地方,常见的监控数据使用Modbus串口通信协议即可,而发电机组开机界面有着其特殊的地方,数据相对繁多,不同客户定制,不同液晶显示,在做通信的过程中,使用通用的通信方法不免在这上面花费大量的时间精力去整理处理,而有的时候还经常出错。
[0003]为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。

【发明内容】

[0004]本发明的目的是针对现有技术的不足,提供一种操作统一、灵活,易于实现的基于STM32MCU的控制器开机界面的串口通信方法。
[0005]为了实现上述目的,本发明所采用的技术方案是:一种基于STM32MCU的控制器开机界面的串口通信方法,该方法包括以下步骤:
步骤1:建立开机界面数据模型
开机界面数据模型是一个具有行列的二维字节型数组,以点阵液晶驱动扫描BMP位图的方式生成;
步骤2:建立Flash的操作模型
此操作模型包括解锁Flash、页擦除Flash、写开机界面数据、加锁Flash,首先解锁Flash,接着擦除所需要用到的Flash的内存空间,然后写入开机界面数据,最后加锁Flash ;
步骤3:建立通信数据包,所述通信数据包包括操作Flash、写开机界面数据;
设功能码09H为操作Flash的功能码,功能码0为操作解锁Flash的功能码,功能码1是页擦除Flash的功能码,功能码2为加锁Flash的功能码;
操作Flash包括发送和接收,其中,操作Flash的数据包格式为,顺次排列的模块地址、功能码09H、Flash地址、操作功能码、开机界面数据、校验码;在解锁或加锁Flash时,Flash地址为开机页面存储在Flash的起始地址;
设功能码10H是写开机界面数据的功能码;
写开机界面数据包括发送和接收,其中,写开机界面数据的数据包格式为,顺次排列的模块地址、功能码10H、Flash地址、写的字节数、开机界面数据、校验码;写的字节数可以自定义,最大为256 ;
步骤4:通信实现在控制器的Flash预设一个保存开机界面的缓存区,上位机的监控器与控制器通信,从控制器获取步骤3的通信数据包,运行步骤2。
[0006]本发明相对现有技术具有突出的实质性特点和显著进步,具体的说,本发明通过构建开机界面数据模型、STM32MCU Flash的操作模型和通讯数据包,具备能像使用通用通信协议一样使用基于STM32MCU的控制器的通信方法,具有操作规范、灵活、简单的优点。
【具体实施方式】
[0007]下面通过【具体实施方式】,对本发明的技术方案做进一步的详细描述。
[0008]—种基于STM32MCU的控制器开机界面的串口通信方法,该方法包括以下步骤: 步骤1:建立开机界面数据模型
开机界面数据模型是一个具有行列的二维字节型数组,以点阵液晶驱动扫描BMP位图的方式生成;
步骤2:建立Flash的操作模型
此操作模型包括解锁Flash、页擦除Flash、写开机界面数据、加锁Flash,首先解锁Flash,接着擦除所需要用到的Flash的内存空间,然后写入开机界面数据,最后加锁Flash ;
步骤3:建立通信数据包,所述通信数据包包括操作Flash、写开机界面数据;
设功能码09H为操作Flash的功能码,功能码0为操作解锁Flash的功能码,功能码1是页擦除Flash的功能码,功能码2为加锁Flash的功能码;
操作Flash包括发送和接收,其中,操作Flash的数据包格式为,顺次排列的模块地址、功能码09H、Flash地址、操作功能码、开机界面数据、校验码;在解锁或加锁Flash时,Flash地址为开机页面存储在Flash的起始地址;
设功能码10H是写开机界面数据的功能码;
写开机界面数据包括发送和接收,其中,写开机界面数据的数据包格式为,顺次排列的模块地址、功能码10H、Flash地址、写的字节数、开机界面数据、校验码;写的字节数可以自定义,最大为256 ;
步骤4:通信实现
在控制器的Flash预设一个保存开机界面的缓存区,上位机的监控器与控制器通信,从控制器获取步骤3的通信数据包,运行步骤2。
[0009]本发明方法,从通信数据包首先解锁Flash,接着擦除所需要用到的Flash的内存空间,即保存开机界面的缓存区,它是以一页为单位的,如果开机界面的数据不是一页的整数倍,但这个缓存区一定要大于等于开机界面数据的内存大小,然后写开机界面数据,最后加锁Flash,防止Flash数据更改,起到安全保护的功能。写开机界面数据的发送与接收都有严格的通信格式,防止错误的发生,规范操作,对于整个通信方法的移植性更好。
[0010]最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的【具体实施方式】进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
【主权项】
1.一种基于STM32MCU的控制器开机界面的串口通信方法,其特征在于:该方法包括以下步骤: 步骤1:建立开机界面数据模型 开机界面数据模型是一个具有行列的二维字节型数组,以点阵液晶驱动扫描BMP位图的方式生成; 步骤2:建立Flash的操作模型 此操作模型包括解锁Flash、页擦除Flash、写开机界面数据、加锁Flash,首先解锁Flash,接着擦除所需要用到的Flash的内存空间,然后写入开机界面数据,最后加锁Flash ; 步骤3:建立通信数据包,所述通信数据包包括操作Flash、写开机界面数据; 设功能码09H为操作Flash的功能码,功能码0为操作解锁Flash的功能码,功能码1是页擦除Flash的功能码,功能码2为加锁Flash的功能码; 操作Flash包括发送和接收,其中,操作Flash的数据包格式为,顺次排列的模块地址、功能码09H、Flash地址、操作功能码、开机界面数据、校验码;在解锁或加锁Flash时,Flash地址为开机页面存储在Flash的起始地址; 设功能码10H是写开机界面数据的功能码; 写开机界面数据包括发送和接收,其中,写开机界面数据的数据包格式为,顺次排列的模块地址、功能码10H、Flash地址、写的字节数、开机界面数据、校验码;写的字节数可以自定义,最大为256 ; 步骤4:通信实现 在控制器的Flash预设一个保存开机界面的缓存区,上位机的监控器与控制器通信,从控制器获取步骤3的通信数据包,运行步骤2。
【专利摘要】本发明提供一种基于STM32MCU的控制器开机界面的串口通信方法,该方法包括,步骤1:以点阵液晶驱动扫描BMP位图的方式生成开机界面数据模型;步骤2:建立Flash的操作模型,包括解锁Flash、页擦除Flash、写开机界面数据、加锁Flash,首先解锁Flash,擦除所需要用到的Flash的内存空间,然后写入开机界面数据,最后加锁Flash;步骤3:建立通信数据包,包括操作Flash、写开机界面数据;操作Flash包括发送和接收,写开机界面数据包括发送和接收;步骤4:在控制器的Flash预设一个保存开机界面的缓存区,上位机的监控器与控制器通信,从控制器获取步骤3的通信数据包,运行步骤2。
【IPC分类】G06F9/44
【公开号】CN105320524
【申请号】CN201510782410
【发明人】李朝晖, 杨新征, 马雷, 高昌盛, 宋耀军
【申请人】郑州众智科技股份有限公司
【公开日】2016年2月10日
【申请日】2015年11月16日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1