这篇教程C++ uart_send函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中uart_send函数的典型用法代码示例。如果您正苦于以下问题:C++ uart_send函数的具体用法?C++ uart_send怎么用?C++ uart_send使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了uart_send函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: notmainvoid notmain ( void ) { uart_init(); hexstring(0x12345678); hexstring(GETPC()); timer_init(); /* * 132 byte packet. All fields are 1 byte except for the 128 byte data * payload. * +-----+------+----------+--....----+-----+ * | SOH | blk# | 255-blk# | ..data.. | cksum | * +-----+------+----------+--....----+-----+ * Protocol: * - first block# = 1. * - CRC is over the whole packet * - after all packets sent, sender transmits a single EOT (must ACK). */ unsigned char block = 1; unsigned addr = ARMBASE; while (1) { unsigned char b; // We received an EOT, send an ACK, jump to beginning of code if((b = getbyte()) == EOT) { uart_send(ACK); BRANCHTO(ARMBASE); return; // NOTREACHED } /* * if first byte is not SOH, or second byte is not the * expected block number or the third byte is not its * negation, send a nak for a resend of this block. */ if(b != SOH || getbyte() != block || getbyte() != (0xFF - block)) { uart_send(NAK); continue; } // get the data bytes int i; unsigned char cksum; for(cksum = i = 0; i < PAYLOAD_SIZE; i++) { cksum += (b = getbyte()); PUT8(addr+i, b); } // Checksum failed: NAK the block if(getbyte() != cksum) uart_send(NAK); // Commit our addr pointer and go to next block. else { uart_send(ACK); addr += PAYLOAD_SIZE; block++; } }}
开发者ID:cvphelps,项目名称:courseware,代码行数:60,
示例2: keyscanvoid keyscan(){ P2=0xfe; temp=P2; temp=temp&0xf0; while(temp!=0xf0) { delay(5); temp=P2; temp=temp&0xf0; while(temp!=0xf0) { temp=P2; switch(temp) { case 0xee: uart_send(4); break; case 0xde: uart_send(4); break; case 0xbe: uart_send(4); break; case 0x7e: uart_send(4); break; } while(temp!=0xf0) { temp=P2; temp=temp&0xf0; } } }}
开发者ID:BruceGui,项目名称:STC89C516,代码行数:32,
示例3: boot/** @brief Run the application. */static void boot(void){#ifdef ENABLE_UART // extra null bytes to make sure the status is properly sent uart_send(0); uart_send(0); // wait for the last byte while( !(UCSRxA & ((1<<UDREx)|(1<<TXCx))) ) ; UCSRxB = 0; // disable#endif#ifdef ENABLE_I2C_SLAVE TWCR = 0; TWAR = 0;#endif /* interruptions not used, moving interrupt vector not needed IVCR = (1<<IVCE); IVCR = (0<<IVSEL); */#ifdef BOOT_CODE do{ BOOT_CODE }while(0);#endif run_app();}
开发者ID:teyssieuman,项目名称:eurobot,代码行数:27,
示例4: notmain//------------------------------------------------------------------------void notmain ( void ){ //unsigned int ra; switch_to_80Mhz(); uart_init(); hexstring(0x87654321); hexstring(0x12345678); //Cortex-M4 systick timer init PUT32(STCTRL,0x00000004); PUT32(STRELOAD,1000000-1); PUT32(STCURRENT,0); //value is a dont care PUT32(STCTRL,0x00000005); while(1) { uart_send(0x55); dowait(); uart_send(0x56); dowait(); }}
开发者ID:dwelch67,项目名称:tivac_launchpad,代码行数:26,
示例5: bootmainvoid bootmain(void){ uart_send('Y'); uart_send('/n'); while(1) return;}
开发者ID:JamesLinus,项目名称:armv8-code,代码行数:8,
示例6: sserial_sendbytevoid sserial_sendbyte(byte bt){ uart_send(sserial_portindex,bt);sserial_crc16=_crc16_update(sserial_crc16,bt); if (bt==0x98) { uart_send(sserial_portindex,0); }}
开发者ID:Lifemotion,项目名称:Bwl.SmartHome.AVR,代码行数:8,
示例7: uart_drawlinevoid uart_drawline(uint8_t length, const uint8_t space){ if(space){uart_send('/r');uart_send('/n');} while(length){ length--; uart_send('-'); } if(space){uart_send('/r');uart_send('/n');}}
开发者ID:shortcircuitrobotics,项目名称:avr-code-2012,代码行数:8,
示例8: uart_send_word_ivoid uart_send_word_i(uint8_t i, uint16_t w, const char *s){ char print[5]; itoa(i, print, 10); uart_puts(print); uart_send('.'); uart_puts(s); uart_send(' '); itoa(w, print, 10); uart_puts(print); uart_send(' ');}
开发者ID:shortcircuitrobotics,项目名称:avr-code-2012,代码行数:8,
示例9: uart_putintuart_put(char c, FILE *stream){ if (c == '/n') uart_send('/r'); uart_send(c); return 0;}
开发者ID:ajtowns,项目名称:altos,代码行数:8,
示例10: request_feedbackvoid request_feedback(unsigned char num) //send command to request the current position of servo{ //servo channel should start with 0b01XX XXXX //therefore needs to change to 0x41-0x60 num=num|0b01000000; uart_send('@'); //First byte is the start byte: '@' or 0x40 uart_send(num); //Second byte is the requsting servo channle 0x41-0x60}
开发者ID:CytronTechnologies,项目名称:SC16A_PIC16F877A,代码行数:9,
示例11: target_fput_log/* * システムログの低レベル出力のための文字出力 */voidtarget_fput_log(char c){ // Port 1 is always used for low level ouput (e.g. LOG_EMERG) if (c == '/n') { while(!uart_send(&UART1, '/r')); } while(!uart_send(&UART1, c));}
开发者ID:ReinaSaito,项目名称:toppers_ev3rt_et,代码行数:12,
示例12: puts_unsafevoid puts_unsafe(const char *string){ const char *cur = string; for (; *cur; ++cur) { uart_send(*cur); } uart_send(CR); uart_send(LF);}
开发者ID:stestagg,项目名称:baremetalpi,代码行数:10,
示例13: sserial_send_responsevoid sserial_send_response (){ sserial_send_start(sserial_portindex); uart_send(sserial_portindex,0); uart_send(sserial_portindex,0); uart_send(sserial_portindex,0x98); uart_send(sserial_portindex,0x03); sserial_crc16=0xFFFF; sserial_sendbyte(sserial_address>>8); sserial_sendbyte(sserial_address&255); sserial_sendbyte(sserial_response.result); for (unsigned int i=0; i< sserial_response.datalength; i++) { sserial_sendbyte(sserial_response.data[i]); } uint16_t crc=sserial_crc16; sserial_sendbyte(crc>>8); sserial_sendbyte(crc&255); uart_send(sserial_portindex,0x98); uart_send(sserial_portindex,0x04); uart_send(sserial_portindex,0); uart_send(sserial_portindex,0); uart_send(sserial_portindex,0); sserial_send_end(sserial_portindex);}
开发者ID:Lifemotion,项目名称:Bwl.SmartHome.AVR,代码行数:25,
示例14: print_chvoid print_ch(u8 ch){ if (ch == '/n') { uart_send('/r'); uart_send('/n'); } else if (ch == '/r') { uart_send('/r'); uart_send('/n'); } else { uart_send(ch); }}
开发者ID:zhiyongjzy,项目名称:tiny4412,代码行数:12,
|