[an error occurred while processing this directive]
и того получается так [+]
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Крупская 25 июля 2006 г. 13:45
В ответ на: отправляете 7 байт по 8 бит вот и весь трах отправлено Крупская 25 июля 2006 г. 13:40


#define DF_OUT_REG PORTB
#define DF_IN_REG PINB
#define DF_CS PB1
#define DF_DATAOUT_PIN PB6
#define DF_CLOCK_PIN PB7
#define DF_DATAIN_PIN PB5

#define SETBIT(p,n) (p|=BIT(n))
#define CLRBIT(p,n) (p&=~BIT(n))
#define TSTBIT(p,n) (p&BIT(n))

unsigned char spi_put (unsigned char send)
{
unsigned char i = 0x80, rx = 0;

while (i)
{
if (send & i) SETBIT (DF_OUT_REG, DF_DATAOUT_PIN); else CLRBIT (DF_OUT_REG, DF_DATAOUT_PIN); //Set logic level
if (DF_IN_REG & (1 << DF_DATAIN_PIN)) rx |= i;
SETBIT (DF_OUT_REG, DF_CLOCK_PIN);// Rising strobe
__delay_cycles(2);
CLRBIT (DF_OUT_REG, DF_CLOCK_PIN); //Falling strobe
i >>= 1;
}

пример работы
SETBIT (CE_OUT_REG, CE_PIN); //Установить пин CE в "1"
spi_put(0xA0); //Отправка битов 0...7
spi_put(0x34); //Отправка битов 8...15
spi_put(0x23); //Отправка битов 16...23
spi_put(0x12); //Отправка битов 24...31
spi_put(0x08); //Отправка битов 32...39
spi_put(0x90); //Отправка битов 40...47
spi_put(0x34); //Отправка битов 48...55
CLRBIT (CE_OUT_REG, CE_PIN); //Установить пин CE в "0"



Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание