久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: stm32使用gsm模塊打電話代碼 [打印本頁(yè)]

作者: 211209    時(shí)間: 2018-6-24 11:20
標(biāo)題: stm32使用gsm模塊打電話代碼
stm32使用gsm模塊打電話代碼

單片機(jī)源程序如下:
  1. /*****************************************************       
  2. 接線說(shuō)明:
  3. STM32                                        A6&A7
  4. GND                <----->        GND
  5. PA2                ------>        U_RXD
  6. PA3                <------        U_TXD

  7. //用于調(diào)試可不接
  8. STM32                                        USB-TTL模塊
  9. GND                ------>        GND
  10. TX1                ------>        RXD
  11. ***********************************************************/

  12. #include "stm32f10x.h"
  13. #include "delay.h"
  14. #include "usart.h"
  15. #include "led.h"
  16. #include "usart2.h"


  17. //常量
  18. #define Success 1U
  19. #define Failure 0U

  20. //定義變量
  21. unsigned long  Time_Cont = 0;       //定時(shí)器計(jì)數(shù)器

  22. char phoneNumber[] = "1771922xxxx";                //替換成需要被撥打電話的號(hào)碼


  23. void errorLog(int num);
  24. void phone(char *number);
  25. unsigned int sendCommand(char *Command, char *Response, unsigned long Timeout, unsigned char Retry);
  26. void Sys_Soft_Reset(void);

  27. int main(void)
  28. {       
  29.         delay_init();
  30.        
  31.         NVIC_Configuration();          //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
  32.         uart_init(9600);         //串口初始化為9600
  33.         USART2_Init(115200);        //串口2波特率9600
  34.         u2_printf("AT\r\n");
  35.         Init_LEDpin();
  36.        
  37.        
  38.        
  39.         printf("Welcome to use!\r\n");
  40.         printf("ILoveMcu.taobao.com!\r\n");
  41.        
  42.         if (sendCommand("AT\r\n", "OK", 3000, 10) == Success);
  43.         else errorLog(1);
  44.         delay_ms(10);

  45.         if (sendCommand("AT+CPIN?\r\n", "READY", 1000, 10) == Success);
  46.         else errorLog(2);
  47.         delay_ms(10);

  48.         if (sendCommand("AT+CREG?\r\n", "CREG: 1", 1000, 10) == Success);
  49.         else errorLog(3);
  50.         delay_ms(10);

  51.         phone(phoneNumber);                //打電話
  52.        
  53.         while(1)
  54.         {
  55.                
  56.         }
  57. }

  58. void errorLog(int num)
  59. {
  60.         printf("ERROR%d\r\n",num);
  61.         while (1)
  62.         {
  63.                 if (sendCommand("AT\r\n", "OK", 100, 10) == Success)
  64.                 {
  65.                         Sys_Soft_Reset();
  66.                 }
  67.                 delay_ms(200);
  68.         }
  69. }

  70. void Sys_Soft_Reset(void)
  71. {  
  72.     SCB->AIRCR =0X05FA0000|(u32)0x04;      
  73. }

  74. void phone(char *number)
  75. {
  76.         char send_buf[20] = {0};
  77.         memset(send_buf, 0, 20);    //清空
  78.         strcpy(send_buf, "ATD");
  79.         strcat(send_buf, number);
  80.         strcat(send_buf, ";\r\n");

  81.         if (sendCommand(send_buf, "SOUNDER", 10000, 10) == Success);
  82.         else errorLog(4);
  83. }

  84. unsigned int sendCommand(char *Command, char *Response, unsigned long Timeout, unsigned char Retry)
  85. {
  86.         unsigned char n;
  87.         USART2_CLR_Buf();
  88.         for (n = 0; n < Retry; n++)
  89.         {
  90.                 u2_printf(Command);                 //發(fā)送GPRS指令
  91.                
  92.                 printf("\r\n***************send****************\r\n");
  93.                 printf(Command);
  94.                
  95.                 Time_Cont = 0;
  96.                 while (Time_Cont < Timeout)
  97.                 {
  98.                         delay_ms(100);
  99.                         Time_Cont += 100;
  100.                         if (strstr(USART2_RX_BUF, Response) != NULL)
  101.                         {                               
  102.                                 printf("\r\n***************receive****************\r\n");
  103.                                 printf(USART2_RX_BUF);
  104.                                 USART2_CLR_Buf();
  105.                                 return Success;
  106.                         }
  107.                        
  108.                 }
  109.                 Time_Cont = 0;
  110.         }
  111.         printf("\r\n***************receive****************\r\n");
  112.         printf(USART2_RX_BUF);
  113.         USART2_CLR_Buf();
  114.         return Failure;
  115. }
復(fù)制代碼

所有資料51hei提供下載:
01.STM32撥打電話.rar (319.11 KB, 下載次數(shù): 42)







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美激情久久久 | 亚洲高清视频在线观看 | 国产一区二区三区久久久久久久久 | 日韩精品在线一区 | 99re国产精品 | 亚洲国产成人精品久久久国产成人一区 | 日韩精品一区二区三区在线观看 | 成人中文字幕在线 | 欧美成视频 | 超碰日韩 | 久久久精品一区二区 | 国产极品粉嫩美女呻吟在线看人 | 美女在线视频一区二区三区 | 成人伊人 | 久久久久亚洲 | 成人精品一区二区 | 久久久久久毛片免费观看 | 亚洲欧美中文日韩在线v日本 | 国产高清一二三区 | 天堂久久av | 一区二区三区高清 | 成人久久18免费网站图片 | 久久久久91 | 欧美久久久网站 | 亚洲国产精品视频 | 黑人精品xxx一区一二区 | 免费在线观看一级毛片 | 亚洲91精品 | 国产精品免费一区二区三区四区 | 国产成人精品一区二区三区在线 | 国产精品一区二区三区四区 | 亚洲精品一二三 | 国产小网站 | 午夜爱爱网| 欧美第一区 | 91欧美精品成人综合在线观看 | 国产精品永久免费 | 亚洲九九 | 一区二区三区免费 | 成人欧美一区二区三区1314 | 中文字幕在线观看国产 |