搜索
bottom↓
回复: 5

请教各位大哥,用单片机控制TC35I发送短消息,最后的同时按下Ctrl和Z键发送,怎么写到程序

[复制链接]

出0入0汤圆

发表于 2010-1-25 18:06:15 | 显示全部楼层 |阅读模式
请教各位大哥,用单片机控制TC35I发送短消息,我编写了个小程序,用电脑控制挺好使,可用单片机老发不出去短信,特别是发送内容后要同时按下Ctrl和Z键,这在程序里应该怎么表达啊?谢了
我的程序如下:
#include<msp430x14x.h>
#define   uint   unsigned   int
#define   uchar   unsigned   char

//**********函数定义**********//
void   main(void);   //主函数
void   init_UART(void);   //串口初始化
void   Delay(void);   //延时
void   Delay1(uint z);
void   CMGF(void);   //设置发送数据为TXET格式
void   CMGS(void);   //设置目的手机号码
void   SEND(void);   //发送字符串
void   main(void)
{
        init_UART();   //串口初始化
        Delay();
        CMGF();
        Delay1(3000);
        CMGS();
        Delay1(3000);
        SEND();
        Delay1(3000);
}



void   Delay(void)
{      
        uint   i,j;

        for(i=0;i<10;i++)
        {
            for(j=0;j<1000;j++);
        }
}

void   Delay1(uint z)
{
    uint x,y;
        for(x=z;x>0;x--)
           for(y=110;y>0;y--);
}

void   init_UART(void);   //串口初始化
{
     P3DIR |= 0x40;
    P3SEL |= 0x40;                            // P3.4,5选择为UART收发端口
    //----------------------初始化UART0---------------------------------------------------------------
   ME1 |= UTXE0 + URXE0;                   // 使能USART0收发
   UCTL0 |= CHAR;                           // 8-bit character
   UTCTL0 |= SSEL0;                          // UCLK = ACLK
   UBR00 = 0x06;                             // 32k/4800 - 6.83
    UBR10 = 0x00;                             //
   UMCTL0 = 0x6F;                            // Modulation
    UCTL0 &= ~SWRST;                          // 初始化UART0状态机
}

void   CMGF(void)
{
     uchar   code mode[10]= {0x41,0x54,0x2B,0x43,0x4D,0x47,0x46,0x3D,0x31,0x0D}; //AT+CMGF=1回车
         uint i;
         for(i=0;i<10;i++)
        {
            TXBUF0=mode;
            while (!(IFG1 & UTXIFG0));
            
        }
}
void   CMGS(void)
{
     uchar   code mode[20]= {0x41,0x54,0x2B,0x43,0x4D,0x47,0x53,0x3D,0x31,0x33,0x30,0x35,0x31,0x36,0x36,0x36,0x34,0x32,0x37,0x0D}; //AT+CMGS=13051666427回车
         uint i;
         for(i=0;i<20;i++)
        {
            TXBUF0=mode;
            while (!(IFG1 & UTXIFG0));
            
        }
}
void   SEND(void)   //发送字符串
{
    uchar   code mode[10]={0x48,0x69,0x21,0x6E,0x69,0x68,0x61,0x6F,0x2E,0x1a};  //hi!nihao.
        uint i;
        for(i=0;i<10;i++)
        {
            TXBUF0=mode;
            while (!(IFG1 & UTXIFG0));
            
        }
}

出0入0汤圆

发表于 2010-1-25 18:42:11 | 显示全部楼层
ctrl+Z是ascii码的26

出0入0汤圆

 楼主| 发表于 2010-1-25 19:27:51 | 显示全部楼层
回复【1楼】xinfa190
-----------------------------------------------------------------------

那是不是说,在发送信息内容后面加上0x26就可以了?

出0入0汤圆

发表于 2010-1-25 19:29:51 | 显示全部楼层
26=1ah=0x1a

出0入0汤圆

 楼主| 发表于 2010-1-25 19:38:50 | 显示全部楼层
回复【3楼】master5888
-----------------------------------------------------------------------

谢了

出0入0汤圆

发表于 2010-2-21 12:04:59 | 显示全部楼层
M590采用英飞凌7880单芯片解决方案,全球第一款单芯片GSM/GPRS纯数据工业级通信模块,提供优质的短信和数据传输服务,该模块具有低功耗(待机功耗2.5毫安)、温宽大(-40至+80)、独特的AEsft软件加密协议功能,而且属于业界体积最小的模块28mm*24mm*11mm (长*宽*高),目前正大批量应用在电力系统、车载、无线数传、无线监控等工业级领域,附件是详细的M590产品规格书,请查看,欢迎与我联系 深圳市有方科技北京办事处 蒲先生 13488653038
全球第一款单芯片GPRS模块

功耗低:待机功耗2.5MA

温宽大:-40—80

支持串口的CMUX功能

开放1Kbytes数据区供客户使用

独特AES软件加密功能

PMB7880集成了基带、射频(收发)以及电源管理四颗芯片

编码方式:CS-2传输速率可达到13.4KBPS

支持串口的CMUX功能

支持串口复用(多路复用)功能

支持DNS域名解析

支持GPRS认证指令

支持TCP/IP功能

支持FTP传输功能

支持CSD业务

支持USSD业务

支持AMR语音编码

支持全速率半速率AT切换(通过AT指令来控制时间)

软件本地升级支持
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-7 14:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表