微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于ARM和VxWorks实现自动彩信发送的嵌入式系统

基于ARM和VxWorks实现自动彩信发送的嵌入式系统

时间:04-29 来源:互联网 点击:

根据事件队列的内容进行相应处理;事件处理任务为一永久循环。

  软件设计流程如图4所示。

  

  图4 软件流程图

  ● 软件关键设计的具体实现

  (1)当系统启动时等待一段时间,若超时则正常加载内核进行引导,若从串口uart接收到配置参数请求信息,则通过串口uart发送配置文件到pc端;pc端对配置参数进行处理后,再将参数通过串口发送到设备,设备再将参数以文件的形式进行存储。

  (2)初始化手机模块。先利用手机模块的硬复位线将手机进行硬复位,一直等到手机能响应at指令,再将手机的信息通知功能打开,初始化短信处理到文本模式,激活cdma,一直等待,手机信号要足够强。

  (3)当接收到满足触发条件的短信息后,发起中断处理任务,将uim卡中的短消息读出到缓冲,将短消息删除,对缓冲中短消息的有效性进行判断,若为有效短消息则进行相应的处理,再将根据短消息配置后的参数保存。

  (4)系统根据触发参数发起任务进行拍照、封装,调用建立ppp连接的函数,先用at指令atd#777接通cdma,然后初始化ppp连接,当ppp连接完成后设置好相应的ip参数。

  (5)然后初始化wap相关参数,建立wap连接,调用彩信发送函数将图片发送到目的移动通信终端用户,断开ppp连接。

  关键源代码如下。

  status mmsmain(viod)

  {

  int iofd, i;

  psysinfo = (sysinfo_t *) calloc(1, sizeof(sysinfo_t));

  psysinfo-》tickrate = sys_tick_rate;

  psysinfo-》pqueue = msgqcreate( sys_msg_count, sizeof(sysmsg_t), msg_q_fifo );

  psysinfo-》pcamqueue = msgqcreate( sys_msg_count, sizeof(sysmsg_t), msg_q_fifo );

  psysinfo-》pphotoqueue = msgqcreate(sys_msg_count, sizeof(sysmsg_t), msg_q_fifo);

  psysinfo-》pmodemqueue = msgqcreate(sys_msg_count, sizeof(sysmsg_t), msg_q_fifo);

  debug_print(("now begin read config information.。。 "));

  if (readflash() == error)

  {

  initdefaultinfo();

  readflash();

  }

  debug_print(("now end read config information.。。 "));

  #ifndef cdma_module

  while(wavecomlibinit() == error);

  for (i=0; i《2; i++)

  {

  if (startppp() == ok)

  break;

  pppdelete(0);

  taskdelay(30);

  wavecomlibinit();

  }

  if (i》= 2)

  {

  debug_print(("startppp error! "));

  return error;

  }

  if (wapinit()!= ok)

  {

  debug_print(("wapinit error! "));

  return error;

  }

  #else

  cdmalibinit();

  #endif

  sysrecvlibinit();

  taskspawn("tcamera", 80, 0, 50 * 1024, cameratask, psysinfo-》pcamqueue, psysinfo-》pphotoqueue,2,3,4,5,6,7,8,9);

  photosendlibinit();

  taskdelay(2);

  irlibinit();

  if (sysinitinfo-》motiondetction)

  camqsend(sys_motion_pic, null, 0x0200 + sysinitinfo-》campixel);

  commcallbackfun = commstrhandle;

  psysinfo-》initialized = true;

  return ok;

  }

  主要实现的功能有:初始化系统参数,初始化捕获、图像压缩处理器模块,初始化手机modem,建立ppp连接,发送连接包,断开ppp连接并返回;建立检查modem信息接收任务,建立系统主循环任务,在主循环任务中处理modem信息接收任务和中断处理程序中发送到信息队列中的内容。

  这种实现自动发送彩信的系统可用于无线监控和实现智能家居安全,系统收发机制使用cdma网络传输信息,目标移动通信终端用户不论在何地都可以接收由系统发送的彩信,从而能够实现远程监控等功能,为用户提供更多的安全和便利。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top