毕业论文

打赏
当前位置: 毕业论文 > 自动化 >

大型精密成型液压机的嵌入式智能监控与维护单元软件设计(6)

时间:2017-06-01 12:31来源:毕业论文
由于智能监控和文护系统对实时性要求较高,串口软件设计采用中断的方式进行,以获得高效、安全的信息传输,提高软件的效率。串口通信的基本流程如


由于智能监控和文护系统对实时性要求较高,串口软件设计采用中断的方式进行,以获得高效、安全的信息传输,提高软件的效率。串口通信的基本流程如图3.5所示。
图3.5 串口与STM32间的通讯流程图
为实现智能监控串口通信,需设置串口通信波特率。液压机PLC模块和智能监控端的波特率在寄存器中的值应设置成相同,在本系统中都设置为9600。
根据任务要求,程序内容主要包括:
(1) 初始化串口,使能串口中断。
(2) 通过串口中断服务程序检测串口。
(3) 将收到的字符发送回PC,然后回到步骤(2)。
对于程序的实现,我们用的是MDK开发平台。本系统实现串口通信的工程包含4类源文件,如图3.6所示:
 
图3.6 工程源文件
     图3.6工程源文件的简单介绍如下:
(1) ASM--startup_stm32f10x_hd.s 由于STM32F103是大存储器芯片,因此采用STM32标准库自带的大存储器芯片启动代码,这个文件已经配置好了初始状态,以及中断向量表,可以直接在工程里使用。
(2) FWLIB--stm32f10x_gpio.c ST公司的标准库,包含通用IO口设置的函数。
(3) stm32f10x_rcc.c ST公司的标准库,包含了关于对系统时钟设置的函数。
(4) stm32f10x_USART.c ST公司的标准库,包含了关于USART设置的函数。
(5) Misc.c ST公司的标准库,包含了关于中断设置的函数。
(6) CMSYS是关于CORETEX-M3平台的系统函数及定义。
(7) USER中main.c是例程的主函数。
(8) USER中stm32f10x_it.c 是中断服务程序。
串口通信的控制端口程序如下所示:
USART_Config(USART_TypeDef* USARTx)
{
USART_InitStructure.USART_BaudRate =9600;                //速率9600bps
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;//停止位1位USART_InitStructure.USART_Parity = USART_Parity_No;         //无校验位
USART_InitStructure.USART_HardwareFlowContro=USART_HardwareFlowControl_None;                                               //无硬件流控
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;                                                            //收发模式
USART_Init(USARTx, &USART_InitStructure);              //配置串口参数函数
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);    //使能接收中断
USART_ITConfig(USART1, USART_IT_TXE, ENABLE);    //使能发送缓冲空
USART_Cmd(USART1, ENABLE);                    //串口发送和接收数据:
USART_SendData(USART1,0x--);                      //发送数据
USART_ReceiveData(USART1,0x--);                   //接受数据函数
void GPIO_Configuration(void)                           //端口配置函数: 大型精密成型液压机的嵌入式智能监控与维护单元软件设计(6):http://www.youerw.com/zidonghua/lunwen_8245.html
------分隔线----------------------------
推荐内容