📄 control.h
字号:
//
// 控制接口说明
//
#ifndef _CONTROL_H_
#define _CONTROL_H_
#define printf myprintf
#ifndef Tell // just for debug
//#define Tell(var) printf("%s %d: %s=%d,0x%x\r\n",__FILE__,__LINE__,#var,var,var)
#endif
#include <stdio.h>
#include <stdlib.h>
#include "Sms.h"
// 步进电机控制
void moto_stop(void);
void moto_clockwise(void);
void moto_anti_clockwise(void);
// 2x2 Keys
// 返回按键扫描值
unsigned char Key_Scan( void );
//控制蜂鸣器Be一声音。
void RunBeep(void);
// LED 显示 输入整数或者小数字符串
void LED_Display(const char* str,int flag);
int Led_Blink(int light);
// A/D
//void AD_init(void);
//void start_adc(unsigned long chanel);
//unsigned long read_value(void);
//EEPROM
int test_eeprom(int addr,char* buf,int len,int iswr);
unsigned short Keyboard_GetKey(void);
char* gettimestr(char* str);
void SendBuffer(char* comfile,char* buffer,int len);
int OpenDev(char *Dev);
int set_Parity(int fd,int databits,int stopbits,int parity);
void set_speed(int fd, int speed);
char* buffer2str(char* str,const void* buffer,int len,int flag);
unsigned long GetRunTimeMs(void);
int receivefromcom(int comfd,char* buffer,int len,int timeout);
void debugstr(const char* buffer,int j);
int GprsSendMessage(const char * number,const char *message);
void OpenCom(void);
int SendGprsCmd(const char* cmd,char* buffer,int len,int timeout);
int GetGPSViewString(char* str,int len);
#define GGA_DATA {"$GPGGA"}
#define GLL_DATA {"$GPGLL"}
#define GSA_DATA {"$GPGSA"}
#define GSV_DATA {"$GPGSV"}
#define RMC_DATA {"$GPRMC"}
#define VTG_DATA {"$GPVTG"}
#define GPS_ADD_ALL_CMD {"$PFST,NMEA,F003,9600\r\n"}
#define GPS_START_CMD {"$PFST,START,0\r\n"}
#define GPS_STOP_CMD {"$PFST,STOP\r\n"}
#define GPS_CMDMaxSize 80 /*revice Command Line length*/
#define GPS_CMDNUM 7 /*How many command it can process at the same time*/
#define MAXSATELLITE 12
typedef unsigned char U8;
typedef unsigned short U16;
typedef unsigned long U32;
typedef struct{
char Data[GPS_CMDMaxSize];
U8 State;//1: recive $ ; 2: send to handle ;
}GPSDataQ_TYPE;
typedef struct{ //
U8 Day;
U8 Mon;
U8 Year;
U8 Hour;
U8 Min;
U8 Sec;
U16 ms;
U8 Flag; //A right ; V wrong
}Time_TYPE;
typedef struct{
char Indicator;
U8 dd;
U8 mm;
U16 mmmm;
}Latitude_TYPE;
typedef struct{
char Indicator;
U16 ddd;
U8 mm;
U16 mmmm;
}Longtitude_TYPE;
typedef struct{
U8 ID;
U16 AZnEL;//118 degrees and 79 degrees to 11879;
U8 SNR;//satellite signal dBHz
}Stl_TYPE;
typedef struct{
Time_TYPE Time;//世界时间
Latitude_TYPE Latitude;//纬度
Longtitude_TYPE Longtitude;//经度
U32 Altitude;//120 to 12.0 meter//海拔高度
U8 HDOP;//18 to 1.8//水平精度系数
U8 VDOP;//18 to 1.8//垂直精度系数
U8 StlUsed;//卫星个数
Stl_TYPE Satellite[MAXSATELLITE];//卫星状态;
U16 Speed;//速度18 to 1.8 Km/hr
U8 Status;//HIGH 4bit is for FIX;LOW 4bit is for 3D/2D;
}GPS_DATA_TYPE;
extern GPS_DATA_TYPE GPS_DATA;
// CAN
typedef union tagFramInfo
{
U32 Byte;
struct
{
U32 DLC :4;
U32 Resv1 :2;
U32 RTR :1;
U32 FF :1;
U32 Resv2 :24;
}Bits;
}FramInfo;
typedef struct tagSJA1000_BufInfo
{
U32 FrID;
FramInfo FrIf;
U8 DA[8];
}stcSJA1000_BufInfo;
int CAN_Open(int canid);
int CAN_Send(stcSJA1000_BufInfo* Buf);
int CAN_Read(stcSJA1000_BufInfo* Buf);
char* debugcanframe(char* str,stcSJA1000_BufInfo* Buf);
void debugstr2(const char* buffer,int j);
int ListMessage(char* str);
extern SM_PARAM themsg[];
extern int themsgcount;
extern const char* gstr_MsgState[];
int tounicode(const char* src,int srclen,unsigned short* wstr,int len);
int fromunicode(unsigned short* wstr,int srclen,char* dest,int len);
int code_convert(char *from_charset,char *to_charset,char *inbuf,size_t inlen,char *outbuf,size_t outlen);
int u2g(char *inbuf,int inlen,char *outbuf,int outlen) ;
int g2u(char *inbuf,size_t inlen,char *outbuf,size_t outlen);
void testit(void);
void KeyScanInit(void);
void KeyScanExit(void);
unsigned long str2i(char * str);
extern unsigned char buf[1024];
#define INCLUDE_UART1_INTTERUPT
#endif // _CONTROL_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -