Introduction: There is one thing to note about the ATMEGA16 serial port. The UBRRH and UCSRC registers use the same IO address, so be careful when setting and reading.
The UCSRC and UBRRH registers of the microcontroller UART share the same address, and the highest bit URSEL is used to select which data to update. For example: if you write UCSRC=0x86, then the highest bit Bit7 of 0x86=1, so this set of data will update the value of UCSRC; if you write UBRRH=0x01, then the highest bit Bit7 of 0x01=0, so this set of data will update the value of UBRRH without specifically updating the value of URSEL. If you write UBRRH=0x81, then the value of UCSRC will be updated, which is automatically recognized. I saw a friend asking online: Why didn't you set URSEL to 0 when writing UBRRH in the program? Instead, you directly set UBRRH=BAUD_H;UBRRL=BAUD_L; Now everyone should understand that as long as the highest bit of BUAD_H written is 0, that is, AUD_H&0x80==0, the value of UBRRH will be automatically updated without the need to specifically set the value of URSEL.
Below I give the serial port initialization code I use, which is very easy to understand. Combined with the text above, the initial code sets the baud rate to 115200. My microcontroller crystal oscillator is 16MHZ. The value of UBRR can be found in the AVR manual.
Previous article:Design of vehicle side slip detection device based on ATmega16
Next article:Design of low-cost GPS receiving system based on ATmega16A
Recommended ReadingLatest update time:2024-11-16 20:44
- Popular Resources
- Popular amplifiers
- Wireless Sensor Network Technology and Applications (Edited by Mou Si, Yin Hong, and Su Xing)
- Modern Electronic Technology Training Course (Edited by Yao Youfeng)
- Modern arc welding power supply and its control
- Small AC Servo Motor Control Circuit Design (by Masaru Ishijima; translated by Xue Liang and Zhu Jianjun, by Masaru Ishijima, Xue Liang, and Zhu Jianjun)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Cumulative error analysis and clock frequency optimization for UART communication in MSP430FR2311
- 1000m WIFI amplifier ~ Anyone interested?
- FilterSolutions User's Guide The simulated filter that has been practiced is pretty good
- What is the definition of these so-called self-organizing networks?
- dsp6657 serial port learning
- Try the data visualization tool of visionseed in Ubuntu
- Help with AD9 package design
- 1. Unboxing and Review
- Brief analysis of the functional block diagram of the MSP430 series microcontroller
- NXP PLC2366 Timer 2 Interrupt Program