Question: // Problem 2 code #define F_CPU 16000000UL #include #include void main(void) { char ch; UCSRA=0x00; UCSRB=0x58; UBRRH=0x00; UBRRL=0xOF; DDRB =0xFF; sei); while (1) { if

 // Problem 2 code #define F_CPU 16000000UL #include #include void main(void)

// Problem 2 code #define F_CPU 16000000UL #include #include void main(void) { char ch; UCSRA=0x00; UCSRB=0x58; UBRRH=0x00; UBRRL=0xOF; DDRB =0xFF; sei); while (1) { if (UCSRA & 0x80) ch = UDR; switch (ch) { case 'a': PORTB = PORTB^0x10; break; case 'b': PORTB = PORTB^0x20; break; default: PORTB = PORTB^0x40; } } 1. What baud rate the program sets for serial communication? How many seconds it takes to send or receive one full byte? Show calculations. [10 points) 2. Explain what is the purpose of lines UCSRA=0x00; and UCSRB=0x58; in the code? [5 points] 3. Which pin of PORTB toggles if the program receives character Z?? [5 points] 4. The program uses polling method to receive data serially, re-write the code for interrupt-based receiving of data. Use Receive Complete Interrupt. [15 points)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!