Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <avr/io.h>
- /*
- * Wenn PORTA (0) = 0 dann : PORTB = PIND;
- * Wenn PORTA (0) = 1 dann : PORTB(4:7) = PIND(0:3) und PORTB(0:3) = PIND(4:7)
- * PORTD 1100 0101
- * PORTB 0101 1100
- */
- /*
- * DDR -> Data Direction (Input oder Output)
- * PINA, PINB, PINC -> auslesn
- * PORTA, PORTB, PORTC -> ausgeben
- */
- /*
- *
- */
- void init() {
- DDRA = 0b01111111;
- DDRB = 0xFF;
- DDRD = 0x00;
- }
- uint8_t getPortA0() {
- return PINA & 0b00000001;
- }
- int main() {
- init();
- if(getPortA0() == 0x01) {
- uint8_t a = PIND << 4;
- uint8_t b = PIND >> 4;
- PORTB = a | b;
- } else {
- PORTB = PIND;
- }
- }
- /*
- int main(void) {
- DDRA = 0b01111111;
- DDRB = 0xFF;
- DDRD = 0x00;
- while(1) {
- if((PINA & 0b00000001) == 0b00000000) {
- PORTB = PIND;
- } else {
- /*
- * PORTB = PIND << 4
- * 1010 0001 -> 0001 0000
- * PORTB oder gleich PIND >> 4
- * 1010 0001 -> 0000 1010
- *
- * 0001 0000
- * 0000 1010
- * ODER
- * 0001 1010
- uint8_t a = PIND << 4;
- uint8_t b = PIND >> 4;
- PORTB = a | b;
- }
- }
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement