TC35学习3----在STM32f103下写的TCDrive

杂事太多啊。不能坚持每天玩这个,今晚就先整理下TC35驱动的思路吧,简单测试了一下,都通过了。最痛苦的是我用按键控制发送的相应命令,可是在添加按键这个文件时候遇到了问题,本来是自己写好的驱动,可是搬过来却不能用,折腾了好久。后来发现我对.h文件的包含调用还是不太清楚(加入UCOS之后),虽然现在调试好了,但是不是我想要的,也没时间整这个了,以后再研究吧(逃避?,哎,没办法,现在日子难熬啊,把这个弄完交差再说吧)。如果有人对移植操作系统后,对每个.C文件调用#include "myinclude.h"很熟悉的话,可以请教一下。

 

//#include "TC35Drive.h"
#define GSM_GLOBALS
#include "myinclude.h"





//定义接收中断相关变量

 u8 RxBuffer1[1000];
 u8 RxCounter1=0;
 u8 count=0;
 u8 flag=0;
 u8 ReceiveFlag=0;
 u8 sendflag;




u8 Cmd_At[] = "AT\r";
/*发送:41 54 0d 
接收到:41 54 0D 0D 0A 4F 4B 0D 0A
对应字符:
AT<CR>
OK
*/ 

上面的这种写法跟别人学的,感觉不错。在MDK里仿真的时候验证了每个接收到的对应字符和转化成的HEX。

/便以后编程使用~~


u8 Cmd_Csq[] = "AT+CSQ\r";         // 信号强度测试
/*发送:41 54 2B 43 53 51 0d
接收到:41 54 2B 43 53 51 0D 0D 0A 2B 43 53 51 3A 20 33 31 2C 39 39 0D 0A 0D 0A 4F 4B 0D 0A 
对应字符:
AT+CSQ<CR>
+CSQ: 31,99


OK
*/
/
u8  Cmd_CPIN[] = "AT+CPIN?\r";
u8  Cmd_COPS[] = "AT+COPS?\r";
u8  Cmd_ATE1[] = "ATE1\r";         //Signal quality test
u8  Cmd_ATV1[] = "ATV1\r";
///         //Signal quality test


u8  Cmd_Cmgf1[] = "AT+CMGF=1\r";
u8  Cmd_Cmgf0[] = "AT+CMGF=0\r";
 


                                          //选择短消息信息格式,设置为文本模式。若 "AT+CMGF=0\r",设置为PDU 模式
/*发送:41 54 2B 43 4D 47 46 3D 31 0D
接收到:41 54 2B 43 4D 47 46 3D 31 0D 0D 0A 4F 4B 0D 0A
对应字符:
AT+CMGF=1<CR>
OK
*/


u8  Cmd_Cscs[] = "AT+CSCS=GSM\r";
 //设置为GSM 字符集
/*发送:41 54 2B 43 53 43 53 3D 47 53 4D 0D
接收到:41 54 2B 43 53 43 53 3D 47 53 4D 0D 0D 0A 4F 4B 0D 0A
对应字符:
AT+CSCS=GSM<CR>
OK
*/


u8  Cmd_Cnmi[] = "AT+CNMI=2,1\r";
 //设置新短信提示
/*发送:41 54 2B 43 4E 4D 49 3D 32 2C 31 0D
接收到:41 54 2B 43 4E 4D 49 3D 32 2C 31 0D 0D 0A 4F 4B 0D 0A 
对应字符:
AT+CNMI=2,1<CR>
OK
*/


u8 Cmd_Cmgr[] = "AT+CMGR=1\r";
 //读取短消息
/*发送:41 54 2B 43 4D 47 52 3D */


u8 Cmd_Cmgd[] = "AT+CMGD=1\r";
 //删除短消息
/*发送:41 54 2B 43 4D 47 44 3D */


u8  Cmd_CmgsT1[] = "AT+CMGS=13565809332\r";//给用户1 发送文本短消息
/*发送:41 54 2B 43 4D 47 53 3D 31 33 34 38 35 33 34 34 36 33 34 0D
接收到:41 54 2B 43 4D 47 53 3D 31 33 32 33 33 36 34 37 31 34 33 0D 0D 0A 3E 20
对应字符:
AT+CMGS=13233647143<CR>
><SP>
*/
u8 Cmd_CmgsT2[] = "AT+CMGS=13669908108\r";//给用户2 发送文本短消息
/*发送:41 54 2B 43 4D 47 53 3D 31 33 32 33 33 36 34 37 31 34 33 0D
接收到:41 54 2B 43 4D 47 53 3D 31 33 32 33 33 36 34 37 31 34 33 0D 0D 0A 3E 20
对应字符:
AT+CMGS=13233647143<CR>
><SP>
*/


static void Delay_ms(__IO uint32_t nTime)
{
/// time_delay=nTime;
    // while(time_delay!=0);
int i,j;
for(i=0;i<nTime;i++)
for(j=0;j<60000;j++);
  
}
/测试  AT  联通性
void TC35_AT()
{
    RxCounter1=0;
 
UartPrintf(USART1,Cmd_At);
}
/// TC35信号强度测试
void TC35_CSQ()
{
RxCounter1=0;
 
UartPrintf(USART1,Cmd_Csq);
}
 /// TC35信息格式  text  or PDU
 void TC35_CMGF(unsigned char Data)
 {
 RxCounter1=0;
   if(Data)
UartPrintf(USART1,Cmd_Cmgf1);
   else
  
UartPrintf(USART1,Cmd_Cmgf0);
 }


 /// TC35删除信息
void TC35_CMGD(unsigned char Data)
{
RxCounter1=0;
 UartPrintf(USART1,Cmd_Cmgd);
}
/// TC35来信息显示格式
void TC35_CNMI(void)
{
RxCounter1=0;
 UartPrintf(USART1,Cmd_Cnmi);
}
/// TC35发送信息
void TC35_CMGS(unsigned char * String)
{
RxCounter1=0;
 UartPrintf(USART1,Cmd_CmgsT1);
 Delay_ms(500);
 UartPrintf(USART1,String);
 Delay_ms(500);
 UartPutchar(USART1,0x1A);
}
/// TC35读取信息
void TC35_CMGR(unsigned char Data)
{
RxCounter1=0;
 UartPrintf(USART1,Cmd_Cmgr);
}
/// TC35拨打电话
void TC35_ATD(unsigned char * String)
{
  RxCounter1=0;
 UartPrintf(USART1,"ATD");
 UartPrintf(USART1,String);
 UartPrintf(USART1,";\r");
 

}

<未完 待续>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值