您的位置 首页 设计

一种根据μC/OS-III及STM32的多功能控制器

多功能控制器通信接口多样,具有人机界面,配有μC/OS-III操作系统,有完善的硬件驱动,可在分布式控制系统中完成多种任务。

电动轨迹车操控体系一般分为多个子体系,子体系受一个主控器操控。这样的结构设计繁琐,编程杂乱。选用μC/OS-III操作体系、STM32F103RC微操控器、12864液晶屏、PVC按键、无线串口模块、锂电池等完结具有人机界面、无线串口功用的总线主控器。该操控器具有人机界面、轨迹车主控器、遥控接纳器、遥控面板等多种功用,而且能在不同项目中运用。μC/OS-III从官网上下载,文件名为Micrium_uC-Eval-STM32F107_uCOS-III,版别为V1.29.01.00.

1硬件结构

从体系接口看,该操控器具有显现、按键、无线收发、串口、485总线等接口,作遥控面板时用电池供电,内部具有电池和充电电路。硬件框图如图1所示。

图1中无线串口用模块完结体系遥控功用,显现器用并口衔接。键盘部分有或门电路,可完结按键中止。电源电路中的外部电压、电池电压可被操控器丈量,当丈量得到无外部电压输入时,操控器主动切换到遥控面板形式。485总线接口用于和其他子体系通讯。


图1多功用操控器硬件框图

2体系移植

STM32F1XX固件库最新版别为V3.5.0.μC/OSIII支撑的库文件版别为V2.1.0.为了μC/OS-III能够在最新的固件库上运转,首要用新固件库替换原有固件库代码并改动进口头文件名,然后有两处代码需求作修正。一是芯片时钟初始化函数,函数名为“BSP_Init”,修正为:

这两处都是由于原有固件库需求多条句子才干完结时钟初始化,新版别供给专门的初始化函数。

3驱动编写

3.1键盘驱动的编写

μC/OS-III具有使命信号量的功用,该信号量跟着使命的创立而创立。键盘驱动有键盘扫描使命完结,按键触发外部中止,外部中止发送使命信号量到键盘扫描使命,键盘扫描使命扫描键盘并把键值保持在全局变量中。代码如下:

3.2液晶显现器printf函数

液晶显现器一般是输入一个字符的编码和方位然后显现出来,不能完结字符串格式化显现。完结printf,首要运用格式化函数“vsnprintf”得到格式化后的字符串,然后该字符串被打印到屏幕上。详细函数如下:

程序中va_list是在C语言中处理变参问题的一组宏,“va_start(v_args,format);”得到第一个可变参数地址,这样把自定义的变参传递到库函数的变参中。

函数“LCD12864_print_string(buf_str);”为自定义函数,由于CH12864液晶屏内的逻辑行和显现行不同。逻辑行只要两行,开始地址分别为0x80和0x90,为显现行的一三行和二四行。在打印字符串时,每打印一显现行就要从头切换方位,确保显现是接连的。

该显现器显现中文字符的开始方位只能是偶数地址,奇数地址显现中文字符会显现乱码。

3.3串口接纳驱动

在μC/OS-III代码中有串口接纳部分的驱动,但经过测验,当无操作体系的模块接连发送时,该驱动接纳呈现漏接或乱码的现象。其原由于该驱动每接纳一个字符都要进行一次体系调用,在这个调用进程中发送的字符无法接纳。改动原驱动用信号量同步的办法,运用音讯通讯和完毕字符断定的办法即可完好接纳到无操作体系模块接连发送来的字符串。

需求修正两个函数,一是中止接纳函数:

该中止函数把每个字符先保存在数组中,当呈现完毕字符时发送音讯到接纳函数。

二是串口接纳函数:

该函数每次接纳完结后关中止,未完结能够挂起并由中止函数进行接连接纳,确保了接纳速度。

4软件结构

多功用操控器或许作为手控器、遥控接纳器、遥控器运用。依据外部电源状况和按键信号改动程序履行的形式来完结一机多用。

作为手控器时,每个用户界面作为一个使命。每个界面使命需求树立一些子使命帮忙处理,这些子使命受使命信号量和使命音讯操控,当取得信号量或许音讯时使命履行,履行完结后挂起。子使命依据用户操作把相关指令发往体系其他单元,各个单元履行多功用操控器的指令并回来用户需求检查的参数。体系单元一般作业在状况机的形式,依据多功用操控器的指令进入不同的运转状况。轨迹运输车的电机操控单元就可作业在行进、倒车、泊车三种状况,这三种状况可加上速度参数。电机操控器收到状况和参数后主动履行并回来电量功率等参数给用户界面。

作为遥控接纳器时,多功用操控器作为一个数据中继器运用,主要使命是首要从无线串口接纳数据,然后核对该数据的确认码。核对经过则经过485总线发给体系其他单元,不然丢掉该数据。当体系单元回来数据时,多功用操控器在数据上增加确认码,然后从无线串口对外发送。

作为遥控器时,该形式和手控器作业进程大致相同。不同的是经过无线串口通讯,发射时增加确认码,接纳时核对确认码。

结语

多功用操控器通讯接口多样,具有人机界面,配有μC/OS-III操作体系,有完善的硬件驱动,可在分布式操控体系中完结多种使命。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/sheji/197627.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部