Доброго времени суток. Пытаюсь заставить связку ATMega8-16PU + MAX7219CNG + Matrix Led 8x8 Red работать.
Подключил все по datasheet'ам. При подаче питания при прошитом и при не прошитом МК горят все светодиоды и ни какой реакции нет вообще.
Собственно, код:
Помогите, гуру!
Раздел: Начинающим
Подключил все по datasheet'ам. При подаче питания при прошитом и при не прошитом МК горят все светодиоды и ни какой реакции нет вообще.
Собственно, код:
#define F_CPU 1000000UL
#include <avr/io.h>
#include <avr/delay.h>
void SPI_MasterTransmit(unsigned char cData,unsigned char bData)
{
PORTB &= ~(1 << PB2);
SPDR = cData;
while(!(SPSR & (1<<SPIF)));
SPDR = bData;
while(!(SPSR & (1<<SPIF)));
PORTB |= 1 << PB2;
}
void main(void)
{
PORTB = 0x00;
DDRB = (1 << PB2) | (1 << PB3) | (1 << PB5);
SPCR = (1 << SPE) | (1 << MSTR)| (1 << SPR0);
PORTB |= (1 << PB2);
//инициализация max7219
SPI_MasterTransmit(0x0C,0x01); //
SPI_MasterTransmit(0x0A,0x0F); //
SPI_MasterTransmit(0x0B,0x07); //
SPI_MasterTransmit(0x09,0x00); //
SPI_MasterTransmit(0x0F,0x00); //
//вывожу смайлик
SPI_MasterTransmit(0x01,0b00111100);
SPI_MasterTransmit(0x02,0b01000010);
SPI_MasterTransmit(0x03,0b10100101);
SPI_MasterTransmit(0x04,0b10000001);
SPI_MasterTransmit(0x05,0b10100101);
SPI_MasterTransmit(0x06,0b10011001);
SPI_MasterTransmit(0x07,0b01000010);
SPI_MasterTransmit(0x08,0b00111100);
while (1)
{
};
}
Помогите, гуру!
Раздел: Начинающим