返回列表 发新帖

用AT91SAM7S64开发板实现4G模块EC200S拨打电话功能

[复制链接]

28

主题

45

帖子

1万

积分

允许发帖

积分
10186
发表于 2020-6-10 16:15:31 | 显示全部楼层 | 阅读模式
关键词:AT91SAM7S64  4G模块 EC200S 拨打电话 串口 USART AT命令

概述:用AT91SAM7S64  的串口连接4G模块EC200S通过AT命令实现拨打电话的功能。

描述:EC200S的电平是1.8v,ATSAM7S64  的电平是3.3v,所以需要通过电平转换模块连接两者,电平转换模块A端的电平要大于B端的电平。测试时,电话号码写在程序里面。

硬件连接:AT91SAM7S64  的串口(PA6,PA5)通过电平转换模块连接到EC200S的串口。

(附有测试文件)

串口代码:
  1. <div>void uartinit(void)
  2. {
  3. *AT91C_PMC_PCER|=0x00000060;  //PMC&Iacute;&acirc;&Eacute;è&Ecirc;±&Ouml;&Oacute;&Ecirc;&sup1;&Auml;&Uuml;
  4. *AT91C_PIOA_PDR|=0x00000060;  //Disable I/O,PA5=RXD0,PA6=TXD0
  5. *AT91C_PIOA_ASR|=0x00000060;  //PIO·&Ouml;&Aring;&auml;&sup3;&Eacute;UART
  6. *AT91C_US0_CR=0XAC;     //RESET UART
  7. *AT91C_US0_MR=0X8C0;    //8bit,No,1Bit Stop
  8. *AT91C_US0_IDR=0XF3FFF;    //Disable UART Interrupt
  9. *AT91C_US0_BRGR=26;     //BARD RATE:38400(CD=30)
  10. *AT91C_US0_CR=0X50;     //SET UART
  11. }</div><div>
  12. unsigned char putchar (unsigned char ch)
  13. {          //Write Character to Serial Port</div><div>  if (ch == '\n')  {                            // Check for CR
  14.     while (!((*AT91C_US0_CSR) & AT91C_US_TXRDY)); // Wait for Empty Tx Buffer
  15.     *AT91C_US0_THR = '\r';                      // Output CR
  16.   }
  17.   while (!((*AT91C_US0_CSR) & AT91C_US_TXRDY));   // Wait for Empty Tx Buffer
  18.   return (*AT91C_US0_THR = ch);                 // Transmit Character
  19. }</div><div>
  20. </div><div>void PutStr(unsigned char *str)
  21. {
  22. unsigned int i = 0x0;
  23. while(str[i] != '\0')
  24. {
  25.   putchar(str[i]);
  26.   i++;
  27. }
  28. }

  29. </div>
复制代码
主函数
  1. <div>int main(void)
  2. {
  3. uartinit();
  4. PutStr("ATD此处输入目标电话号码;\r");
  5. }</div><div>
  6. </div>
复制代码




SAM7S_UART_Call.hex

2.91 KB, 下载次数: 0

测试文件

回复

使用道具 举报

28

主题

45

帖子

1万

积分

允许发帖

积分
10186
发表于 2020-6-11 09:17:31 | 显示全部楼层
本帖最后由 Mcuzone_TKN 于 2020-6-11 09:18 编辑

连接图
EC200S.jpg
7S64连接EC200S.jpg
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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