您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ strcpy_P函数代码示例

51自学网 2021-06-03 08:28:31
  C++
这篇教程C++ strcpy_P函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中strcpy_P函数的典型用法代码示例。如果您正苦于以下问题:C++ strcpy_P函数的具体用法?C++ strcpy_P怎么用?C++ strcpy_P使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了strcpy_P函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: syslog_send_cb_P

static void syslog_send_cb_P(void *data) {  strcpy_P(uip_appdata, data);  uip_udp_send(strlen_P(data));}
开发者ID:dschanoeh,项目名称:ethersex,代码行数:5,


示例2: malloc

	int PortMapClass::getExternalIpRequest()	{		if (_apmClient.connect(igdIp(), igdPort()))		{        	char * buffer = (char *) malloc (256);    		memset(buffer, 0, 256);            char * smallbuffer = (char *) malloc (8);            memset(smallbuffer, 0,8);        	// Make a HTTP request:        	strcpy_P(buffer, EXTIP_HEADER1A);            // convert control URL from string to char array and append to buffer contents            String controlUrlString = igdControlUrl();            char controlUrlStringArray[controlUrlString.length()+1];            controlUrlString.toCharArray(controlUrlStringArray, sizeof(controlUrlStringArray));            strcat(buffer, controlUrlStringArray);            strcat_P(buffer, EXTIP_HEADER1B);            // convert igd IP address to char array and append to buffer contents            IPAddress igdIpAddress = igdIp();            strcat(buffer, itoa(igdIpAddress[0], smallbuffer, 10));            memset(smallbuffer, 0,8);            strcat(buffer, ".");            strcat(buffer, itoa(igdIpAddress[1], smallbuffer, 10));            memset(smallbuffer, 0,8);            strcat(buffer, ".");            strcat(buffer, itoa(igdIpAddress[2], smallbuffer, 10));            memset(smallbuffer, 0,8);            strcat(buffer, ".");            strcat(buffer, itoa(igdIpAddress[3], smallbuffer, 10));            memset(smallbuffer, 0,8);            strcat(buffer, ":");                        // convert igd port number to char array and append            uint16_t igdPortNumber = igdPort();            strcat(buffer, itoa(igdPortNumber, smallbuffer, 10));            memset(smallbuffer, 0,8);            strcat_P(buffer, EXTIP_HEADER1C);			strcat_P(buffer, EXTIP_BODY1);        	strcat_P(buffer, EXTIP_BODY2);        	strcat_P(buffer, EXTIP_BODY3);        	strcat_P(buffer, EXTIP_BODY4);        	strcat_P(buffer, EXTIP_BODY5);        	strcat_P(buffer, EXTIP_BODY6);        	_apmClient.print(buffer);        	free(buffer);            free(smallbuffer);        	return parseExternalIpResponse();    	} else {        	// if you didn't get a connection to the server:        	_apmClient.stop();        	return 0;    	}	}
开发者ID:deverick,项目名称:Arduino-Upnp-PortMapping,代码行数:67,


示例3: monthStr

char* monthStr(uint8_t month){    strcpy_P(buffer, (PGM_P)pgm_read_word(&(monthNames_P[month])));        return buffer;}
开发者ID:r24y,项目名称:Iridium9612,代码行数:5,


示例4: Webserver_ApplicationCallback

/** Application callback routine, executed each time the TCP processing task runs. This callback determines what request *  has been made (if any), and serves up appropriate responses. * *  /param[in] ConnectionState  Pointer to a TCP Connection State structure giving connection information *  /param[in,out] Buffer       Pointer to the application's send/receive packet buffer */void Webserver_ApplicationCallback(TCP_ConnectionState_t* const ConnectionState,                                   TCP_ConnectionBuffer_t* const Buffer){	char*          BufferDataStr = (char*)Buffer->Data;	static uint8_t PageBlock     = 0;	/* Check to see if a packet has been received on the HTTP port from a remote host */	if (TCP_APP_HAS_RECEIVED_PACKET(Buffer))	{		if (IsHTTPCommand(Buffer->Data, "GET"))		{			if (IsHTTPCommand(Buffer->Data, "GET / "))			{				PageBlock = 0;				/* Copy the HTTP 200 response header into the packet buffer */				strcpy_P(BufferDataStr, HTTP200Header);				/* Send the buffer contents to the host */				TCP_APP_SEND_BUFFER(Buffer, strlen(BufferDataStr));				/* Lock the buffer to Device->Host transmissions only while we send the page contents */				TCP_APP_CAPTURE_BUFFER(Buffer);			}			else			{				/* Copy the HTTP 404 response header into the packet buffer */				strcpy_P(BufferDataStr, HTTP404Header);				/* Send the buffer contents to the host */				TCP_APP_SEND_BUFFER(Buffer, strlen(BufferDataStr));				/* All data sent, close the connection */				TCP_APP_CLOSECONNECTION(ConnectionState);			}		}		else if (IsHTTPCommand(Buffer->Data, "HEAD"))		{			if (IsHTTPCommand(Buffer->Data, "HEAD / "))			{				/* Copy the HTTP response header into the packet buffer */				strcpy_P(BufferDataStr, HTTP200Header);				/* Send the buffer contents to the host */				TCP_APP_SEND_BUFFER(Buffer, strlen(BufferDataStr));			}			else			{				/* Copy the HTTP response header into the packet buffer */				strcpy_P(BufferDataStr, HTTP404Header);				/* Send the buffer contents to the host */				TCP_APP_SEND_BUFFER(Buffer, strlen(BufferDataStr));			}			/* All data sent, close the connection */			TCP_APP_CLOSECONNECTION(ConnectionState);		}		else if (IsHTTPCommand(Buffer->Data, "TRACE"))		{			/* Echo the host's query back to the host */			TCP_APP_SEND_BUFFER(Buffer, Buffer->Length);			/* All data sent, close the connection */			TCP_APP_CLOSECONNECTION(ConnectionState);		}		else		{			/* Unknown request, just clear the buffer (drop the packet) */			TCP_APP_CLEAR_BUFFER(Buffer);		}	}	else if (TCP_APP_HAVE_CAPTURED_BUFFER(Buffer))	{		uint16_t RemLength = strlen_P(&HTTPPage[PageBlock * HTTP_REPLY_BLOCK_SIZE]);		uint16_t Length;		/* Determine the length of the loaded block */		Length = ((RemLength > HTTP_REPLY_BLOCK_SIZE) ? HTTP_REPLY_BLOCK_SIZE : RemLength);		/* Copy the next buffer sized block of the page to the packet buffer */		strncpy_P(BufferDataStr, &HTTPPage[PageBlock * HTTP_REPLY_BLOCK_SIZE], Length);		/* Send the buffer contents to the host */		TCP_APP_SEND_BUFFER(Buffer, Length);		/* Check to see if the entire page has been sent */		if (PageBlock++ == (sizeof(HTTPPage) / HTTP_REPLY_BLOCK_SIZE))		{			/* Unlock the buffer so that the host can fill it with future packets */			TCP_APP_RELEASE_BUFFER(Buffer);			/* Close the connection to the host */			TCP_APP_CLOSECONNECTION(ConnectionState);//.........这里部分代码省略.........
开发者ID:Dzenik,项目名称:RF-Pirate,代码行数:101,


示例5: lcd_sd_menu_details_callback

void lcd_sd_menu_details_callback(uint8_t nr){    if (nr == 0)    {        return;    }    for(uint8_t idx=0; idx<LCD_CACHE_COUNT; idx++)    {        if (LCD_CACHE_ID(idx) == nr)        {            if (LCD_CACHE_TYPE(idx) == 1)            {                lcd_lib_draw_string_centerP(53, PSTR("Folder"));            }else{                char buffer[64];                if (LCD_DETAIL_CACHE_ID() != nr)                {                    card.getfilename(nr - 1);                    if (card.errorCode())                    {                        card.clearError();                        return;                    }                    LCD_DETAIL_CACHE_ID() = nr;                    LCD_DETAIL_CACHE_TIME() = 0;                    for(uint8_t e=0; e<EXTRUDERS; e++)                        LCD_DETAIL_CACHE_MATERIAL(e) = 0;                    card.openFile(card.filename, true);                    if (card.isFileOpen())                    {                        for(uint8_t n=0;n<8;n++)                        {                            card.fgets(buffer, sizeof(buffer));                            buffer[sizeof(buffer)-1] = '/0';                            while (strlen(buffer) > 0 && buffer[strlen(buffer)-1] < ' ') buffer[strlen(buffer)-1] = '/0';                            if (strncmp_P(buffer, PSTR(";TIME:"), 6) == 0)                                LCD_DETAIL_CACHE_TIME() = atol(buffer + 6);                            else if (strncmp_P(buffer, PSTR(";MATERIAL:"), 10) == 0)                                LCD_DETAIL_CACHE_MATERIAL(0) = atol(buffer + 10);#if EXTRUDERS > 1                            else if (strncmp_P(buffer, PSTR(";MATERIAL2:"), 11) == 0)                                LCD_DETAIL_CACHE_MATERIAL(1) = atol(buffer + 11);#endif                        }                    }                    if (card.errorCode())                    {                        //On a read error reset the file position and try to keep going. (not pretty, but these read errors are annoying as hell)                        card.clearError();                        LCD_DETAIL_CACHE_ID() = 255;                    }                }                                if (LCD_DETAIL_CACHE_TIME() > 0)                {                    char* c = buffer;                    if (led_glow_dir)                    {                        strcpy_P(c, PSTR("Time: ")); c += 6;                        c = int_to_time_string(LCD_DETAIL_CACHE_TIME(), c);                    }else{                        strcpy_P(c, PSTR("Material: ")); c += 10;                        float length = float(LCD_DETAIL_CACHE_MATERIAL(0)) / (M_PI * (material[0].diameter / 2.0) * (material[0].diameter / 2.0));                        if (length < 10000)                            c = float_to_string(length / 1000.0, c, PSTR("m"));                        else                            c = int_to_string(length / 1000.0, c, PSTR("m"));#if EXTRUDERS > 1                        if (LCD_DETAIL_CACHE_MATERIAL(1))                        {                            *c++ = '/';                            float length = float(LCD_DETAIL_CACHE_MATERIAL(1)) / (M_PI * (material[1].diameter / 2.0) * (material[1].diameter / 2.0));                            if (length < 10000)                                c = float_to_string(length / 1000.0, c, PSTR("m"));                            else                                c = int_to_string(length / 1000.0, c, PSTR("m"));                        }#endif                    }                    lcd_lib_draw_string(3, 53, buffer);                }else{                    lcd_lib_draw_stringP(3, 53, PSTR("No info available"));                }            }        }    }}
开发者ID:krasin,项目名称:Ultimaker2Marlin,代码行数:87,


示例6: prvCanCmd

//.........这里部分代码省略.........			}		} else //no more params		{			xReturn = pdFALSE;			lParameterNumber = 0;			pcWriteBuffer[ 0 ] = 0x00;						switch (xState) 			{			case STATE_RESET:				xCanCmdElement.xCanCmd = CMD_CAN_RESET;				xQueueSend(xCanCmdQueue, &xCanCmdElement, portMAX_DELAY );			break;			/*case STATE_CLOSE:				xCanCmdElement.xCanCmd = CMD_CAN_OPEN;				xCanCmdElement.ucCloseOpen = 0;				xQueueSend(xCanCmdQueue, &xCanCmdElement, portMAX_DELAY );			break;*/			case STATE_CONFVALUE:				xCanCmdElement.xCanCmd = CMD_CAN_CONF;				xCanCmdElement.ucDefaultConfig = xArgL1;				xQueueSend(xCanCmdQueue, &xCanCmdElement, portMAX_DELAY );			break;			case STATE_DIS:				xCanCmdElement.xCanCmd = CMD_CAN_ENA;				xCanCmdElement.ucDisEnaListen = CMD_CAN_DIS_VAL;				xQueueSend(xCanCmdQueue, &xCanCmdElement, portMAX_DELAY );			break;			case STATE_ENA:				xCanCmdElement.xCanCmd = CMD_CAN_ENA;				xCanCmdElement.ucDisEnaListen = CMD_CAN_ENA_VAL;				xQueueSend(xCanCmdQueue, &xCanCmdElement, portMAX_DELAY );			break;			case STATE_ENALISTEN:				xCanCmdElement.xCanCmd = CMD_CAN_ENA;				xCanCmdElement.ucDisEnaListen = CMD_CAN_ENA_LISTEN_VAL;				xQueueSend(xCanCmdQueue, &xCanCmdElement, portMAX_DELAY );			break;			case STATE_BAUDAUTO:				xCanCmdElement.xCanCmd = CMD_CAN_BAUD;				xCanCmdElement.ucGetSetAuto = CMD_CAN_BAUD_AUTO_VAL;				xQueueSend(xCanCmdQueue, &xCanCmdElement, portMAX_DELAY );			break;			case STATE_BAUDGET:				xCanCmdElement.xCanCmd = CMD_CAN_BAUD;				xCanCmdElement.ucGetSetAuto = CMD_CAN_BAUD_GET_VAL;				xQueueSend(xCanCmdQueue, &xCanCmdElement, portMAX_DELAY );			break;			case STATE_BAUDSETVALS:				xCanCmdElement.xCanCmd = CMD_CAN_BAUD;				xCanCmdElement.ucGetSetAuto = CMD_CAN_BAUD_SET_VAL;				xCanCmdElement.xArgMsg[0] = xArgL1;				xCanCmdElement.xArgMsg[1] = xArgL2;				xCanCmdElement.xArgMsg[2] = xArgL3;				xQueueSend(xCanCmdQueue, &xCanCmdElement, portMAX_DELAY );			break;			case STATE_MOBDUMP:				xCanCmdElement.xCanCmd = CMD_CAN_MOB_DUMP;				xCanCmdElement.ucUndumpDump = CMD_CAN_DUMP;				xCanCmdElement.cMobNum = xArgL1;				xQueueSend(xCanCmdQueue, &xCanCmdElement, portMAX_DELAY );			break;			case STATE_MOBUNDUMP:				xCanCmdElement.xCanCmd = CMD_CAN_MOB_DUMP;				xCanCmdElement.ucUndumpDump = CMD_CAN_UNDUMP;				xCanCmdElement.cMobNum = xArgL1;				xQueueSend(xCanCmdQueue, &xCanCmdElement, portMAX_DELAY );			break;			case STATE_MOBRDTAGMASK:				xCanCmdElement.xCanCmd = CMD_CAN_MOB_RDWR;				xCanCmdElement.ucReadWrite = CMD_CAN_RD_VAL;				xCanCmdElement.cMobNum = xArgL1;				xCanCmdElement.sTag = xArgL2;				xCanCmdElement.sMask = xArgL3;				xQueueSend(xCanCmdQueue, &xCanCmdElement, portMAX_DELAY );			break;			case STATE_MOBWRTAGLENMSG:				xCanCmdElement.xCanCmd = CMD_CAN_MOB_RDWR;				xCanCmdElement.ucReadWrite = CMD_CAN_WR_VAL;				xCanCmdElement.cMobNum = xArgL1;				xCanCmdElement.sTag = xArgL2;				xCanCmdElement.sLen = xArgL3&0x0F;				xCanCmdElement.cRtr = xArgL3&0x10;				memcpy(xCanCmdElement.xArgMsg,xArgMsg,8);				xQueueSend(xCanCmdQueue, &xCanCmdElement, portMAX_DELAY );			break;			case STATE_FAIL:			default:			{}			}		}	}	if ( STATE_FAIL == xState ) 	{		lParameterNumber = 0;		strcpy_P((portCHAR*)pcWriteBuffer, pm_cstr_INVALID );			}	return xReturn;}
开发者ID:ievosabo,项目名称:Canner,代码行数:101,


示例7: tui_pgm_menupart_printer

static uint8_t tui_pgm_menupart_printer(unsigned char* buf, int32_t val) {	strcpy_P((char*)buf, (PGM_P)pgm_read_word(&(tui_pgm_menu_table[val])));	return strlen((char*)buf);}
开发者ID:urjaman,项目名称:carlcdp,代码行数:4,


示例8: rps

char* rps(const char* progString) {  static char buf[21];  strcpy_P(buf, progString);  return buf;}
开发者ID:hisashin,项目名称:NinjaPCR,代码行数:5,


示例9: pgmCopy

static inline void pgmCopy(const __FlashStringHelper *ifsh) {	strcpy_P(pgbuf, (char*)ifsh);}
开发者ID:maciejmiklas,项目名称:ArdLog,代码行数:3,


示例10: main

//.........这里部分代码省略.........   lcd_string_P(PSTR("Boot complete  "));   _delay_ms(10);   //Switch Backlight off:   PORTC &= ~(1<<PC3);   // Enter main loop   uint8_t dezisek = 0;#define DEZISEKTHRES 4   while(1) {                // (5)     /* "leere" Schleife*/   // (6)     _delay_ms(25);     //pb_scroll <<= 1;     //if (pb_scroll == 0b00010000) pb_scroll = 0b00000001;     //PORTB &= 0b11110000;     //PORTB |= pb_scroll;     PORTB ^= (1<<PB2);     if (dezisek > DEZISEKTHRES) {       if (relay_timer > 0) {         relay_timer --;         if (relay_timer == 0) relay_reset = 1;         else {           PORTB ^= ( 1 << PB5 )|(1<<PB6)|(1<<PB7);         }       }     }     dezisek++;     if (disp_set) {       lcd_clear();       lcd_home();       for(i=0;i<16;i++)lcd_data(disp_buf[i]);       lcd_setcursor(0,2);       for(;i<32;i++)lcd_data(disp_buf[i]);       disp_set = 0;       _delay_ms(250);     }     if (relay_set) {       PORTB |= (1<<PB4);       PORTB |= (1<<PB5)|(1<<PB6)|(1<<PB7);       relay_set = 0;     }     if (relay_reset) {       PORTB &= ~(1<<PB4);       PORTB &= ~((1<<PB5)|(1<<PB6)|(1<<PB7));       relay_reset = 0; relay_timer = 0;     }     if (PINA & (1<<PA7)) {       uart_putc('5');     }     if (PINA & (1<<PA6)) {       uart_putc('4');     }     if (PINA & (1<<PA5)) {       uart_putc('3');     }     if (PINA & (1<<PA4)) {       uart_putc('2');     }     if (measure_temp == 1) {       //PORTC ^= (1<<PC3);       uint8_t sensor_id[OW_ROMCODE_SIZE];       uint8_t diff = OW_SEARCH_FIRST;       ow_reset();       DS18X20_find_sensor(&diff, &sensor_id[0]);       if (diff == OW_PRESENCE_ERR)           strcpy_P(&disp_tmp_buf[0], PSTR("Err:Presence     "));       else if (diff == OW_DATA_ERR)           strcpy_P(&disp_tmp_buf[0], PSTR("Err:Data         "));       else {         if ( DS18X20_start_meas( DS18X20_POWER_PARASITE, NULL ) == DS18X20_OK) {           _delay_ms( DS18B20_TCONV_12BIT );           int16_t decicelsius;           if ( DS18X20_read_decicelsius( &sensor_id[0], &decicelsius) == DS18X20_OK ) {             disp_tmp_buf[0]='T'; disp_tmp_buf[1]='e'; disp_tmp_buf[2]='m'; disp_tmp_buf[3]='p'; disp_tmp_buf[4]=':'; disp_tmp_buf[5]=' ';             DS18X20_format_from_decicelsius( decicelsius, &disp_tmp_buf[6], 8 );           } else {             strcpy_P(&disp_tmp_buf[0], PSTR("Err: Read        "));           }         } else {             strcpy_P(&disp_tmp_buf[0], PSTR("Err: StartMeasure"));         }       }       sprintf(&disp_tmp_buf[16], "%d bytes recv.", recv_len);       //disp_show_buf(&disp_tmp_buf[0]);       for(i=0;i<20;i++) uart_putc(disp_tmp_buf[i]);       measure_temp=0;     }     if (PINA & (1<<PA3)) {       relay_set = 1;       relay_timer = 10;       uart_putc('1');     }     //uart_putc('+');//     uart_putc('/n');   }                         // (7)   /* wird nie erreicht */   return 0;                 // (8)}
开发者ID:max-weller,项目名称:avr-seriell-dingens,代码行数:101,


示例11: main

int main(void){	unsigned int sockaddr;	unsigned char mysocket;	unsigned int rsize;	/* Initialize the UART for ATmega168 96008N1    */	uart_init();	stdout = &uart_stdout;	//Required for printf init	mysocket = 0;		// magic number! declare the socket number we will us	sockaddr = W5100_SKT_BASE(mysocket);	// calc address of W5100 register set for this socket	puts("AVR Ethernet/r/n");/* *  Initialize the ATmega168 SPI subsystem */	CS_PORT |= (1 << CS_BIT);	// pull CS pin high	CS_DDR |= (1 << CS_BIT);	// now make it an output	SPI_PORT = SPI_PORT | (1 << PORTB2);	// make sure SS is high	SPI_DDR = (1 << PORTB3) | (1 << PORTB5) | (1 << PORTB2);	// set MOSI, SCK and SS as output, others as input	SPCR = (1 << SPE) | (1 << MSTR);	// enable SPI, master mode 0	SPSR |= (1 << SPI2X);	// set the clock rate fck/2/* *  Load up the callback block, then initialize the Wiznet W5100 */	my_callbacks._select = &my_select;	// callback for selecting the W5100	my_callbacks._xchg = &my_xchg;	// callback for exchanging data	my_callbacks._deselect = &my_deselect;	// callback for deselecting the W5100	my_callbacks._reset = &my_reset;	// callback for hardware-reset of the W5100	W51_register(&my_callbacks);	// register our target-specific W5100 routines with the W5100 library	W51_init();		// now initialize the W5100/* *  Configure the W5100 device to handle PING requests. *  This requires configuring the chip, not a specific socket. */	W51_config(&my_cfg);	// config the W5100 (MAC, TCP address, subnet, etc	puts("Debug: AVR Ethernet after W5100 config/r/n");/* *  The main loop.  Control stays in this loop forever, processing any received packets *  and sending any requested data. */	while (1) {		switch (W51_read(sockaddr + W5100_SR_OFFSET))	// based on current status of socket...		{		case W5100_SKT_SR_CLOSED:	// if socket is closed...			if (OpenSocket(mysocket, W5100_SKT_MR_TCP, HTTP_PORT) == mysocket)	// if successful opening a socket...			{				Listen(mysocket);				_delay_ms(1);			}			break;		case W5100_SKT_SR_ESTABLISHED:	// if socket connection is established...			rsize = ReceivedSize(mysocket);	// find out how many bytes			if (rsize > 0) {				if (Receive(mysocket, buf, rsize) != W5100_OK)					break;	// if we had problems, all done/* *  Add code here to process the payload from the packet. * *  For now, we just ignore the payload and send a canned HTML page so the client at least *  knows we are alive. */				strcpy_P((char *)buf,PSTR("HTTP/1.0 200 OK/r/nContent-Type: text/html/r/nPragma: no-cache/r/n/r/n"));				strcat_P((char *)buf,PSTR("<html>/r/n<body>/r/n"));				strcat_P((char *)buf,PSTR("<title>Title</title>/r/n"));				strcat_P((char *)buf,PSTR("<p>Hello world</p>/r/n"));				strcat_P((char *)buf,PSTR("</body>/r/n</html>/r/n"));				if (Send(mysocket, buf, strlen((char *)buf)) == W5100_FAIL) break;	// just throw out the packet for now				DisconnectSocket(mysocket);			} else	// no data yet...			{				_delay_us(10);			}			break;		case W5100_SKT_SR_FIN_WAIT:		case W5100_SKT_SR_CLOSING:		case W5100_SKT_SR_TIME_WAIT:		case W5100_SKT_SR_CLOSE_WAIT:		case W5100_SKT_SR_LAST_ACK:			CloseSocket(mysocket);			break;		}	}	return 0;}
开发者ID:billygr,项目名称:avr-ethernet-w5100,代码行数:97,


示例12: artnet_init

/* ---------------------------------------------------------------------------- * initialization of Art-Net */void artnet_init(void) {    ARTNET_DEBUG("Init/n"); /* read Art-Net port *///  eeprom_read_block(&artnet_port, (unsigned char *)ARTNET_PORT_EEPROM_STORE, 2);//  if (artnet_port == 0xFFFF) {  artnet_port = PORT_DEFAULT;//  } /* read netconfig *///  artnet_netConfig = eeprom_read_byte((unsigned char *)ARTNET_NETCONFIG_EEPROM_STORE);//  if (artnet_netConfig == 0xFF) {  artnet_netConfig = NETCONFIG_DEFAULT;//  } /* read subnet *///  artnet_subNet = eeprom_read_byte((unsigned char *)ARTNET_SUBNET_EEPROM_STORE);//  if (artnet_subNet == 0xFF) {  artnet_subNet = SUBNET_DEFAULT;//  } /* read nr. of input universe *///  artnet_inputUniverse1 = eeprom_read_byte((unsigned char *)ARTNET_INUNIVERSE_EEPROM_STORE);//  if (artnet_inputUniverse1 == 0xFF) {  artnet_inputUniverse1 = INUNIVERSE_DEFAULT;//  } /* read nr. of output universe *///  artnet_outputUniverse1 = eeprom_read_byte((unsigned char *)ARTNET_OUTUNIVERSE_EEPROM_STORE);//  if (artnet_outputUniverse1 == 0xFF) {  artnet_outputUniverse1 = OUTUNIVERSE_DEFAULT;//  } /* read short name *///  eeprom_read_block(&artnet_shortName, (unsigned char *)ARTNET_SHORTNAME_EEPROM_STORE, SHORT_NAME_LENGTH);//  if ((*((unsigned long*)&artnet_shortName[0])) == 0xFFFFFFFF) {  /* fill with zeroes */  for (unsigned char i = 0; i < SHORT_NAME_LENGTH; i++) {   artnet_shortName[i] = 0;  }  strcpy_P(artnet_shortName, PSTR("AvrArtNode"));//  } artnet_shortName[SHORT_NAME_LENGTH - 1] = 0; /* read long name *///  eeprom_read_block(&artnet_longName, (unsigned char *)ARTNET_LONGNAME_EEPROM_STORE, LONG_NAME_LENGTH);//  if ((*((unsigned long*)&artnet_longName[0])) == 0xFFFFFFFF) {  /* fill with zeroes */  for (unsigned char i = 0; i < LONG_NAME_LENGTH; i++) {   artnet_longName[i] = 0;  }  strcpy_P(artnet_longName, PSTR("AVR based Art-Net node"));//  } artnet_longName[LONG_NAME_LENGTH - 1] = 0;//  ARTNET_DEBUG("net init/n"); artnet_netInit(); /* annouce that we are here  */ ARTNET_DEBUG("send PollReply/n"); artnet_sendPollReply(); /* enable PollReply on changes */ artnet_sendPollReplyOnChange = TRUE; ARTNET_DEBUG("init complete/n"); return;}
开发者ID:Leerzeichen,项目名称:ethersex,代码行数:71,


示例13: mysql_send_data

static voidmysql_send_data (uint8_t send_state){    MYDEBUG ("send_data: %d/n", send_state);    switch (send_state) {	struct mysql_login_request_t *lr;	struct mysql_request_packet_t *rp;    case MYSQL_SEND_LOGIN:	/* Clear packet until username field. */	memset (uip_sappdata, 0, 36);	lr = uip_sappdata;	lr->packet_id = STATE->packetid;	/* Long password support (0x01), connect with database set (0x08)*/	lr->capabilities[0] = 0x09;	/* We speek 4.1 protocol (0x02), we are an interactive client (not	   really, but otherwise our times out after 10sec) (0x04),	   we do 4.1 authentication (0x80) */	lr->capabilities[1] = 0x86;	/* Max. packet size = 256 byte */	lr->max_packet_size[0] = 0xFF;	lr->charset = 8;	/* Latin1 charset. */	char *ptr = uip_sappdata + 36;	strcpy_P (ptr, PSTR (CONF_MYSQL_USERNAME));	ptr += sizeof (CONF_MYSQL_USERNAME);	*(ptr ++) = 20;	mysql_password_hash (ptr);	ptr += 20;	strcpy_P (ptr, PSTR (CONF_MYSQL_SCHEMA));	ptr += sizeof (CONF_MYSQL_SCHEMA);	lr->packet_len[0] = (ptr - (char*)uip_sappdata) - 4;	uip_send (uip_sappdata, ptr - (char*) uip_sappdata);	break;    case MYSQL_CONNECTED:	if (!*STATE->u.stmtbuf) {	    MYDEBUG ("no queries pending./n");	    break;	}	rp = uip_sappdata;	rp->packet_len[0] = 1 + strlen (STATE->u.stmtbuf);	rp->packet_len[1] = 0;	rp->packet_len[2] = 0;	rp->packet_id = STATE->packetid = 0;	rp->command_id = 3;	/* Query */	strcpy (rp->arg, STATE->u.stmtbuf);	uip_send (uip_sappdata, 4 + rp->packet_len[0]);	break;    default:	MYDEBUG ("eeek, what?/n");	uip_abort ();	break;    }    STATE->sent = send_state;    STATE->packetid ++;}
开发者ID:simeonfelis,项目名称:ethersex,代码行数:67,


示例14: switch

voidClock::lcdInfo(){  char buff[BUFF_LCD_MSG];  byte t;  // read values  dht22->loadFromSensor();  switch(dht22->error()){    case DHT_ERROR_NONE:    case DHT_ERROR_TOOQUICK:      break;    default:      // FIXME better error reporting      ledMatrix->fill(RED);      ledMatrix->show();      while(1);      break;  }  bmp085->loadFromSensor();  humidityInside.loadFromSensor();  // LCD  lcd->firstPage();  do {    byte x;    byte y;    // Week day    y=-2;    lcd->setFont(u8g_font_6x12);    lcd->setFontPosTop();    x=lcd->getWidth()/2-lcd->getStrWidthP((u8g_pgm_uint8_t *)time->getWeekDayName())/2;    lcd->drawStrP(x, y, (const u8g_pgm_uint8_t*)time->getWeekDayName());    // Date    strcpy_P(buff, time->getMonthName());    t=strlen(buff);    buff[t++]=' ';    itoa(date.mday, buff+t, 10);    t=strlen(buff);    buff[t++]=' ';    itoa(date.year, buff+t, 10);    y+=lcd->getFontAscent()+2;    x=lcd->getWidth()/2-lcd->getStrWidth(buff)/2;    lcd->drawStr(x, y, buff);    // Pressure    ltoa(pressure.getPa(), buff, 10);    t=strlen(buff);    buff[t++]='P';    buff[t++]='a';    buff[t++]=' ';    buff[t++]='(';    double d=pressure.getPa()-pressure.expectedPressure(AVERAGE_SEA_LEVEL_PRESSURE, ALTITUDE);    if(d>0)      buff[t++]='+';    ltoa(d, buff+t, 10);    t=strlen(buff);    buff[t++]='P';    buff[t++]='a';    buff[t++]=')';    buff[t]='/0';    y+=lcd->getFontAscent()+1;    lcd->setFont(u8g_font_7x13B);    lcd->setFontPosTop();    x=lcd->getWidth()/2-lcd->getStrWidth(buff)/2;    lcd->drawStr(x, y, buff);    // Temperature names    y+=lcd->getFontAscent()+1;    lcd->setFont(u8g_font_5x7);    lcd->setFontPosTop();    x=lcd->getWidth()/4-lcd->getStrWidthP(U8G_PSTR("Outside"))/2;    lcd->drawStrP(x, y, U8G_PSTR("Outside"));    x=lcd->getWidth()*3/4-lcd->getStrWidthP(U8G_PSTR("Inside"))/2;    lcd->drawStrP(x, y, U8G_PSTR("Inside"));    // Temperature outside    x=0;    y+=lcd->getFontAscent()+1;    lcd->setFont(u8g_font_fub14);    lcd->setFontPosTop();    lcd->drawStr(x, y, dtostrf(temperatureOutside.getC(), -2, 1, buff));    x+=lcd->getStrWidth(dtostrf(temperatureOutside.getC(), -2, 1, buff));    buff[0]=176;    buff[1]='C';    buff[2]='/0';    lcd->drawStr(x, y, buff);    // Temperature inside    dtostrf(temperatureInside.getC(), -2, 1, buff);    t=strlen(buff);    buff[t++]=176;    buff[t++]='C';    buff[t]='/0';    x=lcd->getWidth()-lcd->getStrWidth(buff);    lcd->drawStr(x, y, buff);    // Humidity outside    y+=lcd->getFontAscent()+1;    ltoa(humidityOutside.getRH(), buff, 10);    t=strlen(buff);    buff[t++]='%';    buff[t]='/0';    x=lcd->getWidth()/4-lcd->getStrWidth(buff)/2;    lcd->drawStr(x, y, buff);    // Humidity inside    ltoa(humidityInside.getRH(), buff, 10);//.........这里部分代码省略.........
开发者ID:ZmK,项目名称:sketchbook,代码行数:101,


示例15: chb_radio_init

static void chb_radio_init(){    U8 ieee_addr[8];    U8 part_num;    // disable intps while we config the radio    chb_reg_write(IRQ_MASK, 0);    // force transceiver off while we configure the intps    chb_reg_read_mod_write(TRX_STATE, CMD_FORCE_TRX_OFF, 0x1F);    chb_delay_us(TIME_P_ON_TO_TRX_OFF);    // set radio cfg parameters    // **note** uncomment if these will be set to something other than default    //chb_reg_read_mod_write(XAH_CTRL_0, CHB_MAX_FRAME_RETRIES << CHB_MAX_FRAME_RETRIES_POS, 0xF << CHB_MAX_FRAME_RETRIES_POS);    //chb_reg_read_mod_write(XAH_CTRL_0, CHB_MAX_CSMA_RETRIES << CHB_MAX_CSMA_RETIRES_POS, 0x7 << CHB_MAX_CSMA_RETIRES_POS);    //chb_reg_read_mod_write(CSMA_SEED_1, CHB_MIN_BE << CHB_MIN_BE_POS, 0x3 << CHB_MIN_BE_POS);         //chb_reg_read_mod_write(CSMA_SEED_1, CHB_CSMA_SEED1 << CHB_CSMA_SEED1_POS, 0x7 << CHB_CSMA_SEED1_POS);    //chb_ret_write(CSMA_SEED0, CHB_CSMA_SEED0);         //chb_reg_read_mod_write(PHY_CC_CCA, CHB_CCA_MODE << CHB_CCA_MODE_POS,0x3 << CHB_CCA_MODE_POS);    //chb_reg_write(CCA_THRES, CHB_CCA_ED_THRES);    //chb_reg_read_mod_write(PHY_TX_PWR, CHB_TX_PWR, 0xf);    // identify device    part_num = chb_reg_read(PART_NUM);    switch (part_num)    {    case CHB_AT86RF230:        // set default channel        chb_set_channel(CHB_2_4GHZ_DEFAULT_CHANNEL);#if (CHIBI_PROMISCUOUS == 0)    // set autocrc mode    chb_reg_read_mod_write(PHY_TX_PWR, 1 << CHB_AUTO_CRC_POS, 1 << CHB_AUTO_CRC_POS);#endif        break;    case CHB_AT86RF231:        // set default channel        chb_set_channel(CHB_2_4GHZ_DEFAULT_CHANNEL);#if (CHIBI_PROMISCUOUS == 0)    // set autocrc mode    chb_reg_read_mod_write(PHY_TX_PWR, 1 << CHB_AUTO_CRC_POS, 1 << CHB_AUTO_CRC_POS);#endif        break;    case CHB_AT86RF212:        // set mode to OQPSK or BPSK depending on setting        chb_set_mode(CHB_INIT_MODE);        // set default channel and tx power to max        chb_set_channel(CHB_900MHZ_DEFAULT_CHANNEL);        chb_reg_read_mod_write(PHY_TX_PWR, CHB_900MHZ_TX_PWR, 0xf);#if (CHIBI_PROMISCUOUS == 0)    // set autocrc mode    chb_reg_read_mod_write(TRX_CTRL1, 1 << CHB_AUTO_CRC_POS, 1 << CHB_AUTO_CRC_POS);#endif        break;    default:        Serial.print("ERROR: Unknown radio detected./n");        break;    }    // set transceiver's fsm state    chb_set_state(RX_STATE);    // set pan ID    chb_reg_write16(PAN_ID_0, CHB_PAN_ID);    // set short addr    // NOTE: Possibly get this from EEPROM    chb_reg_write16(SHORT_ADDR_0, chb_get_short_addr());    // set long addr    // NOTE: Possibly get this from EEPROM    chb_get_ieee_addr(ieee_addr);    chb_reg_write64(IEEE_ADDR_0, ieee_addr);    // do a read of the interrupt register to clear the interrupt bits    chb_reg_read(IRQ_STATUS);    // re-enable intps while we config the radio    chb_reg_write(IRQ_MASK, 0x8);    // enable mcu intp pin on INT6 for rising edge    CFG_CHB_INTP();    if (chb_get_state() != RX_STATE)    {        // ERROR occurred initializing the radio. Print out error message.        char buf[50];        // grab the error message from flash & print it out        strcpy_P(buf, chb_err_init);        Serial.print(buf);//.........这里部分代码省略.........
开发者ID:boris-arzur,项目名称:Balloominator,代码行数:101,


示例16: GetFontDef_Rowmand

//*******************************************************************************void	GetFontDef_Rowmand(short tableIndex, char *fontDefString){    strcpy_P(fontDefString, (char*)pgm_read_word(&(gHershyRowmandFontTable[tableIndex])));}
开发者ID:Lords08,项目名称:alanarduinotools,代码行数:5,


示例17: strcpy_P

/********************************************************** * Calibrate *  Performs a chip calibration * * @return bool - The calibration result **********************************************************/bool LibCompass::Calibrate(void) {    char out[100];    char inChar;    Serial.begin(9600);    strcpy_P(out, PSTR("Calibration Mode."));    Serial.println(out);    strcpy_P(out, PSTR("You'll need to rotate the sensor 720 degrees"));    Serial.println(out);    strcpy_P(out, PSTR("Send a 'C' to begin or 'Q' to quit"));    Serial.println(out);    //wait for a character    while(1) {        if(Serial.available()) {            if (Serial.read() == 'C')  {                //Calibrate!                strcpy_P(out, PSTR("Start rotating..."));                Serial.println(out);                break;            } else {                //Don't Calibrate                strcpy_P(out, PSTR("Quiting."));                Serial.println(out);                delay(3000);                return false;            }        }    }    //Enter Cal mode    Wire.beginTransmission(hmc6352_Address);    Wire.send(hmc6352_EnterCal);    Wire.endTransmission();    delay(3000); //give them some time    strcpy_P(out, PSTR("Send a 'E' character when finished"));    Serial.println(out);    //wait for a character    while(1) {        if(Serial.available()) {            if (Serial.read() == 'E') {                break;            }        }    }    //Exit Cal Mode    Wire.beginTransmission(hmc6352_Address);    Wire.send(hmc6352_ExitCal);    Wire.endTransmission();    strcpy_P(out, PSTR("Done."));    Serial.println(out);    delay(3000);    return true;}
开发者ID:magalysandovalp,项目名称:Sceiga,代码行数:69,


示例18: stringsLoad

void stringsLoad(char* buffer, const char* progmemAddress){	strcpy_P(buffer, progmemAddress);}
开发者ID:SzymonKatra,项目名称:DzwonekIILOKielce,代码行数:4,


示例19: get_text

static const char * get_text(byte lang, TranslatableText tt) {  static char buffer[128];  strcpy_P(buffer, (char*)pgm_read_word(&(translations[lang][tt])));  return buffer;  //return translations[currentLang][tt];}
开发者ID:CQuinson,项目名称:SolderStation,代码行数:6,


示例20: game_over

void game_over(void){    strcpy_P(tempStr, strOptGameOver);    putString(32,3,tempStr,0);    game_running = 0;}
开发者ID:szczys,项目名称:SloCommunicator,代码行数:6,


示例21: gui_list_draw

void gui_list_draw(){	char tmp_text[64];	char tmp_sub_text[32];	uint8_t flags;	disp.LoadFont(F_TEXT_M);	uint8_t t_h = disp.GetTextHeight();	int16_t y = gui_list_y_offset;	int8_t height;	int16_t total_height = 0;	uint8_t sub_height;	//emulate middle click	if (button_in_reset(B_MIDDLE))	{		if (task_get_ms_tick() - gui_list_middle_hold > BUTTON_LONG)		{			gui_switch_task(gui_list_back);			if ((config.gui.menu_audio_flags & CFG_AUDIO_MENU_BUTTONS) && gui_buttons_override == false)				seq_start(&snd_menu_exit, config.gui.menu_volume);		}	}	else		gui_list_middle_hold = task_get_ms_tick();	for (uint8_t i = 0; i < gui_list_size; i++)	{		flags = 0;		if (i < gui_list_size - 1)		{			gui_list_gen_f(i, tmp_text, &flags, tmp_sub_text);		}		else		{			strcpy_P(tmp_text, PSTR("back"));			flags = GUI_LIST_BACK;		}		uint8_t x_val = 5;		switch(flags & GUI_LIST_T_MASK)		{			case(GUI_LIST_FOLDER):				x_val = 5;			break;			case(GUI_LIST_BACK):				x_val = 2;			break;			case(GUI_LIST_TITLE):				x_val = 1;				disp.LoadFont(F_TEXT_S);				t_h = disp.GetTextHeight();			break;		}		height = 1 + t_h;		if ((flags & GUI_LIST_T_MASK) == GUI_LIST_SUB_TEXT)		{			sub_height = disp.GetTextHeight();			height += sub_height;		}		if (gui_list_index[gui_task] == i)		{			if (y < 0)				gui_list_y_offset = -total_height;			if (y > GUI_DISP_HEIGHT - height)				gui_list_y_offset = -total_height + GUI_DISP_HEIGHT - height;		}		if (y > GUI_DISP_HEIGHT)			continue;		disp.GotoXY(x_val, y + 1);		fprintf_P(lcd_out, PSTR("%s"), tmp_text);		//sub text		if ((flags & GUI_LIST_T_MASK) == GUI_LIST_SUB_TEXT)			gui_raligh_text(tmp_sub_text, GUI_DISP_WIDTH - 3, y + t_h + 1);		//tick		if ((flags & GUI_LIST_T_MASK) == GUI_LIST_CHECK_OFF || (flags & GUI_LIST_T_MASK) == GUI_LIST_CHECK_ON)		{			disp.DrawRectangle(GUI_DISP_WIDTH - 9, y + 1, GUI_DISP_WIDTH - 3, y + 7, 1, 0);			if ((flags & GUI_LIST_T_MASK) == GUI_LIST_CHECK_ON)			{				disp.DrawLine(GUI_DISP_WIDTH - 8, y + 5, GUI_DISP_WIDTH - 7, y + 6, 1);				disp.DrawLine(GUI_DISP_WIDTH - 6, y + 5, GUI_DISP_WIDTH - 4, y + 3, 1);			}		}//.........这里部分代码省略.........
开发者ID:fhorinek,项目名称:SkyDrop,代码行数:101,


示例22: available

// ---------------------------------------------------------------------------// --- Main loop update ------------------------------------------------------// ---------------------------------------------------------------------------void PLabFileServer::update() {	// Main loop.	// Check if we have any new connections	EthernetClient client = available();	if (client) {		if (out) {			out->println();			// Buffer is initially considered empty			strcpy_P(bigBuf, plabRequest);			out->println(bigBuf);			out->println();		}		if (filter) {			filter->start();		}		// We should now start parsing our request		RequestState_t state = REQ_START;		RequestMethod_t method = METH_NOT_SUPPORTED;		int indexTracker = 0;		// While we still have an open connection to the client		while (client.connected()) {			if (client.available()) {				char c = client.read();				if (out) {					out->write(c);				}				state = reqStateTransition(state, c, indexTracker, method);			}			// By default we assume we have answered.			bool answered = true;			// Configuring answer, if we have any yet.			switch (state) {			case REQ_MESSAGE_BODY:				if (out) {					out->println();					// Safe to overwrite buffer: it should not contain anything					strcpy_P(bigBuf, plabResponse);					out->println(bigBuf);					out->println();				}				// GET and HEAD discard request body in this server				// Currently this (HEAD and GET) covers every possibility.				if (method == METH_HEAD || method == METH_GET) {					if (userControlledResponse) {						if (filter)							filter->writeResponse(client);					}					else {						// The exact same header						strcpy_P(bigBuf, plabHeaderHttp);						if (filter)							filter->filterResponseHeader(bigBuf, client);						cPrint(bigBuf, client);						strcpy_P(bigBuf, plab200OK);						if (filter)							filter->filterResponseHeader(bigBuf, client);						cPrintln(bigBuf, client);						if (internalMIMEIndex >= 0) {							strcpy_P(bigBuf, plabContentType);							if (filter)								filter->filterResponseHeader(bigBuf, client);							cPrint(bigBuf, client);							strcpy_P(bigBuf, (char*)pgm_read_word(&(plabMIMETypeTable[internalMIMEIndex])));							if (filter)								filter->filterResponseHeader(bigBuf, client);							cPrintln(bigBuf, client);						}						strcpy_P(bigBuf, plabConnectionClose);						if (filter)							filter->filterResponseHeader(bigBuf, client);						cPrintln(bigBuf, client);						// TODO Additional user defined header fields						cPrintln("", client);	// HEADER stop						if (method == METH_GET) {							// Rediricting file location							if (filter)								filter->redirectReplyFile(sdFile);#ifdef PLAB_DEBUG							if (out)								out->println("GET response");#endif // PLAB_DEBUG							// ONLY get has message body							// TODO User defined body write							if (sdFile) {								while (sdFile.available()) {									char c = sdFile.read();									if (filter) {										if (filter->filterResponse(c, client))											cWrite(c, client);									}									else										cWrite(c, client);								}								sdFile.close();							}//.........这里部分代码省略.........
开发者ID:Paalch,项目名称:plab-library,代码行数:101,


示例23: vCommandConsoleTask

void vCommandConsoleTask( void *pvParameters ){(void)pvParameters;unsigned portCHAR cRxedChar, cInputIndex = 0;portBASE_TYPE xMoreDataToFollow;/* The input and output buffers are declared static to keep them off the stack. */portCHAR *pcOutputString;static unsigned portCHAR pcInputString[ MAX_INPUT_LENGTH ];    /* This code assumes the peripheral being used as the console has already     been opened and configured, and is passed into the task as the task    parameter.  Cast the task parameter to the correct type. */	pcOutputString = (portCHAR *) FreeRTOS_CLIGetOutputBuffer();	strcpy_P(pcOutputString, pm_cstr_WelcomeMessage);	    /* Send a welcome message to the user knows they are connected. */    FreeRTOS_write( pcOutputString, strlen(pcOutputString) );    for( ;; )    {        /* This implementation reads a single character at a time.  Wait in the        Blocked state until a character is received. */        FreeRTOS_read( &cRxedChar, sizeof( cRxedChar ) );        if( cRxedChar == '/n' )        {            /* A newline character was received, so the input command stirng is            complete and can be processed.  Transmit a line separator, just to             make the output easier to read. */            FreeRTOS_write( "/r/n", strlen( "/r/n" ));            /* The command interpreter is called repeatedly until it returns             pdFALSE.  See the "Implementing a command" documentation for an             exaplanation of why this is. */            do            {                /* Send the command string to the command interpreter.  Any                output generated by the command interpreter will be placed in the                 pcOutputString buffer. */				FreeRTOS_CLITakeOutputBuffer();                xMoreDataToFollow = FreeRTOS_CLIProcessCommand                              (                                       (const int8_t * const)pcInputString,   /* The command string.*/                                  (int8_t *)pcOutputString,  /* The output buffer. */                                  configCOMMAND_INT_MAX_OUTPUT_SIZE/* The size of the output buffer. */                              );                /* Write the output generated by the command interpreter to the                 console. */                FreeRTOS_write( pcOutputString, strlen(pcOutputString ) );				FreeRTOS_CLIGiveOutputBuffer();            } while( xMoreDataToFollow != pdFALSE );            /* All the strings generated by the input command have been sent.            Processing of the command is complete.  Clear the input string ready             to receive the next command. */            cInputIndex = 0;            memset( pcInputString, 0x00, MAX_INPUT_LENGTH );        }        else        {            /* The if() clause performs the processing after a newline character            is received.  This else clause performs the processing if any other            character is received. */		            if( cRxedChar == '/r' )            {                /* Ignore carriage returns. */            }            else if( cRxedChar == '/b' )            {                /* Backspace was pressed.  Erase the last character in the input                buffer - if there are any. */                if( cInputIndex > 0 )                {                    cInputIndex--;                    pcInputString[ cInputIndex ] = '/0';                }            }            else            {                /* A character was entered.  It was not a new line, backspace                or carriage return, so it is accepted as part of the input and                placed into the input buffer.  When a /n is entered the complete                string will be passed to the command interpreter. */                if( cInputIndex < MAX_INPUT_LENGTH )                {                    pcInputString[ cInputIndex ] = cRxedChar;                    cInputIndex++;                }            }        }    }}        
开发者ID:ievosabo,项目名称:Canner,代码行数:95,


示例24: strcpy_P

void PLabFileServer::printDefaultError(int errorCode, EthernetClient &client) {	if (out) {		out->println();		strcpy_P(bigBuf, plabResponse);		out->println(bigBuf);		out->println();	}	// Load error code and message	switch (errorCode) {	case 400:		strcpy_P(bigBuf, plab400BadRequest);		break;	case 404:		strcpy_P(bigBuf, plab404NotFound);		break;	case 405:		strcpy_P(bigBuf, plab405MethodNotAllowed);		break;	case 414:		strcpy_P(bigBuf, plab414RequestUriTooLarge);		break;	case 501:		strcpy_P(bigBuf, plab501NotImplemented);		break;	case 505:		strcpy_P(bigBuf, plab505HttpVersionNotSupported);		break;	case 500:		// Fallthrough	default:		strcpy_P(bigBuf, plab500InternalServerError);		break;	}	// Find end of string. We know the first character is not empty	char *htmlString = bigBuf;	// Postfix increment: point to first element AFTER /0 character	while (*(htmlString++) != '/0');	// Header	strcpy_P(htmlString, plabHeaderHttp);	cPrint(htmlString, client);	cPrintln(bigBuf, client);	strcpy_P(htmlString, plabContentType);	cPrint(htmlString, client);	strcpy_P(htmlString, plabHtmlMIMEType);	cPrintln(htmlString, client);	strcpy_P(htmlString, plabConnectionClose);	cPrintln(htmlString, client);	cPrintln("", client);	// html	strcpy_P(htmlString, plabHtml1);	cPrintln(htmlString, client);	cPrintln(bigBuf, client);	strcpy_P(htmlString, plabHtml2);	cPrintln(htmlString, client);	cPrintln(bigBuf, client);	strcpy_P(htmlString, plabHtml3);	cPrintln(htmlString, client);}
开发者ID:Paalch,项目名称:plab-library,代码行数:60,


示例25: tune_item_callback

static char* tune_item_callback(uint8_t nr){    char* c = (char*)lcd_cache;    if (nr == 0)        strcpy_P(c, PSTR("< RETURN"));    else if (nr == 1)    {        if (!card.pause)        {            if (movesplanned() > 0)                strcpy_P(c, PSTR("Pause"));            else                strcpy_P(c, PSTR("Can not pause"));        }        else        {            if (movesplanned() < 1)                strcpy_P(c, PSTR("Resume"));            else                strcpy_P(c, PSTR("Pausing..."));        }    }    else if (nr == 2)        strcpy_P(c, PSTR("Speed"));    else if (nr == 3)        strcpy_P(c, PSTR("Temperature"));#if EXTRUDERS > 1    else if (nr == 4)        strcpy_P(c, PSTR("Temperature 2"));#endif    else if (nr == 3 + EXTRUDERS)        strcpy_P(c, PSTR("Buildplate temp."));    else if (nr == 4 + EXTRUDERS)        strcpy_P(c, PSTR("Fan speed"));    else if (nr == 5 + EXTRUDERS)        strcpy_P(c, PSTR("Material flow"));#if EXTRUDERS > 1    else if (nr == 6 + EXTRUDERS)        strcpy_P(c, PSTR("Material flow 2"));#endif    else if (nr == 5 + EXTRUDERS * 2)        strcpy_P(c, PSTR("Retraction"));    else if (nr == 6 + EXTRUDERS * 2)        strcpy_P(c, PSTR("LED Brightness"));    return c;}
开发者ID:krasin,项目名称:Ultimaker2Marlin,代码行数:46,


示例26: strcpy_P

void IIClcd::print_P(const char * str) { // print a string stored in PROGMEM	char buf[21]; // create buffer in RAM	strcpy_P(buf, str); // copy string to RAM	print(buf); // print from RAM}
开发者ID:thorrak,项目名称:brewpi-esp8266,代码行数:5,


示例27: egg_bus_get_sensor_units

void egg_bus_get_sensor_units(uint8_t sensor_index, char * target_buffer){    strcpy_P(target_buffer, (PGM_P)pgm_read_word(&(egg_bus_sensor_units[sensor_index])));}
开发者ID:HomeThings,项目名称:aqe_sensor_interface_shield,代码行数:3,


示例28: dayStr

char* dayStr(uint8_t day) {   strcpy_P(buffer, (PGM_P)pgm_read_word(&(dayNames_P[day])));   return buffer;}
开发者ID:r24y,项目名称:Iridium9612,代码行数:5,


示例29: serialFlush

/* Function: 	This function reads the data from satellites * Parameters:	parse.	0 to return the data string in buffer_GPRS * 						1 to parse data and update GPS variables * Returns 		1 if success * 				-1 if timeout * 				-2 if error*/int8_t WaspGPRS_SIM928A::getGPSData(bool parse){	int8_t answer;	int aux, counter;	long previous;	char aux_str[25];	int8_t x;	char* aux_ptr;		serialFlush(_socket);		strcpy_P(str_aux1, (char*)pgm_read_word(&(table_GPS[1])));		//GNSS_INFO	snprintf(str_aux2, sizeof(str_aux2), "%s: ", str_aux1);	answer = sendCommand2(str_aux1, str_aux2, ERROR);			if (answer == 1)	{		previous = millis();		answer = 0;		counter = 0;		do{			// Gets number of available bytes 			do{				aux = serialAvailable(_socket);								//avoid millis overflow problem				if( millis() < previous ) previous = millis(); 							}while((aux == 0) && ((millis()-previous) < 3000));						#if GPRS_debug_mode>0				USB.print(F("Available bytes: "));				USB.println(aux, DEC);			#endif							// Gets available bytes			while (aux > 0){								if (counter < 0)				{					// Skips first 2 bytes (/r/n)					serialRead(_socket);				}				else if(counter < BUFFER_SIZE)				{					buffer_GPRS[counter] = serialRead(_socket);				}				else				{					serialRead(_socket);					}				counter++;				aux--;			}						buffer_GPRS[counter] = '/0';						// check if the buffer_GPRS contains "OK"			if (strstr(buffer_GPRS, "OK") != NULL)    			{					answer = 1;			}						//avoid millis overflow problem			if( millis() < previous ) previous = millis(); 						}while((answer == 0) && ((millis()-previous) < 3000));							}	else if (answer == 2)	{		return -2;	}	else	{		return -1;	}	buffer_GPRS[counter - 4] = '/0';	if (parse == 1)	{					#if GPRS_debug_mode>0			USB.println(buffer_GPRS);		#endif		GPS_status = atoi(strtok(buffer_GPRS, ",")); // Gets fix status		fix_status = atoi(strtok(NULL, ",")); // Gets fix status		strcpy(aux_str,strtok(NULL, ",")); // Gets date and time				memset(date, '/0', sizeof(date));//.........这里部分代码省略.........
开发者ID:giulange,项目名称:waspmoteapi,代码行数:101,



注:本文中的strcpy_P函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ strcpy_s函数代码示例
C++ strcpyW函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。