亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
GPRS A6 A7開發板原理圖、stm32/51單片機代碼及相關工具軟件
[打印本頁]
作者:
awind_cn
時間:
2017-6-10 11:29
標題:
GPRS A6 A7開發板原理圖、stm32/51單片機代碼及相關工具軟件
安可信 GPRS A6 A7 開發板原理圖、51/stm32代碼及相關工具。AT指令,51和stm32源代碼,以及使用手冊,測試工具。
0.png
(48.71 KB, 下載次數: 110)
下載附件
2017-6-10 16:16 上傳
里面帶GPRS A6 A7開發板原理圖和封裝庫:Goouuu-GPRSModel-A7封裝庫.PcbLib
0.png
(122.73 KB, 下載次數: 100)
下載附件
2017-6-10 16:18 上傳
工具軟件:
PDU短信編碼器.zip
SOCKET調試助手.rar
sscom42.zip
果云A6調試助手.rar
手冊:
Goouuu_A6模塊使用手冊..pdf
安信可GSM GPRS A6_A7_A6C模組用戶開發手冊20160721.pdf
51單片機和stm32單片機源碼:
1.撥打電話.rar
2.發送TEXT短信.rar
3.發送中文短信.rar
4.接收短信控制LED燈.rar
以下是部分源碼預覽:
本程序通過手機短信控制LED的亮滅
使用單片機串口2與模塊通信;接法如下
STC單片機 GPRS模塊
P1.2(RXD2)->RXD
P1.3(TXD2)->TXD
GND ->GND
1、板子上電后運行指示燈RUNING_LED會以一秒的頻率閃爍;
2、通過芯片的串口1可以監視模塊的登錄情況;
3、手機發送“onled”點亮LED;
4、手機發送“offled”熄滅LED;
5、使用串口2與模塊通信,串口1用于將信息打印輸出。
單片機源程序如下:
/**********************************************************************************
STM32F103C8T6
GSM 短信控制
* 硬件連接說明
使用單片串口2與GPRS模塊通信 注:使用串口2可以避免下載和通信不會沖突
STM32 GPRS模塊
PA3 (RXD2)->RXD
PA2 (TXD2)->TXD
GND ->GND
PA9 PA10 串口1
PB5 LED1 指示燈1
PB6 LED2 指示燈2
指令: 發送短信到模塊
led1on --- LED1 打開
led1off --- LED1 關閉
led2on --- LED2 打開
led2off --- LED2 關閉
**********************************************************************************/
#include "stm32f10x.h"
#include "usart.h"
#include "Led.h"
#include "SysTick.h"
#include "timer.h"
#include "string.h"
#define Automatic_Startup 1 //定義自啟動 V1.2版本起有自啟動功能
//#define Buf1_Max 60 //串口1緩存長度
#define Buf2_Max 200 //串口2緩存長度
/************* 本地常量聲明 **************/
/************* 本地變量聲明 **************/
//char Uart1_Buf[Buf1_Max];
char Uart2_Buf[Buf2_Max];
u8 Times=0,First_Int = 0,shijian=0;
vu8 Timer0_start; //定時器0延時啟動計數器
vu8 Uart2_Start; //串口2開始接收數據
vu8 Uart2_End; //串口2接收數據結束
/************* 本地函數聲明 **************/
void CLR_Buf2(void);
u8 Find(char *a);
void Second_AT_Command(char *b,u8 wait_time);
void Set_Text_Mode(void);
void Check_New_Message(void);
void Wait_CREG(void);
/************* 外部函數和變量聲明*****************/
/*******************************************************************************
* 函數名 : main
* 描述 : 主函數
* 輸入 :
* 輸出 :
* 返回 :
* 注意 : 串口2負責與GPRS模塊通信,串口1用于串口調試,可以避免在下載程序時數據
還發送到模塊
*******************************************************************************/
int main(void)
{
SysTick_Init_Config();
GPIO_Config();
USART1_Init_Config(115200);
USART2_Init_Config(115200);
Timer2_Init_Config();
UART1_SendString("GPRS模塊短信測試程序\r\n");
UART1_SendString("GPRS模塊在注冊網絡\r\n");
Wait_CREG();
UART1_SendString("GPRS模塊注冊成功\r\n");
UART1_SendString("GPRS模塊短信模式設置\r\n");
Set_Text_Mode();
UART1_SendString("設置成功,短信模式:TEXT\r\n");
UART1_SendString("初始化完成\r\n");
while(1)
{
Check_New_Message();
}
}
/*******************************************************************************
* 函數名 : USART2_IRQHandler
* 描述 : 串口1中斷服務程序
* 輸入 : 無
* 返回 : 無
* 說明 :
*******************************************************************************/
void USART2_IRQHandler(void)
{
u8 Res=0;
Res =USART_ReceiveData(USART2);
Uart2_Buf[First_Int] = Res; //將接收到的字符串存到緩存中
First_Int++; //緩存指針向后移動
if(First_Int > Buf2_Max) //如果緩存滿,將緩存指針指向緩存的首地址
{
First_Int = 0;
}
}
/*******************************************************************************
* 函數名 : TIM2_IRQHandler
* 描述 : 定時器2中斷斷服務函數
* 輸入 : 無
* 輸出 : 無
* 返回 : 無
* 說明 : 無
*******************************************************************************/
void TIM2_IRQHandler(void) //TIM3中斷
{
static u8 flag =1;
if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) //檢查TIM3更新中斷發生與否
{
TIM_ClearITPendingBit(TIM2, TIM_IT_Update ); //清除TIMx更新中斷標志
if(Timer0_start)
Times++;
if(Times > shijian)
{
Timer0_start = 0;
Times = 0;
}
if(flag)
{
LED4_ON();
flag=0;
}
else
{
LED4_OFF();
flag=1;
}
}
}
/*******************************************************************************
* 函數名 : CLR_Buf2
* 描述 : 清除串口2緩存數據
* 輸入 :
* 輸出 :
* 返回 :
* 注意 :
*******************************************************************************/
void CLR_Buf2(void)
{
u16 k;
for(k=0;k<Buf2_Max;k++) //將緩存內容清零
{
Uart2_Buf[k] = 0x00;
}
First_Int = 0; //接收字符串的起始存儲位置
}
/*******************************************************************************
* 函數名 : Find
* 描述 : 判斷緩存中是否含有指定的字符串
* 輸入 :
* 輸出 :
* 返回 : unsigned char:1 找到指定字符,0 未找到指定字符
* 注意 :
*******************************************************************************/
u8 Find(char *a)
{
if(strstr(Uart2_Buf,a)!=NULL)
return 1;
else
return 0;
}
/*******************************************************************************
* 函數名 : Second_AT_Command
* 描述 : 發送AT指令函數
* 輸入 : 發送數據的指針、發送等待時間(單位:S)
* 輸出 :
* 返回 :
* 注意 :
*******************************************************************************/
void Second_AT_Command(char *b,u8 wait_time)
{
u8 i;
char *c;
c = b; //保存字符串地址到c
CLR_Buf2();
i = 0;
while(i == 0)
{
if(!Find("OK"))
{
if(Timer0_start == 0)
{
b = c; //將字符串地址給b
for (; *b!='\0';b++)
{
while(USART_GetFlagStatus(USART2, USART_FLAG_TC)==RESET);
USART_SendData(USART2,*b);//UART2_SendData(*b);
}
UART2_SendLR();
Times = 0;
shijian = wait_time;
Timer0_start = 1;
}
}
else
{
i = 1;
Timer0_start = 0;
}
}
CLR_Buf2();
}
/*******************************************************************************
* 函數名 : Set_Text_Mode
* 描述 : 設置短信為TEXT文本模式
* 輸入 :
* 輸出 :
* 返回 :
* 注意 :
*******************************************************************************/
void Set_Text_Mode(void)
{
Second_AT_Command("ATE0",3); //取消回顯
Second_AT_Command("AT+CMGF=1",3); //短信模式設置為TEXT
}
/*******************************************************************************
* 函數名 : Check_Message_rec
* 描述 : 檢查是否有新信息,并執行信息內容指令
* 輸入 :
* 輸出 :
* 返回 :
* 注意 :
*******************************************************************************/
void Check_New_Message(void)
{
if(strstr(Uart2_Buf,"+CMT:")!=NULL) //若緩存字符串中含有"+CMT:"就表示有新的短信
{
UART1_SendString("收到新短信:\r\n");
UART1_SendString(Uart2_Buf); //把模塊返回的信息原樣輸出
if(strstr(Uart2_Buf,"led1on")!=NULL)
{
LED1_ON();
}
if(strstr(Uart2_Buf,"led1off")!=NULL)
{
LED1_OFF();
}
if(strstr(Uart2_Buf,"led2on")!=NULL)
{
LED2_ON();
}
if(strstr(Uart2_Buf,"led2off")!=NULL)
{
LED2_OFF();
}
CLR_Buf2();
}
}
/*******************************************************************************
* 函數名 : Wait_CREG
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
GPRS A6,A7資料.7z
(10.88 MB, 下載次數: 198)
2024-4-9 18:47 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
wj1994
時間:
2018-2-1 08:39
非常感謝!
作者:
hlxhh
時間:
2018-3-27 23:03
void Second_AT_Command(char *b,char *a,u8 wait_time) 這個函數是用來干嘛的?
u8 Find(char *a)這個函數查找是否含有指定的字符串,指定的字符串是啥?
定時中斷函數在這里是用來控制什么的?
不是很理解,求解答,感謝
作者:
Sun20149108
時間:
2018-4-14 17:01
非常感謝!
作者:
二階
時間:
2018-5-15 15:15
非常感謝!!!!!!!!!!!!!!!!!!!!!!!
作者:
阿斯頓馬丁
時間:
2018-6-29 21:43
非常感謝
作者:
wangsh
時間:
2020-3-24 22:40
thank you very much
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1