基于ARM和VxWorks實(shí)現(xiàn)自動(dòng)彩信發(fā)送的嵌入式系統(tǒng)
?。?)當(dāng)接收到滿足觸發(fā)條件的短信息后,發(fā)起中斷處理任務(wù),將uim卡中的短消息讀出到緩沖,將短消息刪除,對(duì)緩沖中短消息的有效性進(jìn)行判斷,若為有效短消息則進(jìn)行相應(yīng)的處理,再將根據(jù)短消息配置后的參數(shù)保存。
(4)系統(tǒng)根據(jù)觸發(fā)參數(shù)發(fā)起任務(wù)進(jìn)行拍照、封裝,調(diào)用建立ppp連接的函數(shù),先用at指令atd#777接通cdma,然后初始化ppp連接,當(dāng)ppp連接完成后設(shè)置好相應(yīng)的ip參數(shù)。
(5)然后初始化wap相關(guān)參數(shù),建立wap連接,調(diào)用彩信發(fā)送函數(shù)將圖片發(fā)送到目的移動(dòng)通信終端用戶,斷開(kāi)ppp連接。
關(guān)鍵源代碼如下。
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.。。 ”));
評(píng)論