Use the ATmega168 hardware SPI driver 74HC595 to expand the serial interface. Set MOSI and SCK to output, and then set the registers. , as follows:
static void vSpi595Init(void)
{
DDRB|=(1<
DDRD|=(1<
SPCR=(1< } Then call the following send function static void vSPIMasterTransmit(unsigned char ucData) { SS_L(); //Pull down the storage register clock SPDR = ucData; // Start data transmission while(!(SPSR & (1< SS_H(); //Pull up the storage register clock } But I found that the SPIF interrupt was not generated. Replacing the chip, adjusting the clock and SPI rate did not work. Later I searched on ouravr website and found that many people encountered the same problem, and someone gave a solution. It is necessary to set the SS pin to output. The modified initialization function is static void vSpi595Init(void) { DDRB|=(1< DDRD|=(1< SPCR=(1< } That is to say, when acting as a host, SS must be set to output, and after the chip is reset, the SS pin defaults to input, so it must be actively set in the program. It seems that this is not clearly stated in the datasheet.
Previous article:Design of pure hardware circuit of intelligent car control system based on ATmega16
Next article:Design of electro-hydraulic servo valve feedback controller based on ATmega16
Recommended ReadingLatest update time:2024-11-16 17:38
- Popular Resources
- Popular amplifiers
- 100 Examples of Microcontroller C Language Applications (with CD-ROM, 3rd Edition) (Wang Huiliang, Wang Dongfeng, Dong Guanqiang)
- FOUNDRY PROCESS QUALIFICATION GUIDELINES – TECHNOLOGY QUALIFICATION VEHICLE TESTING JEP001-3B
- Real-time driver monitoring system via modal and viewpoint analysis
- Digilent Vivado library
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
- "Goodbye 2019, Hello 2020" + The wind and clouds are free and happy
- The power problem of the series resistance of the atomizer heating wire
- [GD32F310 Review] Interrupt test and GPIO usage
- As a newcomer, I don't seem to be qualified to make suggestions, but I still want to make a small suggestion!
- CMS32F033SS24 wireless charging and security chip
- The DTK28335 experimental box chip is very hot
- Have you ever used a fast charger using gallium nitride (GaN) technology?
- [HPM-DIY] HPM6750 peripheral LCDC driver RGB screen high frame rate video playback
- Xunwei IMX6 development board AndroidStudio-ledtest small light_test
- Help analyze this boost circuit