-
Datei
uart.h
to automatically put a string constant into program memory */ #define uart_puts_P(__s) uart_puts_p(PSTR(__s)) /** @brief Initialize USART1 (only available on selected ATmegas) @see uart_init */ extern void uart1_init(unsigned int baudrate); /** @brief Get received byte of USART1 from ringbuffer. (only
in „Timerberechnung die hunderste“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
uart.h
to automatically put a string constant into program memory */ #define uart_puts_P(__s) uart_puts_p(PSTR(__s)) /** @brief Initialize USART1 (only available on selected ATmegas) @see uart_init */ extern void uart1_init(unsigned int baudrate); /** @brief Get received byte of USART1 from ringbuffer. (only
in „Wie macht man solche Lichtmodes? Lauflicht, PWM und Co“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
uart.h
to automatically put a string constant into program memory */ #define uart_puts_P(__s) uart_puts_p(PSTR(__s)) /** @brief Initialize USART1 (only available on selected ATmegas) @see uart_init */ extern void uart1_init(unsigned int baudrate); /** @brief Get received byte of USART1 from ringbuffer. (only
in „ATmega328p fehlerhafte UART-Anzeige mit bootloader“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
uart.h
to automatically put a string constant into program memory */ #define uart_puts_P(__s) uart_puts_p(PSTR(__s)) /** @brief Initialize USART1 (only available on selected ATmegas) @see uart_init */ extern void uart1_init(unsigned int baudrate); /** @brief Get received byte of USART1 from ringbuffer. (only
in „UART mit Atmega8 (Peter Fleury Library)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
uart.h
to automatically put a string constant into program memory */ #define uart_puts_P(__s) uart_puts_p(PSTR(__s)) /** @brief Initialize USART1 (only available on selected ATmegas) @see uart_init */ extern void uart1_init(unsigned int baudrate); /** @brief Get received byte of USART1 from ringbuffer. (only
in „AVR bootloader Probleme“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
uart.h
to automatically put a string constant into program memory */ #define uart_puts_P(__s) uart_puts_p(PSTR(__s)) /** @brief Initialize USART1 (only available on selected ATmegas) @see uart_init */ extern void uart1_init(unsigned int baudrate); /** @brief Get received byte of USART1 from ringbuffer. (only
in „UART Bibliothek funktioniert nicht“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
uart.h
to automatically put a string constant into program memory */ #define uart_puts_P(__s) uart_puts_p(PSTR(__s)) /** @brief Initialize USART1 (only available on selected ATmegas) @see uart_init */ extern void uart1_init(unsigned int baudrate); /** @brief Get received byte of USART1 from ringbuffer. (only
in „AVR Bootloader in C - Artikel“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
usart.h
automatically put a string constant into program memory */ #define uart0_puts_P(__s) uart0_puts_p(PSTR(__s)) /** @brief Initialize USART1 (only available on selected ATmegas) @see uart_init */ extern void uart1_init(unsigned int baudrate); /** @brief Get received byte of USART1 from ringbuffer. (only
in „ISR Code schneller machen?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
_P168_ThermOLED.ino
break; } case PLUGIN_GET_DEVICEVALUENAMES: { strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[0], PSTR(PLUGIN_VALUENAME1_168)); strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[1], PSTR(PLUGIN_VALUENAME2_168)); strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[2], PSTR(PLUGIN_VALUENAME3_168)); strcpy_P(ExtraTaskSettings.TaskDeviceValueNames[3], PSTR(PLUGIN_VALUENAME4_168)); break; } case PLUGIN_WEBFORM_LOAD: { byte choice5 = Settings.TaskDevicePluginConfig[event->TaskIndex][2]; String options5[2]; options5[0] = F("SSD1306"); options5[1] = F("SH1106
in „ESPEasy Sketch Kompilierungsfehler“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
uart.h
to automatically put a string constant into program memory */ #define uart_puts_P(__s) uart_puts_p(PSTR(__s)) /** * @brief Return number of bytes waiting in the receive buffer * @param none * @return bytes waiting in the receive buffer */ extern int uart_available(void); /** * @brief Flush bytes waiting
in „AVR Bootloader in C, geht mit mega8 nicht“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
i2c.c
uint8_t addr) { TWAR = (addr & 0x7F)<<1; } void fireI2cTimeout(void) { #ifdef I2C_DEBUG uartPuts_p(PSTR("I2C timeout\r")); #endif reinitI2C(); } /* * get us in a known state */ void reinitI2C(void) { #ifdef I2C_DEBUG char buffer[10]; uint8_t twcr; uartPut('t'); twcr = TWCR; uartPuts_p(PSTR("I2C reinit
in „Problem Uart aus TWI“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Tiny841-1.c
BORF) *p++ = 'B'; if (r & 1<<EXTRF) *p++ = 'R'; if (r & 1<<PORF) *p++ = 'P'; *p = '\0'; xmit_string(PSTR("RESET:"), buf); } int main(void) { initialize(); sei(); hello(); while(1) { ATOMIC_BLOCK(ATOMIC_FORCEON) { if ((TWSSRA & 1<<TWBE) && (i2c_state == I2C_Idle)) { // bus error set, and safe to transmit error message TWSSRA = 1<<TWBE; // reset bus error xmit_string(PSTR("BUS ERROR"), 0); } } sleep_mode(); } }
in „I2C Slave -> UART im AVR“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
tiny_oled_spi_3wire_b.ino
---------------------------------- my_puts Ausgabe eines Strings auf das Display. Aufruf: my_puts(PSTR("Hallo")); Hinweis: PSTR ist der Organisation des Flashspeichers eines AVR-Controllers geschuldet --------------------------------------------------------- */ void my_puts(const uint8_t *mystr) { while
in „ATtiny85 benötige Taster und kein freier Port“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
junkers.h
stringToCharp( const String& str ); class JunkersSensor : public Sensor { public: JunkersSensor() : Sensor( PSTR( "Junkers")){} static Handler* create() { return new JunkersSensor(); } virtual void loop(); virtual void measure(); virtual void setup(); };
-
Datei
usart.h
char *str); void usart_write_int(int data); // #define usart_write(format, args...) usart_write_P(PSTR(format) , ## args) //---------------------------------------------------------------------------- #endif //_UART_H
in „Nach USART-Senden steht der yC“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
streamio.c
File Control Blocks */ fdev_setup_stream(&dev0,&serout0f,&serin0f,_FDEV_SETUP_RW); fprintf_P(&dev0,PSTR("Hallo")); }
in „Probleme mit fdevopen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
s65LcdTest.c
#endif UCSR0A = (1<<U2X); UCSR0B = (1<<TXEN)|(1<<RXEN); UBRR0L = 4; fdevopen(put, get, 0); puts_P(PSTR("S65 LCD Test")); glcdFillRect(0, 0, 131, 175, BLACK); while(1) { recvPicture(); } }
in „The Siemens S65 132x176, 65536 color display with AVR“ · Projekte & Code ·
-
Datei
uart.h
uint8_t uart_ready( void ); extern uint16_t uart_getc(void); #define uart_puts_P(__s) uart_puts_p(PSTR(__s)) extern void setTransmitMode( void ); extern void setReceiveMode( void ); #endif /* DMX_OUT_H_ */
in „Nochmal RS485 Kommunikation“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
sketch_apr15a.ino
EthernetUDP udp; #endif #ifdef W5100 #else static void homePage (BufferFiller& buf) { buf.emit_p(PSTR("<title>tttt</title>" "<h2>123</h2>" "<a href='c'>Configure</a> - <a href='s'>Send Packet</a>" "<h3>xyz</h3>" "<pre>")); } #endif void EthernetReceiveUDP(){ #ifdef W5100 // packetLoop(); #else uint16
in „#ifdef includes und funktionsdeklarationen (arduino)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
lcd.h
extern void lcd_print_str (char *Buffer); #define lcd_print(a,b,format, args...) lcd_print_P(a,b,PSTR(format) , ## args) extern volatile unsigned char back_light; //Anzahl der Zeilen 1,2 oder 4 //#define ONE_LINES #define TWO_LINES //#define THREE_LINES //#define FOUR_LINES #define LCD_DDR DDRB #define
in „Serielles Display“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
lcd.h
Clock(void); void lcd_char(char ps, char cd); #define lcd_print(a,b,format, args...) lcd_print_P(a,b,PSTR(format) , ## args); volatile unsigned char back_light; //Anzahl der Zeilen 1,2 oder 4 //#define ONE_LINES #define TWO_LINES //#define THREE_LINES //#define FOUR_LINES #define PORT_LCD_DATA_ENABLE PORTB
in „Serielles Display“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
rs232.c
'\r') { stringzaehler=0; for(i=0;i<9;i++) { uart_putchar(string[i]); } //gleich = strcmp_P(string,PSTR("Measure")); gleich = strcmp_P(string,COMMAND1); if(gleich==0) {uart_str("GLEICH\n)");} }else{ string[stringzaehler]=received_char; stringzaehler++; if(stringzaehler==8) { stringzaehler=0; } } } }
-
Datei
Ping.c
eth_buffer[ICMP_OFFSET]; //Add ICMP Data //### nicht notwendig // memcpy_P(ð_buffer[ICMP_DATA],PSTR("abcdefghijklmnopqrstuvwabcdefghi"),32); //Das ist ein Echo Reply Packet icmp->ICMP_Type = 0x00; icmp->ICMP_Code = 0x00; icmp->ICMP_Id = icmp_id; icmp->ICMP_SeqNum = icmp_sn; //Berechnung der ICMP Checksumme
-
Datei
usart.h
; void usart_write_P (const char *Buffer,...); #define usart_write(format, args...) usart_write_P(PSTR(format) , ## args) //---------------------------------------------------------------------------- #endif //_UART_H
in „Interrupt Variable übergeben“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
UBRRL_VALUE; UCSRB=(0<<RXCIE)|(0<<RXEN)|(1<<TXEN); UCSRC=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); putstring_P(PSTR("ready...\r\n\r\n")); OCR1AH=0; OCR1AL=1; TCCR1A=0b01000000; TCCR1B=0b00001001; DDRC|=0b00111111; DDRD|=0b11000000; CTRLDDR|=(1<<A0)|(1<<WR)|(1<<PB1); LCDwritecmd(0x10); _delay_ms(100); LCDwritecmd(
in „LCD mit Uraltcontroller SED1300 ansteuern“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LCD_Display_3.c
// // Snippet 3 // display "Hello World" on LCD first line //lcd_line_one(); //lcd_write_string_p(PSTR("Hello World\0")); // message from flash space while(1) { //////////// DAC Kontrasteinstellung //////////////////// DACB.CH0DATA = Kontrast; // warte bis sendung fertig while (!DACB.STATUS & DAC_CH0DRE_bm
in „LCD Ansteuerung Atmel ATxmeag 128 A3“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
T6963.h
|= _BV(LCD_RST) #define LCD_RST_L() LCD_CTRL &= ~_BV(LCD_RST) #define lcd_puts_P(__s) lcd_puts_p(PSTR(__s)) #define XMAX 127 #define XMIN 0 #define YMAX 63 #define YMIN 0 #define G_BASE 0x200 #define BYTES_PER_ROW 21 void lcd_init(void); void lcd_status(void); void lcd_status_am(void); void lcd_send_cmd
-
Datei
I2C_QC_MC.txt
include <stdio.h> #include <inttypes.h> #include "i2cmaster.h" #define PRINT(string, ...) printf_P(PSTR(string), ##__VA_ARGS__) static int putchar__(char c, FILE *stream) { uart_putc(c); return 0; } static FILE mystdout = FDEV_SETUP_STREAM(putchar__, 0, _FDEV_SETUP_WRITE); int main(void) { uart_init(UART_BAUD_SELECT
in „LM75 + AVR + I2C Lib pfleury will nicht“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
I2C_QC_MC.c
include <stdio.h> #include <inttypes.h> #include "i2cmaster.h" #define PRINT(string, ...) printf_P(PSTR(string), ##__VA_ARGS__) static int putchar__(char c, FILE *stream) { uart_putc(c); return 0; } static FILE mystdout = FDEV_SETUP_STREAM(putchar__, 0, _FDEV_SETUP_WRITE); int main(void) { uart_init(UART_BAUD_SELECT
in „LM75 + AVR + I2C Lib pfleury will nicht“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
10; i++) { mein_zeichen = 'A'+i; // ASCII Codes erzeugen lcd_setcursor(0,1); sprintf_P(ram_string, PSTR("Buchstabe %c"), mein_zeichen); lcd_string(ram_string); // hier sinnvoll _delay_ms(300); } _delay_ms(3000); /*****************************************************************************/ // Strings
in „LCD 162D mit ATmega8535“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
10; i++) { mein_zeichen = 'A'+i; // ASCII Codes erzeugen lcd_setcursor(0,1); sprintf_P(ram_string, PSTR("Buchstabe %c"), mein_zeichen); lcd_string(ram_string); // hier sinnvoll _delay_ms(300); } _delay_ms(3000); /*****************************************************************************/ // Strings
in „Display nach Tutorial Probleme“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
10; i++) { mein_zeichen = 'A'+i; // ASCII Codes erzeugen lcd_setcursor(0,1); sprintf_P(ram_string, PSTR("Buchstabe %c"), mein_zeichen); lcd_string(ram_string); // hier sinnvoll _delay_ms(300); } _delay_ms(3000); /*****************************************************************************/ // Strings
in „Display nach Tutorial Probleme“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
uartbuf-volatile_pgm.patch
void uputs0_pgm( PGM_P s ); // send string from program memory +#define uputs0_pgm_P(__s) uputs0_pgm(PSTR(__s)) + #define UTX0_IEN SBIT( UCSR0B, UDRIE0 ) #define URX0_IEN SBIT( UCSR0B, RXCIE0 )
-
Datei
usart.h
; void usart_write_P (const char *Buffer,...); #define usart_write(format, args...) usart_write_P(PSTR(format) , ## args) //---------------------------------------------------------------------------- #endif //_UART_H
in „µSD Karte Ulrich Radig Code funktioniert nicht mehr“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
usart.h
; void usart_write_P (const char *Buffer,...); #define usart_write(format, args...) usart_write_P(PSTR(format) , ## args) //---------------------------------------------------------------------------- #endif //_UART_H
in „SD-Karte mit Mega644 & Software von Ulrich Radig“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
i2c-hd44780.h
void lcd_puts_R(char *str); void lcd_puts_P(const char *str); #define lcd_puts(format) lcd_puts_P(PSTR(format)) #define CMD 0x00 #define DATA 0x01 void lcd_transfer_4bit(uint8_t data, uint8_t cd); #define lcd_cmd(command) lcd_transfer_4bit(command, CMD); #define lcd_data(databyte) lcd_transfer_4bit(databyte
in „STM32F407, I2C LCD, Initialisierung“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
puts_vers.c
uart_puts_rom ------------------------------------------------------- */ #define puts_rom(str) (uart_puts_rom(PSTR(str))) void uart_puts_rom(const uint8_t *dataPtr) { uint8_t c; for (c=pgm_read_byte(dataPtr); c; ++dataPtr, c=pgm_read_byte(dataPtr)) uart_putchar(c); } /* ------------------------------------------
in „Fehlerhafte Adressierung von lokalen Arrays bei tinyAVR(R) 0-series“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
usart.h
; void usart_write_P (const char *Buffer,...); #define usart_write(format, args...) usart_write_P(PSTR(format) , ## args) //---------------------------------------------------------------------------- #endif //_UART_H
in „Empfangen über UART mit ATmega32“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
usart.h
; void usart_write_P (const char *Buffer,...); #define usart_write(format, args...) usart_write_P(PSTR(format) , ## args) //---------------------------------------------------------------------------- #endif //_UART_H
in „Funk-uhr über AVR Programmieren mit DCF01“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
uart_printf.h
my_putramstring(uint8_t *p); void own_printf(const uint8_t *s,...); #define tiny_printf(str,...) (own_printf(PSTR(str), ## __VA_ARGS__)) #define my_printf tiny_printf #define printf my_printf #endif
in „Ausgabe mittels printf über UART für ATmega / ATtiny“ · Projekte & Code ·
-
Datei
file-0.3.c
fat_markSector00(); // löschen des sektors (nur im puffer). fat_makeRowDataEntry(0,(unsigned char *)strings(PSTR(". ")),0x10,currentCluster,0); // macht "." eintrag des dirs // fat_makeRowDataEntry(0,". ",0x10,currentCluster,0); // macht "." eintrag des dirs // fat_makeRowDataEntry(1,".. ",0x10,fat.dir,0); // macht ".." eintrag des dirs fat_makeRowDataEntry(1,(unsigned char *)strings(PSTR(".. ")),0x10,fat.dir,0); // macht ".." eintrag des dirs fat_writeSector(fat_clustToSec(currentCluster)); // schreibt einträge auf karte ! fat_markSector00(); // löschen des sektors (nur im puffer).
in „MMC SD library FAT16 FAT32 read write“ · Projekte & Code ·
-
Datei
Hit1270.h
extern void lcd_write_flash(uint32_t, uint16_t); // Flash schreiben #define lcd_puts_P(__s) lcd_puts_p(PSTR(__s)) #endif
in „bitte Hilfe, interner Compiler Fehler“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
ks0108ReadFontData, BLACK); // Set a position ks0108GotoXY(15,5); // Print some text ks0108Puts_P(PSTR("Uhrzeit:")); DDRB &= ~0b00000011; PORTB |= 0b00000011; TCCR1A = (1<<COM1A0); // Togglen bei Compare Match TCCR1B = (1<<WGM12) | (1<<CS11); // CTC-Mode; Prescaler 8 TIMSK = (1<<OCIE1A); // Timer-Compare
in „ATmega16 liefert kein Signal an allen Pins außer I2c“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
USART.h
write_str(char *str); void write_P (const char *Buffer,...); #define usart_write(format, args...) write_P(PSTR(format) , ## args) //---------------------------------------------------------------------------- friend usartInterrupt; }; #endif //_UART_H
in „#define (wie kann ich vektor erstellen.“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
ardu_serial.txt
serial_in_command) == 2 && !faehrt ) else if( strstr(serial_in_command, "up?") ) { sprintf_P(s_out_str, PSTR("up %s Uhr"), MY_EEP_VAR.fenster_up_time_str); Serial.println(s_out_str); } else if( strlen(serial_in_command) >= 7 ) { uint8_t hh=atoi(strncpy(serial_in_buff, &serial_in_command[2], 2)); if( 0 <= hh
in „Serieller Monitor bei Arduino“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
seriell1.c
but the format string resides in flash */ printf_P("E\r\n"); /* while(scanf("%s",s) == 0); printf_P(PSTR("\r\nYou entered '%s'\r\n"),s);*/ } return 0; } SIGNAL(SIG_UART_RECV) { // Receive interrupt char c; c = UDR; // Get received char rbuf[r_in & RMASK] = c; r_in++; } SIGNAL(SIG_UART_DATA) { // Data register
in „Ziemlichgross“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
sdram_error.c
include <avr/pgmspace.h> #include <string.h> #include <stdio.h> #define PRINT(string, ...) printf_P(PSTR(string), ##__VA_ARGS__) #include "sdram.h" void sdram_init(void) { // PORTs H, J, K are used for SDRAM, 4 Bit mode PORTH.DIR=0xFF; PORTJ.DIR=0xF0; PORTK.DIR=0xFF; //PORTCFG.EBIOUT = PORTCFG_EBIADROUT_PF_gc
in „Compilerfehler?“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
AVR-C-Tutorial.pdf
(oder _P) versehen sind. Von einigen Bibliotheken werden Makros definiert, die "automatisch" ein PSTR bei Verwendung einer Funktion einfügen. Ein Blick in den Header-File der Bibliothek zeigt, ob dies der Fall ist. Ein Beispiel aus P. Fleurys lcd-Library: // Ausschnitt aus dem Header-File lcd.h der
in „AVR-C-Tutorial“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
main.c
32 bytes from flash for (i=0; i<32; i++) { mp3_data[i]=spi_io(0); // debug // sprintf_P(tmp_str, PSTR("%.2X "), mp3_data[i]); // uart0_puts(tmp_str); } flash_byte+= 32; if (flash_byte >= 528) { flash_byte -= 528; flash_page += 1024; if (flash_page == 0x800000) flash_page=0; } FLASH_NCS // feed VS1011
in „WAV mit VS1011 abspielen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
code_schnipsel.c
ESP.restart(); } time(&rawtime); strftime (time_str,MAX_STRING-1,"%T", &timeinfo); sprintf_P(s_out_str,PSTR("%s Uhr"), time_str); Serial.println(s_out_str); } // if( strstr(serial_in_command, "gettime") ) } // if( strstr(serial_in_command, "time") ) else if( !strcmp(serial_in_command, "mute") ) { (!mute)