本资源包含Arduino 51和STM32微控制器结合SIM800C模块进行通信编程的相关软件例程和完整源代码,适用于物联网项目开发学习。
SIM800C模块应用Arduino 51单片机 STM32软件例程源码资料合集包括以下内容:
- Arduino例程
- 51单片机测试源码
- STM32测试源码
具体功能实现如下:
- 使用STM32拨打电话,发送短信和进行TCP通信。
- 利用STC89C52与SIM800C模块结合实现拨打电话、发送及接收短信,并通过SMS远程控制开关。
以下是示例代码:
```c
void main(){
Uart_Init();
if (sendCommand(AT\r\n, OK\r\n, 3000, 10) == Success);
else errorLog();
delay_ms(10);
if (sendCommand(AT+CPIN?\r\n, READY, 1000, 10) == Success);
else errorLog();
phone(phoneNumber); //拨打电话
while(1){
}
}
void phone(char *number){
char send_buf[20] = {0};
memset(send_buf, 0, 20);
strcpy(send_buf, ATD);
strcat(send_buf, number);
strcat(send_buf,;\r\n);
if (sendCommand(send_buf, OK\r\n, 10000, 10) == Success);
else errorLog();
}
void errorLog(){
while(1){
if (sendCommand(AT\r\n, OK\r\n, 100, 10) == Success)
soft_reset();
delay_ms(200);
}
}
void soft_reset(void){ //软复位
((void (code *) (void)) 0x0000)();
}
unsigned int sendCommand(char *Command, char *Response, unsigned long Timeout, unsigned char Retry){
unsigned char n;
CLR_Buf();
for(n = 0; n < Retry;n++){
SendString(Command); //发送GPRS命令
Time_Cont = 0;
while(Time_Cont < Timeout) {
delay_ms(100);
Time_Cont += 100;
if(strstr(Rec_Buf, Response)!=NULL){
CLR_Buf();
return Success;
}
}
Time_Cont = 0;
}
CLR_Buf();
return Failure;
}
void delay_ms(unsigned int n){ //延时函数
unsigned int i,j;
for(i=0;i
优质
本资源提供W5500网络模块详细技术文档与示例代码,帮助开发者快速上手并完成项目中TCP/IP协议栈的集成和应用开发。
W5500 源码程序包包含模块的具体图纸及相应的C语言程序。
优质
本资源提供ESP8266 WiFi模块的操作指南和编程示例,并包含STM32微控制器用于控制ESP8266的相关代码,适用于物联网开发学习。
ESP8266 WiFi模块使用资料包括但不限于以下内容:
1. ESP8266 WiFi模块原理图;
2. ESP8266模块使用说明;
3. 适用于ESP8266的STM32程序版本;
4. 配套软件。
优质
本资源提供MAX7219点阵显示模块的详细中文文档与示例代码,帮助用户快速掌握其工作原理和应用技巧。
该开发板基于STC15W1K16S设计,并集成了四个MAX7219显示程序。只需稍作调整即可实现中文字体的显示功能。文档内容包括MAX7219的相关技术资料(含中文和英文版本)、8X8共阴点阵模块的技术规格以及引脚排列图等信息。
优质
本资料详细介绍火焰传感器模块的功能、工作原理及其应用,并提供相关编程代码示例,帮助用户轻松实现火灾检测等项目。
火焰传感器模块资料包括模块介绍以及相关程序内容。该模块支持数字输出,并且模拟输出更为精准。