首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于嵌入式技术的温度测量系统设计
来源:本站整理  作者:佚名  2010-01-07 12:37:28



  本系统用到了串口通信中间件和数据队列中间件,即只需要将中间件程序添加到系统项目表中去,调用中间件的接口函数即可实现串口的通信,如:调用URAT0Init(9600)实现串口的初始化,其中,波特率可直接进行调整;调用URAT0Putch(temp4)实现将temp4中存储的数据通过串口发送出去。当要将应用程序移植到其他系统上时,只要对这两个函数及其他相关函数进行适当修改,而无需改变应用程序。

  上位机的通信程序运用了MSComm 控件,它是Microsoft公司提供的,简化Windows下串行通信编程的ActiveX控件,该控件提供了两种处理通信问题的方法,本系统采用了事件驱动法。当串口发生事件或错误时,MSComm控件会产生OnComm事件,用户程序可以捕获该事件进行相应处理。在编程过程中,就可以在OnComm事件处理函数中加入相应的处理代码。

  利用MSComm控件实现计算机通信的关键是正确设置MSComm控件的属性和方法。以下是用VB编写的部分设置程序:

  Private Sub Form_Load()

  Me.Show

  MSComm1.CommPort = 1            //选择串口com1

  MSComm1.Settings = "9600,n,8,1"     //设置MSComm的连接属性

  MSComm1.RThreshold = 2           //定义阀值为2

  MSComm1.InBufferSize = 2

  i = 0

  Picture1.Visible = False

  On Error Resume Next

  End Sub

  连接属性"BBBB,P,D,S"中,BBBB 为波特率,P为奇偶校验,D为数据位数,S为停止位数。阀值定为2,则在接收缓冲区中的字节数超过“2”时,就转入OnComm()事件处理程序执行。

  3. 嵌入式系统软件

  采用了嵌入式操作系统uC/OS-II,它是专门为计算机的嵌入式应用而设计的。 uC/OS-II是基于优先级的占先式多任务实时内核。由于在多任务实时操作系统中,应用程序是以任务形式运行的,操作系统的一个重要的作用就是任务的调度,所以要在操作系统下实现应用程序的执行,就必须建立任务,在任务中实现测温和串行通信等操作。建立任务如下:

  #include "config.h"

  #define  TASK_STK_SIZE   64            //定义任务栈的大小为64字节

  OS_STK  TaskStartStk[TASK_STK_SIZE];   //定义任务栈

  void  TaskStart(void *data);                //声明任务

  int main (void)

  {

  OSInit();                               //操作系统初始化

  OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0); // 建任务

  OSStart();                             //启动操作系统

  return 0;

  }

上一页  [1] [2] [3] [4]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:269,351.60000 毫秒