Suchergebnisse für "portc"
, temp1 ; Port D = Ausgang ldi temp1, 0x00 out DDRC, temp1 ; Port C = Eingang ldi temp1, 0xFF out PORTC , temp1 ; interne Pullups für Port C aktivieren ldi temp1, 0xFF out DDRB, temp1 ; Port B = Ausgang ldi temp1, 0x00 out PORTB, temp1 ldi temp1, 0x00 ; Additionsregister mit 0x00FA00 vorbelegen mov change1
in
„Claude Code trifft AVR-Assembler: vom Chip in den Browser mit einem Prompt“
·
Mikrocontroller und Digitale Elektronik
·
19.08.2026 22:42
, temp1 ; Port D = Ausgang ldi temp1, 0x00 out DDRC, temp1 ; Port C = Eingang ldi temp1, 0xFF out PORTC , temp1 ; interne Pullups für Port C aktivieren ldi temp1, 0xFF out DDRB, temp1 ; Port B = Ausgang ldi temp1, 0x00 out PORTB, temp1 ldi temp1, 0x00 ; Additionsregister mit 0x00FA00 vorbelegen mov change1
in
„Claude Code trifft AVR-Assembler: vom Chip in den Browser mit einem Prompt“
·
Mikrocontroller und Digitale Elektronik
·
19.08.2026 22:42
Interrupt auf 128 springt ldi temp1, 0x00 out DDRC, temp1 ; Port C = Eingang, Tasten ldi temp1, 0xFF out PORTC , temp1 ; mit internen Pullups ldi temp1, 0xFF out DDRB, temp1 ; Port B = Ausgang, LCD ldi temp1, 0x00 out PORTB, temp1 clr change1 ; Phasenakkumulator ruht, bis der clr change2 ; erste Schritt spielt
in
„Claude Code trifft AVR-Assembler: vom Chip in den Browser mit einem Prompt“
·
Mikrocontroller und Digitale Elektronik
·
19.08.2026 22:40
Output Ports initialization as input // Port B DDRB = 0xDF; PORTB = 0x20; // Port C // DDRC = 0xFF; // PORTC = 0x00; // Port D //UART DDRD = 0xFE; PORTD = 0x00; SREG |= 0x80; // return(uc_Start); }
in
„Initialisierung EADOGS 204-N via SPI“
·
Mikrocontroller und Digitale Elektronik
·
13.07.2026 11:34
Bild
ATmega328P, RESET, VCC, GND, PB0 bis PB7, PC0 bis PC5, PD0 bis PD7, ADC0 bis ADC7, RESET, PORTB, PORTC , PORTD, LCD CS, LCD EN, LCD RS, LCD RW, LCD D0 bis D7, LCD D, LCD C, LCD B, LCD A, LCD R, LCD G, LCD E, LCD D, LCD C, LCD B, LCD A, LCD R, LCD G, LCD E, LCD D, LCD C, LCD B, LCD A, LCD R, LCD G, LCD
in
„Alternativer SSB-TX Ansatz => QRP“
·
HF, Funk und Felder
·
10.06.2026 12:41
·
Schaltpläne
example, in order to write to the PORT register of PTC3 (PTxn), the corresponding mapped register is PORTC _PCR3 (PORTx_PCRn): • To find PORTC base address, look up the 'Start address' of "Port C" in "Peripheral Memory Map" tab in the attached S32K1xx_Memory_Map.xls. This is referred henceforth as PORTC _Base_address. • To reach PCRn, refer to address 'PORTx_Base_address + n*4d'. For PCR3 of PORTC , this refers to 'PORTC _Base_address + 3*4d'. The attachmented IO Signal Description Input Muxing sheet(s) for each device provides the fields available in PCR per PORTx_PCRn (For each PTxn pin) in
in
„Induktiver Sensor antwortet nicht auf I2C“
·
Platinen
·
09.06.2026 12:16
Drehgeber A INT2 ;PORTB, 3 ;PWM1 ;PORTB, 4 ;PWM2 ;PORTB, 5 ;ISP ;PORTB, 6 ;PWM5,ISP ;PORTB, 7 ;ISP ;PORTC , 0 ;zum Treiber H-Bruecke 2 ;PORTC , 1 ;Impuls- Ausgabe - 1 pro Schrittweite für externe Treiber ;PORTC , 2 ;JTAG ;PORTC , 3 ;JTAG ;PORTC , 4 ;JTAG ;PORTC , 5 ;JTAG ;PORTC , 6 ;Ausgang Richtung ;PORTC , 7
in
„Spielerei mit einem 2- und 5-Phasen-Schrittmotor“
·
Projekte & Code
·
20.05.2026 22:55
Drehgeber A INT2 ;PORTB, 3 ;PWM1 ;PORTB, 4 ;PWM2 ;PORTB, 5 ;ISP ;PORTB, 6 ;PWM5,ISP ;PORTB, 7 ;ISP ;PORTC , 0 ;zumTreiber H-Bruecke 2 ;PORTC , 1 ;Impuls- Ausgabe - 1 pro Schrittweite für externeTreiber Port B0, C0, D4, D5 sind für eine andere Ansteuerung ;PORTC , 2 ;JTAG einer H-Brücke vom 2-Phasen Motor vorbereitet. ;PORTC , 3 ;JTAG ;PORTC , 4 ;JTAG ;PORTC , 5 ;JTAG ;PORTC , 6 ;Ausgang Richtung ;PORTC , 7 ;Ausgang Daten stoppen ;PORTD, 0 ;RX Serielle Schnittstelle ;PORTD, 1 ;TX Serielle Schnittstelle ;PORTD, 2 ;Externer EingangTakt
in
„Spielerei mit einem 2- und 5-Phasen-Schrittmotor“
·
Projekte & Code
·
20.05.2026 22:55
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(Line1_GPIO_Port, &GPIO_InitStruct); //PORTC GPIO_InitStruct.Pin = R10_Pin | R11_Pin | R12_Pin | R13_Pin | R14_Pin | G10_Pin | G11_Pin | G12_Pin | G13_Pin | G14_Pin | B10_Pin | B11_Pin | B12_Pin | B13_Pin | B14_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP
in
„LED Matrix Ansteuerung mit STM32F4 ohne CPU Last“
·
Projekte & Code
·
04.05.2026 21:55
define SC_PORT PORTD #define SC_DDR DDRD #define SC_BIT PD6 // EXTERN LOW-Aktiv #define LED1_PORT PORTC #define LED1_DDR DDRC #define LED1_BIT PC3 // SUCHLAUF LOW-Aktiv #define LED2_PORT PORTB #define LED2_DDR DDRB #define LED2_BIT PB4 // MEMORY LOW-Aktiv // PWM-DAC Pins #define PWM1_PORT PORTB #define
in
„AUDIOCONTROLLER MSP3400C einfach mit ATMEGA32 ansteuern“
·
Projekte & Code
·
21.04.2026 09:01
define SC_PORT PORTD #define SC_DDR DDRD #define SC_BIT PD6 // EXTERN LOW-Aktiv #define LED1_PORT PORTC #define LED1_DDR DDRC #define LED1_BIT PC3 // SUCHLAUF LOW-Aktiv #define LED2_PORT PORTB #define LED2_DDR DDRB #define LED2_BIT PB4 // MEMORY LOW-Aktiv // PWM-DAC Pins #define PWM1_PORT PORTB #define
in
„Zeigt her eure Kunstwerke (ab 2023)“
·
Projekte & Code
·
20.04.2026 15:33
void stateMachine(void) { if (!dataReady) return; switch (receivebuffer[0]) { case UDS_WRITE_DATA: PORTC = 0xFF; UART_Transmit(0x44); if(receivebuffer[1]== 0x33) { UART_Transmit(0x55); } break; case UDS_READ_DATA: PORTC = 0x00; UART_Transmit(0x77); if(receivebuffer[1]== 0x33) { UART_Transmit(0x55); }
in
„mehrere Zeichen per UART empfangen“
·
Mikrocontroller und Digitale Elektronik
·
05.03.2026 10:29
void swapb(volatile u8 *x, volatile u8 *y) __attribute__((__always_inline__)); /* Beispiel: swapb(&PORTC , &PORTA); */ static __inline__ void swaph (volatile u16 *x, volatile u16 *y) __attribute__((__always_inline__)); /* Beispiel: swaph(&a, &b); */ static __inline__ void swapt (volatile u24 *x, volatile
in
„I2C Display einfache Frage“
·
Mikrocontroller und Digitale Elektronik
·
27.02.2026 10:59
); UART_Transmit(UDS_NRC_requestOutOfRange); */ dataAreRead = true; PORTC = 0x00; UART_Transmit(0x77); if(receivebuffer[1]== 0x33) { UART_Transmit(0x55); dataAreRead = true; } } } void deleteReceiveBuffer(void) { if(dataAreRead){ uint8_t i=0; for(i=0;i<sizeOfReceiveBuffer
in
„mehrere Zeichen per UART empfangen“
·
Mikrocontroller und Digitale Elektronik
·
26.02.2026 12:45
delay_us(anz) _delay_us(anz) // Portpins fuer I2C (Bitbanging): SDA = PC4, SCL = PC5 #define i2c_port PORTC #define i2c_ddr DDRC #define i2c_pinr PINC #define sda_bit 4 #define scl_bit 5 // Bitbanging der Pins. Logische 1 wird durch setzen des Anschlusses auf Input !!! // bewirkt, der PullUp des Busses legt
in
„I2C Display einfache Frage“
·
Mikrocontroller und Digitale Elektronik
·
25.02.2026 19:17
Bild
DIV64 DIV1024 DIV64
CCL_LUTn Async LUTn
AC0 Async CUT
ADC0 Sync RESRDY
PORT0_PINn Async PORTA_PINn PORTC _PINn PORTE_PINn
PORT1_PINn Async PORTB_PINn PORTD_PINn PORTF_PINn
USARTn Sync XCK
SPI0 Sync SCK
TCA0_OVF/LUNF Sync OVF/LUNF
TCA0_HUNF Sync HUNF
TCA0_CMP0 Sync CMP0
TCA0_CMP1 Sync CMP1
in
„Timer Counter B als PWM Messung“
·
Mikrocontroller und Digitale Elektronik
·
24.02.2026 14:01
·
Screenshots
Drehgeber A INT2 ;PORTB, 3 ;PWM1 ;PORTB, 4 ;PWM2 ;PORTB, 5 ;ISP ;PORTB, 6 ;PWM5,ISP ;PORTB, 7 ;ISP ;PORTC , 0 ;zum Treiber H-Bruecke 2 ;PORTC , 1 ;Impuls- Ausgabe - 1 pro Schrittweite für externe Treiber ;PORTC , 2 ;JTAG ;PORTC , 3 ;JTAG ;PORTC , 4 ;JTAG ;PORTC , 5 ;JTAG ;PORTC , 6 ;Ausgang Richtung ;PORTC , 7
in
„Spielerei mit einem 2- und 5-Phasen-Schrittmotor“
·
Projekte & Code
·
11.02.2026 14:54
Drehgeber A INT2 ;PORTB, 3 ;PWM1 ;PORTB, 4 ;PWM2 ;PORTB, 5 ;ISP ;PORTB, 6 ;PWM5,ISP ;PORTB, 7 ;ISP ;PORTC , 0 ;zumTreiber H-Bruecke 2 ;PORTC , 1 ;Impuls- Ausgabe - 1 pro Schrittweite für externeTreiber Port B0, C0, D4, D5 sind für eine andere Ansteuerung ;PORTC , 2 ;JTAG ;PORTC , 3 ;JTAG einer H-Brücke vom 2-Phasen Motor vorbereitet. ;PORTC , 4 ;JTAG ;PORTC , 5 ;JTAG ;PORTC , 6 ;Ausgang Richtung ;PORTC , 7 ;Ausgang Daten stoppen ;PORTD, 0 ;RX Serielle Schnittstelle ;PORTD, 1 ;TX Serielle Schnittstelle ;PORTD, 2 ;Externer EingangTakt Motor
in
„Spielerei mit einem 2- und 5-Phasen-Schrittmotor“
·
Projekte & Code
·
11.02.2026 14:54
Bild
PIC-Ready2 BY MARCELELECTRONICA RESET BUTTON PICARD USB CONNECTOR PIC-Ready1 RESET BUTTON PORTA PORTB PORTC PORTD PICARD USB CONNECTOR 01/29/2026
in
„PIC TestBoards“
·
Markt
·
30.01.2026 17:42
·
Platinenfotos
---------- int main(void) { DDRC = 0x08; // Setze Port C Pin3 als Ausgang, der Rest sind Eingänge PORTC |= (1<<PC4) | (1<<PC5); // Setze internen PullUp Widerstand an PINC 4 und 5 DDRD = 0xF0; // Setze Port D Pin4-7 als Ausgang, rest als Eingänge PORTD |= (1<<PD0) | (1<<PD1) | (1<<PD2) | (1<<PD3); //
in
„Hilfe bei Programm-Bug mit AtMega8 benötigt“
·
Mikrocontroller und Digitale Elektronik
·
17.10.2025 19:48
------------ */ int main(void) { // uint8_t ch; SystemInit(); // 48 MHz intern, Clock fuer PORTA, PORTC , PORTD eingeschaltet but_init(); lcd_init(); // Display initialisieren while(1) { switch (progrun) { case 0: picomon_prog(); break; case 1: fcount_prog(); break; default: break; } progrun++; progrun
in
„PicoMon für CH32V003 oder STM32F0xx“
·
Projekte & Code
·
05.10.2025 21:59
once to initialize the I2C bus. No parameters ;* are required. ;* ;* RETURN ;* None ;* ;* NOTE ;* PORTC and DDRC pins not used by the I2C bus interface will be ;* set to Hi-Z (!). ;* ;* COMMENT ;* This function can be combined with other PORTC initializations. ;* ;************************************
in
„Probleme mit DS1307 und dessen Zeitausgabe“
·
Mikrocontroller und Digitale Elektronik
·
15.09.2025 11:22
once to initialize the I2C bus. No parameters ;* are required. ;* ;* RETURN ;* None ;* ;* NOTE ;* PORTC and DDRC pins not used by the I2C bus interface will be ;* set to Hi-Z (!). ;* ;* COMMENT ;* This function can be combined with other PORTC initializations. ;* ;************************************
in
„Probleme mit DS1307 und dessen Zeitausgabe“
·
Mikrocontroller und Digitale Elektronik
·
12.09.2025 20:01
once to initialize the I2C bus. No parameters ;* are required. ;* ;* RETURN ;* None ;* ;* NOTE ;* PORTC and DDRC pins not used by the I2C bus interface will be ;* set to Hi-Z (!). ;* ;* COMMENT ;* This function can be combined with other PORTC initializations. ;* ;************************************
in
„Probleme mit DS1307 und dessen Zeitausgabe“
·
Mikrocontroller und Digitale Elektronik
·
12.09.2025 15:03
input //setup PORTB PORTB = 0xF6; TRISB = 0x09; //INT input, PGM input, all others output //setup PORTC PORTC = 0x20; //set loadDac high TRISC = 0x9B; //all input, but HV_en RC2 and PIC_DAC_Load RC5 //setup I2C SSPADD = i2caddress << 1; SSPSTATbits.SMP = 1; //100KHz mode SSPSTATbits.CKE = 0; //I2C spec
in
„Pollin PMT-Modul“
·
Mikrocontroller und Digitale Elektronik
·
30.08.2025 00:31
{ &DDRB, &PORTB, _BV(PB3) }, { &DDRB, &PORTB, _BV(PB4) }, { &DDRB, &PORTB, _BV(PB5) }, { &DDRC, &PORTC , _BV(PC0) }, { &DDRC, &PORTC , _BV(PC1) }, { &DDRC, &PORTC , _BV(PC2) }, { &DDRC, &PORTC , _BV(PC3) }, { &DDRC, &PORTC , _BV(PC4) }, { &DDRC, &PORTC , _BV(PC5) }, { &DDRD, &PORTD, _BV(PD0) }, { &DDRD, &
in
„Atmega8A: loop über Ports/Pins funktioniert nicht“
·
Mikrocontroller und Digitale Elektronik
·
24.08.2025 09:59
PORTB, _BV(PB4) }, { (uint16_t)&DDRB, (uint16_t)&PORTB, _BV(PB5) }, { (uint16_t)&DDRC, (uint16_t)&PORTC , _BV(PC0) }, { (uint16_t)&DDRC, (uint16_t)&PORTC , _BV(PC1) }, { (uint16_t)&DDRC, (uint16_t)&PORTC , _BV(PC2) }, { (uint16_t)&DDRC, (uint16_t)&PORTC , _BV(PC3) }, { (uint16_t)&DDRC, (uint16_t)&PORTC , _BV(PC4) }, { (uint16_t)&DDRC, (uint16_t)&PORTC , _BV(PC5) }, { (uint16_t)&DDRD, (uint16_t)&PORTD, _BV(PD0) }, { (uint16_t)&DDRD, (uint16_t)&PORTD, _BV(PD1) }, { (uint16_t)&DDRD, (uint16_t)&PORTD, _BV(PD2) }, { (uint16_t)&DDRD, (uint16_t)&PORTD,
in
„Atmega8A: loop über Ports/Pins funktioniert nicht“
·
Mikrocontroller und Digitale Elektronik
·
23.08.2025 17:45
PORTB, _BV(PB4) }, { (uint16_t)&DDRB, (uint16_t)&PORTB, _BV(PB5) }, { (uint16_t)&DDRC, (uint16_t)&PORTC , _BV(PC0) }, { (uint16_t)&DDRC, (uint16_t)&PORTC , _BV(PC1) }, { (uint16_t)&DDRC, (uint16_t)&PORTC , _BV(PC2) }, { (uint16_t)&DDRC, (uint16_t)&PORTC , _BV(PC3) }, { (uint16_t)&DDRC, (uint16_t)&PORTC , _BV(PC4) }, { (uint16_t)&DDRC, (uint16_t)&PORTC , _BV(PC5) }, { (uint16_t)&DDRD, (uint16_t)&PORTD, _BV(PD0) }, { (uint16_t)&DDRD, (uint16_t)&PORTD, _BV(PD1) }, { (uint16_t)&DDRD, (uint16_t)&PORTD, _BV(PD2) }, { (uint16_t)&DDRD, (uint16_t)&PORTD,
in
„Atmega8A: loop über Ports/Pins funktioniert nicht“
·
Mikrocontroller und Digitale Elektronik
·
23.08.2025 17:33
input //setup PORTB PORTB = 0xF6; TRISB = 0x09; //INT input, PGM input, all others output //setup PORTC PORTC = 0x20; //set loadDac high TRISC = 0x9B; //all input, but HV_en RC2 and PIC_DAC_Load RC5 //setup I2C SSPADD = i2caddress << 1; SSPSTATbits.SMP = 1; //100KHz mode SSPSTATbits.CKE = 0; //I2C spec
in
„Pollin PMT-Modul“
·
Mikrocontroller und Digitale Elektronik
·
19.08.2025 22:39
0x04) #define PORTB _SFR_IO8(0x05) #define PINC _SFR_IO8(0x06) #define DDRC _SFR_IO8(0x07) #define PORTC _SFR_IO8(0x08) #define PIND _SFR_IO8(0x09) #define DDRD _SFR_IO8(0x0A) #define PORTD _SFR_IO8(0x0B) toolchain/avr/include/sfr_defs.h ******************************** #ifndef __SFR_OFFSET # if __AVR_ARCH
in
„Wie ist PORTB implementiert?“
·
Mikrocontroller und Digitale Elektronik
·
02.08.2025 12:29
Thread
template<...> auch nicht eine uint8_t PortNummer übergeben, sondern eine voll funktionsfähige class{} PortC (oder ein struct{} ) Als Beispiel: ports_.h enthält die class PortImplementation{}, die die Funktionalität enthält. Das Makro AUTO_IO_REG_WRAPPER stellt die Verbindung zu avr.io her. . der PortC wird deklariert mit: [c] namespace Private { AUTO_IO_REG_WRAPPER (PORTC , OutC, uint8_t); AUTO_IO_REG_WRAPPER (DDRC, DirC, uint8_t); AUTO_IO_REG_WRAPPER (PINC, InC, uint8_t); } using PortC = PortImplementation < Private::OutC,
Mikrocontroller und Digitale Elektronik
· Thomas H.
· 02.08.2025 21:22
· 27 Antworten
Thread
PIN1_bm // PA1 #define DC_PORT PORTA #define RESET_PIN PIN1_bm // PC1 #define RESET_PORT PORTC #define CS_PIN PIN3_bm // PC3 #define CS_PORT PORTC void spi_init(void) { // SPI0 auf alternativen Pins: MOSI=PC2, SCK=PC0 //PORTMUX.SPIROUTEA = PORTMUX_SPI0_ALTERNATE_gc; PORTMUX.CTRLB |= PORTMUX_SPI0_bm; // SPI0 auf Alternate: SCK=PC0, MOSI=PC2 PORTC .DIRSET = PIN0_bm | PIN2_bm; // SCK, MOSI SPI0.CTRLA = SPI_ENABLE_bm | SPI_MASTER_bm; SPI0.CTRLB = SPI_SSD_bm; } void gpio_init(void) { PORTA.DIRSET = DC_PIN; PORTC .DIRSET = CS_PIN |
Mikrocontroller und Digitale Elektronik
· Achim S.
· 09.07.2025 15:27
· 8 Antworten
0x40005400 PWR_BASE = 0x40007000 AFIO_BASE = 0x40010000 EXTI_BASE = 0x40010400 PORTA_BASE = 0x40010800 PORTC _BASE = 0x40011000 PORTD_BASE = 0x40011400 ADC_BASE = 0x40012400 TIM1_BASE = 0x40012C00 SPI_BASE = 0x40013000 USART_BASE = 0x40013800 DMA_BASE = 0x40020000 RCC_BASE = 0x40021000 FLASH_INTERFACE_BASE
in
„RISCV (CH32V003): GNU Assembler übersetzt "CALL" nicht korrekt (oder bin ich nur zu doof?)“
·
Mikrocontroller und Digitale Elektronik
·
29.06.2025 15:08
define PCINT_BIT (SIGNAL_PIN - 8) #elif (SIGNAL_PIN >= A0 && SIGNAL_PIN <= A5) // Analog Pins A0–A5 = PORTC #define PCINT_VECTOR PCINT1_vect #define PCICR_BIT PCIE1 #define PCMSK_REG PCMSK1 #define PIN_REG PINC #define PIN_BIT (SIGNAL_PIN - A0) #define PCINT_BIT (SIGNAL_PIN - A0) #else #error "SIGNAL_PIN
in
„E-Bike legalisieren (PAS+Speed->Gas)“
·
Fahrzeugelektronik
·
03.06.2025 21:05
PB1: soft UART tx, PB0: TEST PORTB = 0xFF; // internal pull ups DDRC = 0x0; // internal pull ups PORTC = 0xFF; DDRD = 0; // internal pull ups PORTD = 0xFF; // UART init UBRR0H = UBRR_VAL >> 8; UBRR0L = UBRR_VAL & 0xFF; // timer 1 init // OCRA1 for soft UART tx // mode 0, prescaler 1 TCCR1A = 0; TCCR1B
in
„ADC-Kanäle sukzessive abfragen“
·
Mikrocontroller und Digitale Elektronik
·
28.05.2025 13:13
Programm einsetzen DrehB1: und mit ret abschließen lds AL, MPinB ;zeigt die Richtung der Drehung cbi PORTC , 6 ;Setze Richtung auf 0 sbrc AL, 0 ;Richtung vom Drehgeber sbi PORTC , 6 ;Setze Richtung pushw z rcall Schritt popw z ret
in
„Drehencoder in ASM Timer oder Interrupt“
·
Projekte & Code
·
18.05.2025 21:48
led1on() { PORTB.OUTSET |= PIN0_bm; } void led1off() { PORTB.OUTCLR |= PIN0_bm; } void led2on() { PORTC .OUTSET |= PIN0_bm; } void led2off() { PORTC .OUTCLR |= PIN0_bm; } void led3on() { PORTC .OUTSET |= PIN1_bm; } ISR(TCB0_INT_vect) { milli_ticks++; TCB0.INTFLAGS |= 1; } void led3off() { PORTC .OUTCLR |
in
„ATtiny1624, Timer B läuft zu schnell ab“
·
Mikrocontroller und Digitale Elektronik
·
13.05.2025 08:46
== 5) { fault_rx = rx_state; if (fault_rx) { PORTA |= (1 << LED_RX_FAULT); PORTC |= (1 << RELAIS_RX); } else { timer_rx_clear = 10000; PORTA &= ~(1 << LED_RX_FAULT); } } last_rx_state = rx_state; if (!fault_tx && timer_tx_clear && --timer_tx_clear == 0) PORTC &= ~(1 << RELAIS_TX); if (!fault_rx && timer_rx_clear && --timer_rx_clear == 0) PORTC &= ~(1 << RELAIS_RX); } // === Hauptprogramm === int main(void) { cli(); io_init(); UCSRB = (1 << RXEN) | (1 << TXEN) | (1 << RXCIE); UCSRC = (1 << URSEL) | (1 << UCSZ1) | (1 << UCSZ0); UBRRL = 51;
in
„Codecontrolle und Fragen zu Microchip Studio“
·
Mikrocontroller und Digitale Elektronik
·
12.05.2025 08:18
TCD0_CMPASET 0x06 TCD0_CMPBSET 0x07 TCD0_PROGEV 0x08 RTC_OVF 0x09 RTC_CMP 0x0A PORTA_PIN0 PORTB_PIN0 PORTC _PIN0 PIT_DIV8192 0x0B PORTA_PIN1 PORTB_PIN1 PORTC _PIN1 PIT_DIV4096 0x0C PORTA_PIN2 PORTB_PIN2 PORTC _PIN2 PIT_DIV2048 0x0D PORTA_PIN3 PORTB_PIN3 PORTC _PIN3 PIT_DIV1024 0x0E PORTA_PIN4 PORTB_PIN4 PORTC _PIN4
in
„Attiny 3216 QTouch Funktion“
·
Mikrocontroller und Digitale Elektronik
·
11.04.2025 12:03
Thread
Korb_getroffen) { ... } [/c] Makros helfen auch bei Schaltausgängen: [c] #define Sirene_an PORTC |= (1<<PC1) #define Sirene_aus PORTC &= ~(1<<PC1) if ... { Sirene_an; } else { Sirene_aus; [/c] Falls dir solche Makros suspekt sind, schreibe stattdessen Funktionen mit sprechenden Namen. [c] bool Sabotage_erkannt() { return PortB & (1<<PB4) } void Sirene_an() { PORTC |= (1<<PC1) } if (Sabotage_erkannt()) { Sirene_an(); } [/c] Gerade bei AVR sind Funktionsaufrufe "billig". Außerdem optimiert der Compiler solche einzeiligen Funktionen meistens komplett
Softwareentwicklung
· Thomas S.
· 22.04.2025 14:06
· 23 Antworten
output ldi dummy,0xff ; 1 cycl, output out DDRB,dummy ; 1 cycl, set portb out DDRC,dummy ; 1 cycl, set portc out DDRD,dummy ; 1 cycl, set portd sbi portd,7 ; 2 cycl, enable pullup D7 ; generate interrupt on each Timer overflow/Timer output compare sei ; 1 cycl, enable global interrupts ; ocie2a = "Output
in
„Frage: 328p und Timer2/GPIO in assembler“
·
Mikrocontroller und Digitale Elektronik
·
10.04.2025 16:25
x1: jmp x1 ; 3 cycl, deadloop and timer are freerunning /* ldi akku,0xff ; 1 cycl, write $ff out portc ,akku ; 1 cycl, --> out to portc ;nop ; 1 cycl ldi akku,0x00 ; 1 cycl, write $00 out portc ,akku ; 1 cycl, --> out to portc nop ; 1 cycl ldi akku,0xff ; 1 cycl, write $ff out portc ,akku ; 1 cycl, -->
in
„Frage: 328p und Timer2/GPIO in assembler“
·
Mikrocontroller und Digitale Elektronik
·
10.04.2025 12:08
Thread
void ) = 0x0000; DDRC = (1 << DDC5); for (uint8_t i = 0; i < 10; i++) { PORTC ^= (1 << PORTC 5); // toggle pin _delay_ms (200); } start(); } [/c] So weit. Dann ein Hauptprogramm. Macht das gleiche, nur anderer Ausgang [c] #define F_CPU 1000000UL #include
delay.h> int main(void) { DDRC = (1 << DDC4); for (uint8_t i = 0; i < 30; i++) { PORTC ^= (1 << PORTC 4); _delay_ms (50); } } [/c] Hier keine Ergänzung für Linker und kein "erase", sondern "manged by script" So weit klappt das auch beim ersten mal. Ändere ich jetzt
Mikrocontroller und Digitale Elektronik
· Jürgen
· 09.04.2025 12:57
· 30 Antworten
Thread
DDRA = 0xff; // PortA Ausgänge DDRB = 0xd8; // PortB Ausgänge // DDRC = 0xdf; // PortC Ausgänge - Bit 5 Eingang - Chip Quitierung DDRC = 0b11011111; // PortC Ausgänge - Bit 5 Eingang - Chip Quitierung DDRD = 0xff; // PortD Ausgänge //PORTB = (1<<PB7)|(1<<PB5)|
* Author: Thomas */ #include <avr/io.h> int main(void) { DDRC = 0b11011111; // PortC Ausgänge - Bit 5 Eingang - Chip Quitierung PORTC |= (1<<PC5); // Pull Up an Pin27 - Chip issue aktivieren while(1) { } } [/c]
Mikrocontroller und Digitale Elektronik
· Thomas S.
· 07.04.2025 15:45
· 36 Antworten
void swapb(volatile u8 *x, volatile u8 *y) __attribute__((__always_inline__)); /* Beispiel: swapb(&PORTC , &PORTA); */ static __inline__ void swaph (volatile u16 *x, volatile u16 *y) __attribute__((__always_inline__)); /* Beispiel: swaph(&a, &b); */ static __inline__ void swapt (volatile u24 *x, volatile
in
„AVR-Studio 4.19 und JTAG ICE MK2 unter Windows 11 64 Bit installieren“
·
Mikrocontroller und Digitale Elektronik
·
03.04.2025 16:16
Bild
5,2V R1 10uF C1 VCC GND 27pF C3 1-16Hz Q1 10 C2 10uF R2 LED1 U=3,5V,2V GND GND MEGAB-P PC6(RESET) 23 PORTC PC0(ADC0) 24 PC1(ADC1) 25 PC2(ADC2) 26 PC3(ADC3) 27 PC4(ADC4/SDA) 28 PC5(ADC5) 9 PB6(XTAL1/TOSC1) 10 PB7(XTAL2/TOSC2) 11 GND 12 VCC 13 PORTD PD0(RXD) 14 PD1(TXD) 15 PD2(INT0) 16 PD3(INT1) 17 PD4(XCK
in
„Schaltplan Kontrolle“
·
Mikrocontroller und Digitale Elektronik
·
02.04.2025 22:34
·
Schaltpläne
EQU H'0001' PCL EQU H'0002' STATUS EQU H'0003' FSR EQU H'0004' PORTA EQU H'0005' PORTB EQU H'0006' PORTC EQU H'0007' PORTD EQU H'0008' PORTE EQU H'0009' PCLATH EQU H'000A' INTCON EQU H'000B' PIR1 EQU H'000C' PIR2 EQU H'000D' TMR1 EQU H'000E' TMR1L EQU H'000E' TMR1H EQU H'000F' T1CON EQU H'0010' TMR2 EQU
in
„EEPROM auslesen“
·
Mikrocontroller und Digitale Elektronik
·
23.03.2025 21:54
Thread
Wie das Nibble respektive die Datenbits wohl definiert sind ;) Wenn da steht das D4 bis D7 PORTC ,4 bis ,7 sind, dann darf der Compiler nicht im LATC rumpfuschen. Mit evtl. o.g. Effekten. Frank K. schrieb im Beitrag #7844493: > Und man könnte den Code umformulieren: Effektiv ja, ergibt aber
Mikrocontroller und Digitale Elektronik
· Jens B.
· 13.03.2025 15:15
· 22 Antworten
Thread
sleep.h> int main(void) { // Alle IOs als Input mit internen Pull Ups PORTB = 0xFF; PORTC = 0xFF; PORTD = 0xFF; // Analogkomparator ausschalten, der ist beimn Reset immer an ACSR = (1<<ACD); set_sleep_mode(SLEEP_MODE_PWR_DOWN); sleep_mode(); // schlafen bis
Mikrocontroller und Digitale Elektronik
· Svensson
· 17.06.2025 17:54
· 106 Antworten
PORTA:" ) ) ; out_hex2(PORTA); out_puts_P( tx_B ) ; out_hex2(PORTB); out_puts_P( tx_C ) ; out_hex2(PORTC ); out_puts_P( tx_D ) ; out_hex2(PORTD); out_nl(); /* out_puts_P( PSTR( " SREG:" ) ) ; out_hex2(SREG); out_puts_P( PSTR( " UCSR0A:" ) ) ; out_hex2(UCSR0A); out_puts_P( tx_B ) ) ; out_hex2(UCSR0B); out_puts_P
in
„Implementierung von Menüs auf alphanumerischen Displays“
·
Mikrocontroller und Digitale Elektronik
·
26.02.2025 08:18