chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)嵌入式Linux中同時(shí)實(shí)現(xiàn)GPRS和SMS短信收發(fā)

英創(chuàng)信息技術(shù) ? 來(lái)源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-01-14 11:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著移動(dòng)通訊技術(shù)的發(fā)展普及,GPRS無(wú)線通訊和SMS短信收發(fā)越來(lái)越多地應(yīng)用到工業(yè)領(lǐng)域的遠(yuǎn)程數(shù)據(jù)通訊中。GPSR主要是進(jìn)行的數(shù)據(jù)通訊,SMS則是AT指令的操作模式,在不少的無(wú)線通訊模塊,比如西門子的MC39i、華為的GTM900,模塊一旦處于GPRS數(shù)據(jù)通訊狀態(tài),則無(wú)法再進(jìn)行AT指令的操作,從而難以同時(shí)實(shí)現(xiàn)SMS短信數(shù)據(jù)收發(fā)的功能。解決這個(gè)問(wèn)題方法之一是在軟件上實(shí)現(xiàn)多路轉(zhuǎn)換協(xié)議,這種方式通過(guò)軟件協(xié)議的方式將一個(gè)物理口虛擬為多個(gè)口,從而將GPRS通訊和SMS通訊分開(kāi),這種模式程序往往比較復(fù)雜,在嵌入式的應(yīng)用中比較難以實(shí)現(xiàn)。方法之二就是直接在硬件物理口上將GPRS和SMS通訊分開(kāi),西門子提供的MC37i無(wú)線模塊本身就自帶有兩個(gè)物理串口,可以支持分別進(jìn)行GPRS和SMS通訊的操作。本文將結(jié)合英利公司提供的ARM9 Linux主板EM9160和ETA300 GPRS擴(kuò)展單元(GPRS無(wú)線模塊為MC37i),著重介紹如何同時(shí)實(shí)現(xiàn)GPSR通訊和SMS短信收發(fā)的應(yīng)用。

硬件組成

英利公司的嵌入式Linux主板EM9160共有6個(gè)異步串口,在Linux環(huán)境中為“/dev/ttyS1”-“/dev/ttyS6”。ETA300是包括MC37i模塊的外掛式GPRS通訊單元,可直接通過(guò)帶線與英利EM9160開(kāi)發(fā)評(píng)估底板相連,如下圖所示。其中GPRS通訊占用EM9160的 “/dev/ttyS1” (或稱COM2) 口,SMS通訊占用EM9160的“/dev/ttyS4”( 或稱COM5 ) 口,連接方式如下圖所示。

MC37i電源管理

通過(guò)ETA300 GPRS擴(kuò)展單元可實(shí)現(xiàn)對(duì)MC37i的電源管理,MC37i的電源管理是通過(guò)兩路GPIO:GPIO8和GPIO9來(lái)實(shí)現(xiàn),分別對(duì)應(yīng)GPRS _STB、GPRS_AUX管腳信號(hào)。在程序上操作GPIO8、GPIO9實(shí)現(xiàn)對(duì)MC37i的上電、關(guān)電操作。以下為提供的對(duì)MC37i電源管理的操作函數(shù):

// 功能描述:該函數(shù)通過(guò)對(duì)EM9160的GPRS_STB和GPRS_AUX兩個(gè)管腳信號(hào)的操作,實(shí)現(xiàn)對(duì)GPRS模塊的電源管理。
// 輸入?yún)?shù) OpMode: 電源管理功能索引號(hào),有效索引號(hào)包括:
OpMode = 1: 對(duì)GPRS模塊進(jìn)行上電操作,并把執(zhí)行該操作后電 源狀態(tài)返回;
OpMode = 2: 對(duì)GPRS模塊進(jìn)行強(qiáng)制關(guān)電,并把執(zhí)行該操作后電源狀態(tài)返回;
OpMode = 3: 讀取GPRS模塊當(dāng)前的電源狀態(tài)。
// 輸出參數(shù) pResult: 用于存儲(chǔ)讀取的電源狀態(tài)信息。
*pResult = 0: 表示GPRS模塊的電源已關(guān)閉;
*pResult = 1: 表示GPRS模塊的電源已加載成功;
int GPRS_PM( int fd, int OpMode, int* pResult )

嵌入式Linux中的GPRS撥號(hào)

嵌入式Linux ppp GPRS撥號(hào)程序pppd和相關(guān)的腳本文件,均已經(jīng)缺省包含在EM9160板卡的根文件系統(tǒng)中。

嵌入式Linux主板EM9160環(huán)境下進(jìn)行GPRS撥號(hào)時(shí),首先調(diào)用函數(shù)GPRS_PM(…)使MC37i上電成功,然后再啟動(dòng)pppd進(jìn)程進(jìn)行GPRS撥號(hào)。

printf('GPRS Power On\n');
GPRS_PM(fd, 1, &GPRS_State);
// MC37i模塊上電登錄到移動(dòng)網(wǎng)絡(luò)等待時(shí)間
for( i1=0; i1<8; i1++ )
{
sleep( 1 );
printf( '.\n' );
}
system( 'pppd call pppd-connect-script' );

掛斷直接可調(diào)用ppp-off腳本:

system( '/etc/ppp/ppp-off' );

嵌入式Linux中的SMS短信收發(fā)

SMS短信收發(fā)的核心通訊模式為串口通訊,應(yīng)用程序上也是采用的C++編程方式,利用英利公司網(wǎng)站技術(shù)天地欄目中《嵌入式Linux串口通訊的C++設(shè)計(jì)》一文中介紹的CSerial類,在CSerial基礎(chǔ)上派生了一個(gè)針對(duì)于SMS收發(fā)應(yīng)用的class SMS,該派生類 class SMS 中重新實(shí)現(xiàn)了虛函數(shù)PackagePro(…) 接收數(shù)據(jù)處理函數(shù),以滿足SMS收發(fā)的應(yīng)用需求。

在sms.h中定義了短信的數(shù)據(jù)結(jié)構(gòu):

struct SMS_DATA
{
unsigned char PhoneNum[16]; // 對(duì)端電話號(hào)碼
struct Date d; // 日期:年月日
struct Time t; // 時(shí)間:時(shí)分秒
int DatLen; // 數(shù)據(jù)長(zhǎng)度
unsigned char DBuf[168]; // 短信數(shù)據(jù)內(nèi)容
};

對(duì)于SMS短信收發(fā)可調(diào)用的類函數(shù)包括有:

// 按照指定的參數(shù)打開(kāi)短信Modem端口,并創(chuàng)建短信接收線程
int OpenPort( int PortNo, int baudrate, char databits, char stopbits, char parity );
// 關(guān)閉短信Modem端口并釋放相關(guān)資源
int ClosePort( );
// 發(fā)送AT指令初始化短信Modem
int InitSMSModem( );
// 發(fā)送短信
int SendMessage( struct SMS_DATA* pSMS );

在該例程中短信接收的處理放在函數(shù)PackagePro(…)中實(shí)現(xiàn)的,用戶可以根據(jù)實(shí)際情況加以調(diào)整。SMS短信收發(fā)的實(shí)現(xiàn)代碼均在sms.cpp下,由于是CSerial的派生類,其接收的主要流程可參見(jiàn)英利公司網(wǎng)站技術(shù)天地欄目中《嵌入式Linux串口通訊的C++設(shè)計(jì)》一文中相關(guān)介紹,這里不再贅述。

在class SMS中實(shí)現(xiàn)了支持中文短信的發(fā)送,所以短信發(fā)送的模式均采用PDU模式。對(duì)于中文字符,在短信發(fā)送時(shí)還需要轉(zhuǎn)換為unicode碼,程序代碼中已經(jīng)實(shí)現(xiàn)了中文內(nèi)碼到unicode 碼的自動(dòng)轉(zhuǎn)換,客戶在測(cè)試該程序時(shí),需要注意的是要將unicode 的相關(guān)轉(zhuǎn)換文件表COPY到/mn/nandflash:gsm0338.bin gb2312.bin unicode.bin。

本文中所介紹的例程僅僅適用于英利EM9160嵌入式主板,均有源碼提供。感興趣的客戶可以發(fā)郵件到公司技術(shù)支持郵箱 support@emlinix.com索取相關(guān)代碼。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213847
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6102

    瀏覽量

    36310
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    怎么結(jié)合嵌入式Linux,和FPGA三個(gè)方向達(dá)到一個(gè)均衡發(fā)展?

    嵌入式領(lǐng)域,不少人都懷揣著讓嵌入式、Linux 和 FPGA 三個(gè)方向實(shí)現(xiàn)均衡發(fā)展的夢(mèng)想,然而實(shí)踐卻面臨諸多挑戰(zhàn)。就像備受矚目的全棧工程
    的頭像 發(fā)表于 06-25 10:08 ?321次閱讀
    怎么結(jié)合<b class='flag-5'>嵌入式</b>,<b class='flag-5'>Linux</b>,和FPGA三個(gè)方向達(dá)到一個(gè)均衡發(fā)展?

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    Linux嵌入式與單片機(jī)嵌入式在多個(gè)方面存在顯著的區(qū)別,以下是詳細(xì)的比較和歸納: 一、基本概念 1. Linux嵌入式: 定義:將
    發(fā)表于 06-20 09:46

    嵌入式系統(tǒng)的代碼優(yōu)化與壓縮技術(shù)

    在當(dāng)今數(shù)字化時(shí)代,嵌入式系統(tǒng)廣泛應(yīng)用于各個(gè)領(lǐng)域,從智能家居設(shè)備到工業(yè)控制系統(tǒng),從汽車電子到可穿戴設(shè)備,它們無(wú)處不在。而在嵌入式系統(tǒng)開(kāi)發(fā),代碼優(yōu)化與壓縮技術(shù)至關(guān)重要,直接影響著系統(tǒng)的性
    發(fā)表于 02-26 15:00

    新手怎么學(xué)嵌入式?

    基本的概念。嵌入式系統(tǒng)是一種將計(jì)算機(jī)技術(shù)嵌入到特定設(shè)備的系統(tǒng),它通常具有特定的功能和有限的資源。你需要學(xué)習(xí)一些計(jì)算機(jī)基礎(chǔ)知識(shí),如數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、計(jì)算機(jī)組成原理等。這些知識(shí)將幫助你
    發(fā)表于 12-12 10:51

    嵌入式工程師都在找的【Linux內(nèi)核調(diào)試技術(shù)】建議收藏!

    嵌入式系統(tǒng)的開(kāi)發(fā)Linux內(nèi)核調(diào)試是一個(gè)至關(guān)重要的環(huán)節(jié)。 隨著處理器技術(shù)的不斷進(jìn)步和嵌入式領(lǐng)域的蓬勃發(fā)展,掌握有效的內(nèi)核調(diào)試
    發(fā)表于 11-28 15:37

    無(wú)風(fēng)扇嵌入式工控機(jī)特點(diǎn)

    隨著信息技術(shù)的飛速發(fā)展和工業(yè)自動(dòng)化程度的不斷提高,工業(yè)控制領(lǐng)域?qū)?b class='flag-5'>嵌入式工控機(jī)的需求日益增加。無(wú)風(fēng)扇嵌入式工控機(jī)作為這一領(lǐng)域的重要組成部分,因其獨(dú)特的特性和優(yōu)勢(shì)而備受關(guān)注。本文將深入探討無(wú)風(fēng)扇
    的頭像 發(fā)表于 11-18 15:16 ?752次閱讀
    無(wú)風(fēng)扇<b class='flag-5'>嵌入式</b>工控機(jī)特點(diǎn)

    什么是嵌入式?一文讀懂嵌入式主板

    在現(xiàn)代科技浪潮,嵌入式技術(shù)已成為支撐各種智能設(shè)備和系統(tǒng)運(yùn)行的核心力量。那么,究竟什么是嵌入式?嵌入式系統(tǒng),顧名思義,是將計(jì)算機(jī)的硬件和軟件
    的頭像 發(fā)表于 10-16 10:14 ?2617次閱讀

    嵌入式linux開(kāi)發(fā)的基本步驟有哪些?

    嵌入式Linux開(kāi)發(fā)是一個(gè)復(fù)雜的過(guò)程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動(dòng)開(kāi)發(fā)、應(yīng)用程序開(kāi)發(fā)等多個(gè)方面。以下是嵌入式Linux開(kāi)發(fā)的基本步驟,以及每個(gè)步驟的說(shuō)明。 硬件選擇 在開(kāi)始
    的頭像 發(fā)表于 09-02 09:11 ?1255次閱讀

    嵌入式linux開(kāi)發(fā)板怎么操作

    嵌入式Linux開(kāi)發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開(kāi)發(fā)平臺(tái)。它通常包括一個(gè)處理器、內(nèi)存、存儲(chǔ)器、輸入/輸出接口等硬件組件,以及一個(gè)基于L
    的頭像 發(fā)表于 09-02 09:09 ?803次閱讀

    嵌入式linux開(kāi)發(fā)板芯片的工作原理

    嵌入式Linux開(kāi)發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開(kāi)發(fā)平臺(tái),它廣泛應(yīng)用于工業(yè)控制、智能家居、智能交通、醫(yī)療設(shè)備等領(lǐng)域。 嵌入式
    的頭像 發(fā)表于 09-02 09:07 ?823次閱讀

    飛凌嵌入式技術(shù)創(chuàng)新日(深圳站)圓滿落幕

    2024年8月26日下午,飛凌嵌入式技術(shù)創(chuàng)新日深圳站在深圳威尼斯迪格酒店盛大舉行,此次活動(dòng)匯聚了近200位嵌入式技術(shù)領(lǐng)域的專家和企業(yè)代表,
    的頭像 發(fā)表于 08-30 15:42 ?612次閱讀
    飛凌<b class='flag-5'>嵌入式</b><b class='flag-5'>技術(shù)</b>創(chuàng)新日(深圳站)圓滿落幕

    飛凌嵌入式技術(shù)創(chuàng)新日(深圳站)精彩回顧

    2024年8月26日下午,飛凌嵌入式技術(shù)創(chuàng)新日深圳站在深圳威尼斯迪格酒店盛大舉行,此次活動(dòng)匯聚了近200位嵌入式技術(shù)領(lǐng)域的專家和企業(yè)代表,
    發(fā)表于 08-28 09:06

    學(xué)習(xí)hypervisor嵌入式產(chǎn)品安全設(shè)計(jì)

    第一部分(第1~2章)介紹Hypervisor基礎(chǔ),涵蓋虛擬化技術(shù)實(shí)現(xiàn)、主流的嵌入式Hypervisor產(chǎn)品,以及基于分離內(nèi)核的嵌入式Hypervisor等內(nèi)容。第二部分(第3~12
    發(fā)表于 08-25 09:11

    嵌入式機(jī)電一體化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》讀后感

    的應(yīng)用。曾教授詳細(xì)講解了如何為嵌入式系統(tǒng)構(gòu)建Linux環(huán)境,以及在Linux中進(jìn)行程序設(shè)計(jì)的方法和技巧。通過(guò)這些內(nèi)容,我不僅掌握了Linux嵌入式
    發(fā)表于 08-21 08:45

    專家力薦|《嵌入式系統(tǒng)原理與開(kāi)發(fā)——基于RISC-V和Linux系統(tǒng)》新書(shū)發(fā)售

    當(dāng)前,嵌入式系統(tǒng)已成為智能設(shè)備的核心之一,RISC-V+Linux的開(kāi)源力量為嵌入式系統(tǒng)注入強(qiáng)大的創(chuàng)新動(dòng)力。作為中國(guó)RISC-V軟硬件生態(tài)領(lǐng)導(dǎo)者,賽昉科技與業(yè)界專家合作推出《嵌入式系統(tǒng)
    的頭像 發(fā)表于 07-24 08:20 ?1107次閱讀
    專家力薦|《<b class='flag-5'>嵌入式</b>系統(tǒng)原理與開(kāi)發(fā)——基于RISC-V和<b class='flag-5'>Linux</b>系統(tǒng)》新書(shū)發(fā)售