Esempio n. 1
0
void   TFI_CJ_clean ( )
{
	#ifdef OLDCJTFI
	byte command[20];	
	int ret = 0;
	int i = 0;
	memset ( command , 0x00 , 20 ) ;
	command[1] = DISP_OUT_LED;   //命令字
	for (i=3;i<15;++i) 
	{           //数据,清除显示时数据内容为空
        command[i] = ' ';
    }
    command[15] = 0;
	BBC(command);
	ret = serial_write(LED_COM,command  ,18) ;
	#else
	byte command[20];
	int ret = 0;
	memset ( command , 0x00 , 0x00 ) ;
	//0x97	清屏	AA 04 97 BB
	//0x98	清屏,语音:谢谢,祝您一路平安!	AA 04 98 BB
	//0x99	您好	AA 04 99 BB
	//0xA0	谢谢	AA 04 A0 BB
	//0xA1	欢迎光临	AA 04 A1 BB
	//0xA2	别客气	AA 04 A2 BB
	//0xA3	请慢走	AA 04 A3 BB
	//0xA4	走好	AA 04 A4 BB
	//0xA5	再见	AA 04 A5 BB
	command[0] = 0xAA;
	command[1] = 0x04;
	command[2] = 0x97;
	command[3] = 0xBB;
	ret = serial_write(LED_COM,command  ,4) ;
	#endif
}
Esempio n. 2
0
int
msr_iso_write(int fd, msr_tracks_t * tracks)
{
	int i;
	uint8_t buf[4];

	msr_cmd (fd, MSR_CMD_WRITE);

	buf[0] = MSR_ESC;
	buf[1] = MSR_RW_START;
	serial_write (fd, buf, 2);

	for (i = 0; i < MSR_MAX_TRACKS; i++) {
		buf[0] = MSR_ESC;
		buf[1] = i + 1;
		serial_write (fd, buf, 2);
		serial_write (fd, tracks->msr_tracks[i].msr_tk_data,
			tracks->msr_tracks[i].msr_tk_len);
	}

	buf[0] = MSR_RW_END;
	buf[1] = MSR_FS;
	serial_write (fd, buf, 2);

	serial_readchar (fd, &buf[0]);
	serial_readchar (fd, &buf[0]);

	if (buf[0] != MSR_STS_OK)
		warnx("write failed");

	return (0);
}
void serial_println(uint8_t port, String output) {
  for (uint8_t i=0; i<output.length(); i++){
    serial_write(port, output[i]);
  }
  serial_write(port, '\n');
  serial_activate(port);
}
Esempio n. 4
0
int ulcd_blit(ulcd_dev *dev,
              uint16_t x, uint16_t y,
              uint16_t w, uint16_t h,
              const char* data) {

    char buf[10];

    buf[0] = 0x49;
    buf[1] = x >> 8;
    buf[2] = x & 0xFF;
    buf[3] = y >> 8;
    buf[4] = y & 0xFF;
    buf[5] = w >> 8;
    buf[6] = w & 0xFF;
    buf[7] = h >> 8;
    buf[8] = h & 0xFF;
    buf[9] = 0x10;

    serial_write(dev->port, buf, 10);
    serial_write(dev->port, data, w*h*2);

    if(!check_result(dev, "Error while blitting.")) {
        return 0;
    }
    return 1;
}
Esempio n. 5
0
int ulcd_draw_text(ulcd_dev *dev,
                   const char* text,
                   int x, int y,
                   int font,
                   uint16_t color) {

    // Init
    int textlen = strlen(text);
    char buf[10];

    // Commands
    buf[0] = 0x53;
    buf[1] = x >> 8;
    buf[2] = x & 0xFF;
    buf[3] = y >> 8;
    buf[4] = y & 0xFF;
    buf[5] = font & 0xFF;
    buf[6] = color >> 8;
    buf[7] = color & 0xFF;
    buf[8] = 0x01;
    buf[9] = 0x01;

    // Send data
    serial_write(dev->port, buf, 10);
    serial_write(dev->port, text, textlen);
    write_char(dev, 0x00);

    // Check results
    if(!check_result(dev, "Text drawing failed.")) {
        return 0;
    }
    return 1;
}
Esempio n. 6
0
static gboolean
save(QahiraFormat *self, cairo_surface_t *surface, GOutputStream *stream,
		GCancellable *cancel, GError **error)
{
	struct Private *priv = GET_PRIVATE(self);
	gboolean status = TRUE;
	guchar *data = qahira_format_surface_get_data(self, surface);
	if (!data) {
		g_set_error(error, QAHIRA_ERROR, QAHIRA_ERROR_FAILURE,
				Q_("serial: surface data is NULL"));
		goto error;
	}
	priv->header.stride = qahira_format_surface_get_stride(self, surface);
	if (0 > priv->header.stride) {
		g_set_error(error, QAHIRA_ERROR, QAHIRA_ERROR_FAILURE,
				Q_("serial: invalid stride"));
		goto error;
	}
	qahira_surface_size(surface, &priv->header.width,
			&priv->header.height);
	priv->header.content = cairo_surface_get_content(surface);
	status = serial_write(self, stream, cancel, (gpointer)&priv->header,
			sizeof(priv->header), error);
	if (!status) {
		goto error;
	}
	status = serial_write(self, stream, cancel, data,
			priv->header.stride * priv->header.height, error);
exit:
	return status;
error:
	status = FALSE;
	goto exit;
}
void IRqueue(char *param_fname,int fd)
{
    FILE *fp=NULL;
    FILE *fpq=NULL;
	int res,i;
    char buffer[255] = {0};  //   buffer
        //check filename if exist
        printf(" Entering Queue mode: play commands from file\n");

        fpq=fopen(param_fname,"r");
        if (fpq==NULL)
            printf(" Queue command file does not exist. \n");
        else {
            char cmdfile[255];
            int len = 0;
            while (fgets(cmdfile, sizeof(cmdfile), fpq )){
                len = strlen(cmdfile);
                if( cmdfile[len-1] == '\n' )
                    cmdfile[len-1] = 0;
                fp=fopen(cmdfile,"rb");
                if (fp==NULL) {
                    printf("    Comand file %s does not exist. \n", cmdfile);
                    break;
                }
                else{
                    printf("      Sending command file %s \n", cmdfile);
                    serial_write( fd, "\x03", 1);
                    int comsresult = 0;
                    while(!feof(fp)) {
                       if ((res=fread(&buffer,sizeof(unsigned char),sizeof(buffer),fp)) > 0) {
                            if (verbose){
                                printf(" ######Sending -%d- Bytes to IRToy...\n", res);
                                for(i=0;i<res;i++)
                                    printf(" %02X ",(uint8_t) buffer[i]);
                                printf("\n");
                            }
                            comsresult = serial_write( fd, buffer, res);
                            if (comsresult != res){
                                printf("## comms error bytes sent %d <> bytes supposed to be sent %d\n", comsresult, res);
                                serial_write( fd, "\xFF\xFF\x00\x00\x00\x00\x00", 7);       //trying to 'reset' IR Toy after error
                                exit(-1);
                            }
                            comsresult = 0;
#ifdef _WIN32
                            Sleep(500);                                       //wait 500 milliseconds - for comms to finish, else get errors. Could try smaller, but no delay always fails & locks up the ORToy!
#else
                            sleep(500);                                      //wait 500 milliseconds - for comms to finish, else get errors. Could try smaller, but no delay always fails & locks up the ORToy!
#endif
                       }
                    }
                    if(comsresult){
                        printf("comms error level 1 %d\n", comsresult);
                        break;
                    }
                }
                fclose(fp);
            }
        }
        fclose(fpq);
}
Esempio n. 8
0
int
msr_raw_write(int fd, msr_tracks_t * tracks)
{
	int i;
	uint8_t buf[4];

	msr_cmd (fd, MSR_CMD_RAW_WRITE);


	buf[0] = MSR_ESC;
	buf[1] = MSR_RW_START;
	serial_write (fd, buf, 2);

	for (i = 0; i < MSR_MAX_TRACKS; i++) {
		buf[0] = MSR_ESC; /* start delimiter */
		buf[1] = i + 1; /* track number */
		buf[2] = tracks->msr_tracks[i].msr_tk_len; /* data length */
		serial_write (fd, buf, 3);
		serial_write (fd, tracks->msr_tracks[i].msr_tk_data,
			tracks->msr_tracks[i].msr_tk_len);
	}

	buf[0] = MSR_RW_END;
	buf[1] = MSR_FS;
	serial_write (fd, buf, 2);

	serial_readchar (fd, &buf[0]);
	serial_readchar (fd, &buf[0]);

	if (buf[0] != MSR_STS_OK)
		warnx("raw write failed");

	return (0);
}
Esempio n. 9
0
void  TFI_CJ_LedShow (   int CarType , int charge )
{	
	#ifdef OLDCJTFI
	byte command[20];	
	int ret = 0;
	memset ( command , 0x00 , 20 ) ;
	command[1] = DISP_OUT_LED;   //命令字
	sprintf(&command[3],"% 4d% 4d% 4d",CarType,charge,0);
	if(charge)
	{
		command[15] = CarType;
	}
	BBC(command);
	ret = serial_write(LED_COM,command  ,18) ;
	#else
	byte command[20];	
	int ret = 0;
	memset ( command , 0x00 , 20 ) ;
	//金额显示器显示 1 型车 金额 25元 余额不显示,语音:1型车 缴费25元
	//AA 0B 95 31 30 32 35 30 30 30 BB 
	if(CarType>0&&CarType<10&&charge>0)
	{
		command[0] = 0xAA;
		command[1] = 0x0B;
		command[2] = 0x95;//95报价 95不报价
		sprintf(&command[3],"%d%03d%03d",CarType,charge,0);
		command[10] = 0xBB;
		ret = serial_write(LED_COM,command  ,11) ;
	}
	#endif	
}
Esempio n. 10
0
static void serial_write_hex_digit(const uint32_t value) {
	if( value < 10 ) {
		serial_write((uint8_t)value + (uint8_t)'0');
	} else if( value < 16 ) {
		serial_write((uint8_t)(value - 10) + (uint8_t)'A');
	} else {
		serial_write('?');
	}
}
Esempio n. 11
0
inline void sendByte(unsigned char b)
{
	if (b==HDLC_frameFlag || b==HDLC_escapeFlag) 
	{
		serial_write(HDLC_escapeFlag);
		b ^= HDLC_escapeXOR;
	}
	serial_write(b);
}
Esempio n. 12
0
void loop()
{
serial_write("TEST\n\r");
if (serial_available()) {
					 serial_write("caractere");
					 caractere=serial_read();
					 serial_write(chaine);
					 serial_write(&caractere);
					 }
}
Esempio n. 13
0
static void gprs_uart_tx(uint8_t *pData, uint16_t len)
{
    DBG_ASSERT(pData != NULL __DBG_LINE);
    DBG_ASSERT(len != 0 __DBG_LINE);
    
#if GPRS_DEBUG
    serial_write(HAL_UART_2, pData, len);            
#endif  
    serial_write(HAL_UART_4, pData, len);
}
Esempio n. 14
0
void acc_dump(void) {
#ifdef ENABLE_DEBUG_SERIAL_DUMP
	serial_write_str("ACC: ");
	for (uint8_t i=0; i<3; i++) {
		serial_write_int(acc_data[i]);
		serial_write(' ');
	}
	serial_write('\n');
#endif
}
Esempio n. 15
0
void test_loopback(void) {
    serial_t serial;
    unsigned int count;
    time_t start, stop;
    uint8_t lorem_ipsum[] = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
    uint8_t lorem_hugesum[4096*3];
    uint8_t buf[sizeof(lorem_hugesum)];

    ptest();

    passert(serial_open(&serial, device, 115200) == 0);

    /* Test write/flush/read */
    passert(serial_write(&serial, lorem_ipsum, sizeof(lorem_ipsum)) == sizeof(lorem_ipsum));
    passert(serial_flush(&serial) == 0);
    passert(serial_read(&serial, buf, sizeof(lorem_ipsum), -1) == sizeof(lorem_ipsum));
    passert(memcmp(lorem_ipsum, buf, sizeof(lorem_ipsum)) == 0);

    /* Test poll/write/flush/poll/input waiting/read */
    passert(serial_poll(&serial, 500) == 0); /* Should timeout */
    passert(serial_write(&serial, lorem_ipsum, sizeof(lorem_ipsum)) == sizeof(lorem_ipsum));
    passert(serial_flush(&serial) == 0);
    passert(serial_poll(&serial, 500) == 1);
    usleep(500000);
    passert(serial_input_waiting(&serial, &count) == 0);
    passert(count == sizeof(lorem_ipsum));
    passert(serial_read(&serial, buf, sizeof(lorem_ipsum), -1) == sizeof(lorem_ipsum));
    passert(memcmp(lorem_ipsum, buf, sizeof(lorem_ipsum)) == 0);

    /* Test non-blocking poll */
    passert(serial_poll(&serial, 0) == 0);

    /* Test a very large read-write (likely to exceed internal buffer size (~4096)) */
    memset(lorem_hugesum, 0xAA, sizeof(lorem_hugesum));
    passert(serial_write(&serial, lorem_hugesum, sizeof(lorem_hugesum)) == sizeof(lorem_hugesum));
    passert(serial_flush(&serial) == 0);
    passert(serial_read(&serial, buf, sizeof(lorem_hugesum), -1) == sizeof(lorem_hugesum));
    passert(memcmp(lorem_hugesum, buf, sizeof(lorem_hugesum)) == 0);

    /* Test read timeout */
    start = time(NULL);
    passert(serial_read(&serial, buf, sizeof(buf), 2000) == 0);
    stop = time(NULL);
    passert((stop - start) > 1);

    /* Test non-blocking read */
    start = time(NULL);
    passert(serial_read(&serial, buf, sizeof(buf), 0) == 0);
    stop = time(NULL);
    /* Assuming we weren't context switched out for a second and weren't on a
     * thin time boundary ;) */
    passert((stop - start) == 0);

    passert(serial_close(&serial) == 0);
}
Esempio n. 16
0
inline void sendFrame1(unsigned int value)
{
    unsigned int checksum=0xaa;
	serial_write(HDLC_frameFlag);
	
	sendByte(value);
	
	checksum ^= value;
	sendByte(checksum);
	
	serial_write(HDLC_frameFlag);
}
Esempio n. 17
0
static int
shearwater_common_slip_write (shearwater_common_device_t *device, const unsigned char data[], unsigned int size)
{
	int n = 0;
	const unsigned char end[] = {END};
	const unsigned char esc_end[] = {ESC, ESC_END};
	const unsigned char esc_esc[] = {ESC, ESC_ESC};

#if 0
	// Send an initial END character to flush out any data that may have
	// accumulated in the receiver due to line noise.
	n = serial_write (device->port, end, sizeof (end));
	if (n != sizeof (end)) {
		return EXITCODE(n);
	}
#endif

	for (unsigned int i = 0; i < size; ++i) {
		const unsigned char *seq = NULL;
		unsigned int len = 0;
		switch (data[i]) {
		case END:
			// Escape the END character.
			seq = esc_end;
			len = sizeof (esc_end);
			break;
		case ESC:
			// Escape the ESC character.
			seq = esc_esc;
			len = sizeof (esc_esc);
			break;
		default:
			// Normal character.
			seq = data + i;
			len = 1;
			break;
		}

		n = serial_write (device->port, seq, len);
		if (n != len) {
			return EXITCODE(n);
		}
	}

	// Send the END character to indicate the end of the packet.
	n = serial_write (device->port, end, sizeof (end));
	if (n != sizeof (end)) {
		return EXITCODE(n);
	}

	return size;
}
Esempio n. 18
0
void serial_proxy(int com) {
	console_write("Serial proxy on\n");
	while (1) {
		int len_a = serial_proxy_read(__console, __buf_a);
		int len_b = serial_proxy_read(com, __buf_b);

		if (len_a > 0) {
			serial_write(com, len_a, __buf_a);
		}
		if (len_b > 0) {
			serial_write(__console, len_b, __buf_b);
		} 
	}
}
Esempio n. 19
0
/*
 * erases OLS flash
 * pump_fd - fd of pump com port
 */
int PUMP_FlashErase(int pump_fd, int flashid) {
  static const uint8_t cmd[4] = {0x04, 0x00, 0x00, 0x00};
  uint8_t status;
  int res;
  int retry = 0;

  if (flashid < 0)
    return OLSRESULT_FLASHID_UNKNOWN;

  res = serial_write(pump_fd, cmd, 4);
  if (res != 4)
    return OLSRESULT_CMDWRITE_ERROR;

  while (1) {
    res = serial_read(pump_fd, &status, 1);
    if (res < 1)
      retry++;

    if (res == 1)
      return (status == 0x01) ? OLSRESULT_SUCCESS : OLSRESULT_ERASE_ERROR;

    // 20 second timenout
    if (retry > 60)
      return OLSRESULT_TIMEOUT;
  }

  return OLSRESULT_SUCCESS;
}
Esempio n. 20
0
/*
 * Does OLS self-test
 * pump_fd - fd of pump com port
 */
int PUMP_selftest(int pump_fd) 
{
  static const uint8_t cmd[4] = {0x07, 0x00, 0x00, 0x00};
  uint8_t status;
  int res, retry;

  res = serial_write(pump_fd, cmd, 4);
  if (res != 4) return OLSRESULT_CMDWRITE_ERROR;

  retry=0;
  while (1) {
    res = serial_read(pump_fd, &status, 1);
    if (res<1) retry++;

    if (res == 1)
      break;

    // 20 second timenout
    if (retry > 60) 
      return OLSRESULT_TIMEOUT;
  }

  if (status & 0x01) return OLSRESULT_1V2SUPPLY_BAD;
  if (status & 0x02) return OLSRESULT_2V5SUPPLY_BAD;
  if (status & 0x04) return OLSRESULT_PROGB_BAD;
  if (status & 0x08) return OLSRESULT_DONE_BAD;
  if (status & 0x10) return OLSRESULT_UNKNOWN_JEDICID;
  if (status & 0x20) return OLSRESULT_UPDATE_BAD;
  return OLSRESULT_SUCCESS;
}
Esempio n. 21
0
int main(int argc, char *argv[])
{
	int serial_dev;
	int ret;
	char data[256];

	if (argc < 2) {
		fprintf(stderr, "Please specify serial device to use \r\n");
		return -1;
	}
	
	printf("Serial device to open: %s \r\n", argv[1]);
	
	serial_dev = serial_open(argv[1]);
	if (serial_dev < 0) {
		fprintf(stderr, "Unable to open serial device: %s: %s\r\n", argv[1], strerror(errno));
		return -1;
	}
	
	if (serial_setup(serial_dev, 115200)) {
		fprintf(stderr, "Unable to setup serial device: %s: %s\r\n", argv[1], strerror(errno));
	}

	while (1) {
		serial_write(serial_dev, "Testing");
		ret = serial_read(serial_dev, data, sizeof(data));
		if (ret <= 0) {
			printf("No data available \r\n");
		} else {
			printf("Serial data received:\r\n");
			printf("%s\r\n", data);
		}
		sleep(1);
	}
}
Esempio n. 22
0
bool DDAProtocol :: exec()
{
  int errorCount = ERROR_COUNT;
  while(!m_terminated)
  {
    if(rxPacket())
    {
      errorCount = ERROR_COUNT;
      unsigned txSize = m_txData.size();
      if(!txSize)
      {
        //Send ACK
        unsigned char tx = ACK;
        serial_write(m_serial, &tx, 1);
      }
      else
      {
        txPacket();
        waitAck();
      }
      handleData(m_rxData);
      m_rxData.clear();
    }
    else
    {
      if(--errorCount <= 0)
        return false;
    }
  }
  return true;
}
Esempio n. 23
0
// Write a string from program memory to the serial port
static void serial_writestr_P(const char* s) {
    char c=pgm_read_byte(s);
    while (c!=0) {
        serial_write(c);
	c=pgm_read_byte(++s);
    }    
}
Esempio n. 24
0
int get_dht11(serial *s,struct DHT11* data)
{
	int state=0;
//	static int count_err=0;	//连续错误次数
	char buffer[128];

	serial_write(s,"DHT11");
	usleep(90000);
	serial_read(s, buffer, '\n', 128);
	debug("receive from serial's data length is :%d\n",strlen(buffer));
	debug("receive from serial's data content is :%s\n",buffer);

	//判定接收到的字符串长度,小于50失败
	if(strlen(buffer)>50){
		sscanf(buffer,"%*s%*s%*s%*s%d%*s%d",&data->temp,&data->rehum);
		debug("temp:%d rehum:%d\n",data->temp,data->rehum);
		if(data->rehum>100||data->rehum<0||data->temp<0||data->temp>80){
			state=1;
//			count_err++;	//连续错误累加
		}
	}else{
		state=1;
	}

//	if(count_err>=100){	//如果连续错误超过100次,仍然将函数返回值置0,目的是为了让程序跳出死循环
//		state=0;
//	}
//
//	if(state==0){
//		count_err=0;
//	}
	return state;
}
Esempio n. 25
0
void
serial_write_block(unsigned char *ch, int len)
{
#if 1
  while (len--)
    serial_write(*ch++);
  serial_sync ();
#else
  DWORD num;
  if (verbose > 1)
    {
      int i;
      printf("\033[36m[%d]\033[0m", len);
      for (i=0; i<len; i++)
	dw (ch[i]);
    }
  while (len > 32)
    {
      FT_Write (handle, ch, 32, &num);
      ch += 32;
      len -= 32;
      serial_sync ();
    }
  if (len)
    FT_Write (handle, ch, len, &num);
  serial_sync ();
#endif
}
Esempio n. 26
0
static int scpi_serial_send(void *priv, const char *command)
{
	int len, result, written;
	gchar *terminated_command;
	struct scpi_serial *sscpi = priv;
	struct sr_serial_dev_inst *serial = sscpi->serial;

	terminated_command = g_strconcat(command, "\n", NULL);
	len = strlen(terminated_command);
	written = 0;
	while (written < len) {
		result = serial_write(serial, terminated_command + written, len - written);
		if (result < 0) {
			sr_err("Error while sending SCPI command: '%s'.", command);
			g_free(terminated_command);
			return SR_ERR;
		}
		written += result;
	}

	g_free(terminated_command);

	sr_spew("Successfully sent SCPI command: '%s'.", command);

	return SR_OK;
}
Esempio n. 27
0
static int nma_send_req(const struct sr_dev_inst *sdi, int req, char *params)
{
	struct sr_serial_dev_inst *serial;
	struct dev_context *devc;
	char buf[NMADMM_BUFSIZE];
	int len;

	if (!sdi || !(serial = sdi->conn) || !(devc = sdi->priv))
		return SR_ERR_BUG;

	len = snprintf(buf, sizeof(buf), "%s%s\r\n",
		nmadmm_requests[req].req_str, params ? params : "");

	sr_spew("Sending request: '%s'.", buf);

	devc->last_req = req;
	devc->last_req_pending = TRUE;

	if (serial_write(serial, buf, len) == -1) {
		sr_err("Unable to send request: %d %s.",
			errno, strerror(errno));
		devc->last_req_pending = FALSE;
		return SR_ERR;
	}

	return SR_OK;
}
Esempio n. 28
0
void get_bt_status(void)
{
	int key;
	char show_buffer[50];
	char des[10] = {0};

	while (1) {
        lcd_clrscr();
        lcd_disp_string(0, 0, "      蓝牙状态    ");
	   
		serial_clrbuf(CONFIG_BT_SERIAL_NUM, 1, 0);
    	serial_write(CONFIG_BT_SERIAL_NUM, "AT+STATUS\r\n", sizeof("AT+STATUS\r\n"));
	   	serial_read(CONFIG_BT_SERIAL_NUM, show_buffer, 20, 300);
		if(!strncmp(show_buffer, "+STATUS=", sizeof("+STATUS=") - 1)){
			des[0] = show_buffer[sizeof("+STATUS=") - 1];            
            if (strcmp(des, "2") == 0)
                lcd_disp_string(0, 16, "蓝牙已连接");
            else if (strcmp(des, "1") == 0)
                lcd_disp_string(0, 16, "蓝牙广播中...");
            else if (strcmp(des, "0") == 0)
                lcd_disp_string(0, 16, "蓝牙空闲");
	   		else
                lcd_disp_string(0, 16, "未知状态");
		}
	   	else
            lcd_disp_string(0, 16, "获取失败");

        key = kb_get_key(0);
        if (key == KEY_ESC)
            return;
    }
}
Esempio n. 29
0
void get_name(void)
{
	int key, i;
	char show_buffer[64] = {0};
	char name[17] = {0};

	while (1) {
        lcd_clrscr();
        lcd_disp_string(0, 0, "      蓝牙名称    ");
	   
	   	/*获取蓝牙地址*/
		serial_clrbuf(CONFIG_BT_SERIAL_NUM, 1, 0);
    	serial_write(CONFIG_BT_SERIAL_NUM, "AT+NAME\r\n", sizeof("AT+NAME\r\n"));
	   	serial_read(CONFIG_BT_SERIAL_NUM, show_buffer, 64, 300);
		if(!strncmp("+NAME=\"", show_buffer, 7)){
            for(i = 0; i < 16; i ++) {
                if (show_buffer[7 + i] == '\"')
                    break;
                name[i] = show_buffer[7 + i];
            }
	   	    lcd_disp_string(0, 16, name);
		}
	   	else
            lcd_disp_string(0, 16, "获取失败");

        key = kb_get_key(0);
        if (key == KEY_ESC)
            return;
    }
}
Esempio n. 30
0
void get_mac(void)
{
	int key;
	char show_buffer[64];
	char addr[18];

	while (1) {
        lcd_clrscr();
        lcd_disp_string(0, 0, "      蓝牙MAC地址    ");
	   
	   	/*获取蓝牙地址*/
		serial_clrbuf(CONFIG_BT_SERIAL_NUM, 1, 0);
    	serial_write(CONFIG_BT_SERIAL_NUM, "AT+LADDR\r\n", sizeof("AT+LADDR\r\n"));
	   	serial_read(CONFIG_BT_SERIAL_NUM, show_buffer, 64, 300);
		if(!strncmp("+LADDR=", show_buffer, 7)){
            memcpy(addr, show_buffer + 7, 17);
	   	    lcd_disp_string(0, 16, addr);
		}
	   	else
            lcd_disp_string(0, 16, "获取失败");

        key = kb_get_key(0);
        if (key == KEY_ESC)
            return;
    }
}