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

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

Отправлено ETM 25 июля 2006 г. 13:59
В ответ на: програмная реализация spi отправлено Ww 25 июля 2006 г. 11:00

typedef unsigned char byte;

#define SETBIT(ADDRESS,BIT) (ADDRESS |= (1<<(BIT)))
#define CLRBIT(ADDRESS,BIT) (ADDRESS &= ~(1<<(BIT)))
#define TSTBIT(ADDRESS,BIT) (ADDRESS & (1<<(BIT)))

#define PORT_SCK (...)
#define PORT_MOSI (...)
#define PORT_MISO (...)

#define PIN_SCK ...
#define PIN_MOSI ...
#define PIN_MISO ...


void Send_And_Receive_Byte_By_SPI(byte *data)
{
byte out=*data;
byte in=0;
byte inTMP;
byte it;
for(it=0;it<8;it++){
/* SET DATA MOSI.................... */
if(TSTBIT(out,7)){
SET_PIN(PORT_MOSI,PIN_MOSI);
} else {
CLR_PIN(PORT_MOSI,PIN_MOSI);
}
/* SET STROB SCK.................... */
SET_PIN(PORT_SCK,PIN_SCK);
/* GET DATA MISO.................... */
inTMP=GET_PORT_DATA(PORT_MISO);
if(TSTBIT(inTMP,PIN_MISO)){
SETBIT(in,0);
}
/* ................................. */
CLR_PIN(PORT_SCK,PIN_SCK);
/* ................................. */
out<<=1;
if(it!=7)in<<=1;
}

*data=in; // return Receiving data
}

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

Ответы


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

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

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

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

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


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