关闭
关闭
首页 > 嵌入式软件 > linux

 

3.jpg

4.3 软件设计

使用了异步事件驱动函数库,程序设计简单而容易实现,程序主要由2部分组成,即主程序设计和回调函数程序设计,主程序只需做初始化和发送短信,其余功能都放在回调函数中完成。

在主程序中,各变量赋初值,调用cssl_open函数打开串口,设定的参数为采用串口1,即嵌入式Linux的ttyS0设备,波特率9600bps,8位数据位,1位停止位,无奇偶校验,无数据流控制,定义串口接收数据缓冲区有数据输入时,回调函数为callback函数,该函数对数据缓冲区中的数据进行分析处理。通过发送AT+CMGF=0指令定义短信模式为PDU模式,并判断是否有短信需要发送。对待发送的短信按照PDU发送字符串格式进行编码。

回调函数中首先读取输入缓冲区内容,根据对标志和缓冲区内容的判断,可以得知回调事件是由哪个事件引起,分别加以处理,由于每次向GSM模块发送AT指令后,模块会发送OK或ERROR等响应表示操作成功或失败,所以在回调函数中一个很重要的功能就是判断AT指令是否发送成功,为了区分不同AT指令的响应,程序中采用状态标志,表征系统发送AT指令的类型。在收到新短信后,需要提取短信发送方电话号码、短信发送时间和短信内容等相关信息,并加以存储,提取的依据就是短信接收PDU字符串的编码格式。为了避免由于短信满而无法接收新短信,需要将处理过的短信删除。相关的流程图如图2和图3所示。

 

4.jpg

图2 主程序流程图

 

5.jpg

图3 回调函数程序流程图

5. 结论

本文的创新之处在于提供了嵌入式Linux下GSM模块的短信收发系统设计方法,程序设计中利用串行接口驱动函数库libcssl,以串口I/O事件驱动设备的数据采集。短信收发采用PDU模式,能够处理中文、英文和中英文短信。异步事件驱动的架构可以提高系统并发处理性能,程序能够执行多个异步操作而不调用阻塞线程,降低系统开销。嵌入式系统加GSM模块的系统组成体积小巧,非常适合于偏远地区或移动的数据采集系统。根据系统的需要,还可以充分利用MC35模块的GPRS功能,实现高速的数据采集。

换一批

延伸阅读

[新鲜事] Linux内核修复Ryzen线程数目识别错误,多线程性能将会飙升

Linux内核修复Ryzen线程数目识别错误,多线程性能将会飙升

Linux已经在官网发布最新的内核修复这一问题,预计Ryzen 7处理器又能纵横在Linux系统上。......

关键字:Linux内核 Ryzen 多线程

[新鲜事] 针对 Linux 的木马程序Wirenet出现

针对 Linux 的木马程序Wirenet出现

以往Linux其中一个卖点是“没有病毒”,然而Linux日益普及却令它也开始成为恶意程式的目标。根据俄罗斯保安方案开发商Dr Web的报告、继 Mac OS X之后,在Linux也发现了意图取得用户密码的木马程序。 ......

关键字:Wirenet Linux 木马 程序

[新鲜事] Windows、Mac、Linux 3 版 Skype 更新齐发

Windows、Mac、Linux 3 版 Skype 更新齐发

在今天一天内 Windows、Mac、Linux 3 个平台上的 Skype 都获得了更新。在 Windows 版本中 UI 得到了一些改进,包括可以将联系人「钉」到联系人列表顶部、在配置较差的电脑上加入了影像渲染的反向兼容性以及更好的 ......

关键字:Windows Linux Skype Mac

[猎聘集] 全世界最成功的程序员:远见卓识会毁了Linux

全世界最成功的程序员:远见卓识会毁了Linux

Linux发明者称,正因为我不知道它将来会怎样,所以我对别人的建议和影响才表现得格外开放。......

关键字:程序员 Linux 开源

[真心话] Windows、Linux、OS X 版 Opera 12.10 正式发布:支持 Windows 8 触控、Retina 屏幕、SPDY 协议

Windows、Linux、OS X 版 Opera 12.10 正式发布:支持 Windows 8 触控、Retina 屏幕、SPDY 协议

Opera 日前正式在 Windows、Linux、OS X 三大平台上推出了 12.10 版本。作为 Opera 12 的后续版本,Opera 12.10 新加入了对 OS X 通知中心、Retina 屏幕、Windows 8 触控......

关键字:Windows Retina Linux 12.10

[新鲜事] Valve老大G胖:支持Linux因Win8是个灾难

Valve老大G胖:支持Linux因Win8是个灾难

华尔街日报》旗下科技博客AllThingsD报道,昨日Valve老大Gabe Newell出席了由Google风投等私募公司在西雅图举行的一场晚宴,期间和前微软游戏发行部门副总裁Ed Fries谈到了他近期对业界一些的看法。Valve在上周......

关键字:Valve Linux Win8

[新鲜事] Twitter 成为 Linux 基金会新成员

Twitter 成为 Linux 基金会新成员

继英伟达和三星之后,Twitter 日前宣布他们也将于本周在加州举行的北美站 LinuxCon 大会上正式成为 Linux 基金会的成员(英特尔、IBM、Google 等:「鼓掌欢迎!」)。Twitter 的开源业务经理 Chris An......

关键字:Twitter Linux 基金会

[新鲜事] Linux Steam Beta 版将会在十月封测

Linux Steam Beta 版将会在十月封测

Valve 旗下的 Steam 一直以来都是 Windows 的好伙伴,不过他们的创办人 Gabe Newell 早前曾经高调说过:「Windows 8 是一场灾难」,并会将 Steam 平台移植到 Linux 作为「避险策略」。直到现在......

关键字:Linux Steam Beta 封测

[新鲜事] Linux之父怒喷谷歌安全工程师为哪般?

Linux之父怒喷谷歌安全工程师为哪般?

上周五,Linux 之父 Linus Torvalds 在内核邮件列表上用很犀利的言辞抨击了 Google Pixel 安全团队的开发者 Kees Cook,引起了大家广泛地讨论。......

关键字:Linux 谷歌 安全工程师

[新鲜事] 退隐江湖!GSM 2G网络2017年关闭

退隐江湖!GSM 2G网络2017年关闭

人类社会已经进入了4G移动通信时代,而越来越多的运营商也在关闭GSM和CDMA二代(2G)网络。而据IDG新闻社的报道,全球诸多GSM网络运营商,已经将2017年确定为关闭GSM网络的年份。而之所以关闭GSM等2G网络,是将无线电频......

关键字:网络 GSM

[新鲜事] CentOS系统宣布为ARM(armhfp)硬件架构发布CentOS Linux 7(1611)镜像

CentOS系统宣布为ARM(armhfp)硬件架构发布CentOS Linux 7(1611)镜像

今天,CentOS系统开发人员Fabian Arrotin非常高兴的宣布为ARM(armhfp)硬件架构发布CentOS Linux 7(1611)镜像。该GNU/Linux发行版本深受单板计算机和嵌入式设备的喜爱,支持树莓派3、树莓派2、......

关键字:ARM CentOS Linux

[真心话] 神技能get:实现1秒启动Linux?

神技能get:实现1秒启动Linux?

尽可能快的启动系统,对于自动化设备是非常重要的。系统能够在用户无法感知的时间内启动,也就意味着在不需要工作时,可以完全切断电源,而不是挂起进入休眠状态。本文基于Atmel AT91系列片上系统和NAND闪存,经过一......

关键字:Linux 自动化设备 启动 系统
条评论

我 要 评 论

网友评论

大家都爱看

  • 华为的优势,就是自家的各种自研芯片

    CPU即中央处理器,是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

    2017-08-16
  • 你不知道Ryzen芯片有多火?来看看AMD的股票吧

    据外媒报道,美银美林认为,AMD最新的Ryzen芯片可能会引发一波销售浪潮,进而推动该股继续上涨。它认为AMD股票还有40%以上的上涨空间。

    2017-08-16
  • 国产芯片:厚积薄发,强势崛起

    关于国产芯片,是近几年才有崛起的势头,可是在几年之前,国产芯片还处于“沉睡”的状态,尤其是手机芯片,几乎大部分都依赖进口,而且国外的市场几乎被高通和联发科所垄断,也就展讯还在市场边…

    2017-08-16
  • 为了数据安全 大疆无人机增加隐私飞行功能

    大疆周一表示,在美国陆军因为“网络缺陷”而要求其成员停用大疆无人机后,这家中国无人机制造商将加强无人机的数据安全性。 大疆政策和法务副总裁布伦丹&middot…

    2017-08-15
  • Intel代工 展讯发布14nm SC9853I手机SoC

    SC9853I采用的Intel的14nm FinFET制程,架构为8核64位Airmont架构,主频1.8GHz,GPU为Mali-T820 MP2,号称面向799~1299元档次的手机。…

    2017-08-15