Skip to content

Commit 4c18edf

Browse files
Add files via upload
1 parent e2042e8 commit 4c18edf

File tree

13 files changed

+1177
-0
lines changed

13 files changed

+1177
-0
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
#include "embARC.h"
2+
#include "embARC_debug.h"
3+
#include "stdio.h"
4+
#include <string.h>
5+
#include "arc.h"
6+
#include "GPRS.h"
7+
#define I2C_SLAVE_ADDR2 0x01
8+
DEV_IIC *dev_iic_gprs=NULL;
9+
uint8_t *phoneNum = "00310038003700300030003800310033003000360031";
10+
uint8_t *msg = "4E3B4EBAFF0C4E3B4EBAFF0C621189818DDF4E224F604E86";
11+
12+
static void delay_ms(volatile int z) //1ms
13+
{
14+
volatile uint32_t x,y;
15+
for(x=1400;x>0;x--)
16+
for(y=z;y>0;y--);
17+
}
18+
19+
void call(void)
20+
{
21+
22+
dev_iic_gprs = iic_get_dev(DW_IIC_0_ID);
23+
dev_iic_gprs->iic_open(DEV_MASTER_MODE, IIC_SPEED_STANDARD);
24+
dev_iic_gprs->iic_control(IIC_CMD_MST_SET_TAR_ADDR, CONV2VOID(I2C_SLAVE_ADDR2));
25+
uint8_t i;
26+
int8_t *cmd[2]={"ATD18829283316;\r\n",};
27+
for(i = 0; i < 4; i++)
28+
{
29+
dev_iic_gprs->iic_write(cmd[i], strlen(cmd[i]));
30+
delay_ms(100);
31+
}
32+
uint8_t end[]={0x1a,0x00};
33+
dev_iic_gprs->iic_write(end, strlen(end));
34+
printf("end1\r\n");
35+
36+
}
37+
38+
void send(uint8_t *phoneNum, uint8_t *msg)
39+
{
40+
dev_iic_gprs = iic_get_dev(DW_IIC_0_ID );
41+
dev_iic_gprs->iic_open(DEV_MASTER_MODE, IIC_SPEED_STANDARD);
42+
dev_iic_gprs->iic_control(IIC_CMD_MST_SET_TAR_ADDR, CONV2VOID(I2C_SLAVE_ADDR2));
43+
44+
uint8_t i;
45+
uint8_t pnum[64];
46+
int8_t *cmd[5]={"AT+CMGF=1\r\n", "AT+CSCS=\"UCS2\"\r\n",
47+
"AT+CSCA?\r\n", "AT+CSMP=17,167,0,25\r\n",};
48+
snprintf(pnum, 64, "AT+CMGS=\"%s\"\r\n", phoneNum);
49+
for(i = 0; i < 4; i++)
50+
{
51+
dev_iic_gprs->iic_write(cmd[i], strlen(cmd[i]));
52+
delay_ms(100);
53+
}
54+
dev_iic_gprs->iic_write(pnum, strlen(pnum));
55+
delay_ms(100);
56+
dev_iic_gprs->iic_write(msg, strlen(msg));
57+
delay_ms(100);
58+
uint8_t end[]={0x1a,0x00};
59+
dev_iic_gprs->iic_write(end, strlen(end));
60+
printf("end\r\n");
61+
}
62+
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#ifndef _GPRS_H_
2+
#define _GPRS_H_
3+
4+
static void delay_ms(volatile int z);
5+
extern void call(void);
6+
extern void send(uint8_t *phoneNum, uint8_t *msg);
7+
#endif /* _GPRS_H_ */
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#include "embARC.h"
2+
#include "embARC_debug.h"
3+
#include "stdio.h"
4+
#include "arc.h"
5+
#include "ZPH01.h"
6+
DEV_UART *dev_uart2 = NULL;
7+
8+
void uart2_init(void)
9+
{
10+
uint32_t baudrate1 = 9600;
11+
dev_uart2 = uart_get_dev(DW_UART_2_ID);
12+
dev_uart2->uart_open(baudrate1);
13+
}
14+
15+
uint32_t receive_pm(void)
16+
{
17+
uint8_t rcv_buf[9];
18+
uint8_t PPM[4];
19+
20+
uint16_t p = 0;
21+
uint16_t p1 = 0;
22+
float mconcentration;
23+
uint32_t rcv_cnt;
24+
uint32_t i = 0;
25+
uint32_t baudrate1 = 9600;
26+
uint32_t rd_avail = 0;
27+
uint8_t*mm;
28+
dev_uart2->uart_control(UART_CMD_GET_RXAVAIL, (void *)(&rd_avail));
29+
if(rd_avail > 0){
30+
rcv_cnt = dev_uart2->uart_read(rcv_buf, rd_avail);
31+
if((rcv_buf[0]==0xff)&&(rcv_buf[1]==0x18))
32+
{
33+
mconcentration=((float)(rcv_buf[3])+((float)(rcv_buf[4]))/100.0)*20;
34+
p=(uint16_t)mconcentration;
35+
p1=p;
36+
PPM[0] =p / 1000 + '0';
37+
p= p % 1000;
38+
PPM[1] = p / 100 + '0';
39+
p = p % 100;
40+
PPM[2] = p/ 10 + '0';
41+
PPM[3] = p % 10 + '0';
42+
mm=PPM;
43+
// printf("ppm=%s\r\n", mm);
44+
}
45+
}
46+
return p1;
47+
}
48+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#ifndef _ZPH01_H_
2+
#define _ZPH01_H_
3+
4+
5+
extern void uart2_init(void);
6+
extern uint32_t receive_pm(void);
7+
8+
#endif /* _ZPH01_H_ */
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#include "embARC.h"
2+
#include "embARC_debug.h"
3+
#include "stdio.h"
4+
#include "arc.h"
5+
#include "buzzer.h"
6+
DEV_GPIO_PTR port_alarm;
7+
static void delay_ms(volatile int z) //1ms
8+
{
9+
volatile uint32_t x,y;
10+
for(x=1400;x>0;x--)
11+
for(y=z;y>0;y--);
12+
}
13+
14+
void beep(void)
15+
{
16+
port_alarm = gpio_get_dev(DW_GPIO_PORT_C);
17+
port_alarm->gpio_open(0x10000000);//C28
18+
port_alarm->gpio_control(GPIO_CMD_SET_BIT_DIR_OUTPUT, (void *)10000000);
19+
20+
port_alarm->gpio_write(0x10000000, 0x10000000);
21+
22+
delay_ms(5000);
23+
24+
port_alarm->gpio_write(0x00000000, 0x10000000);
25+
EMBARC_PRINTF("beep");
26+
27+
}
28+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#ifndef _BUZZER_H_
2+
#define _BUZZER_H_
3+
4+
5+
extern void beep(void);
6+
static void delay_ms(volatile int z);
7+
8+
#endif /* _BUZZER_H_ */

0 commit comments

Comments
 (0)