реклама на сайте
подробности

 
 
> как отправить 1 байт в вывод порта в VinAvr&
scme
сообщение Nov 18 2013, 12:20
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 31-03-11
Пользователь №: 64 038



Всем добрый день.
Не подскажет ли кто как отправить байт в вывод порта в VinAVR?
есть программа в CodeVision AVR:

Код
#define IN PORTA.7;
#define CLOCK PORTA.6;
#define BYTES 6;
unsigned char chars[BYTES] ={0,0,0,0,0,0,};

void push_byte(unsigned char _byte){ //Отправить 1 байт в SERIAL_IN
unsigned char j;
for(j=0;j<8;j++){
CLOCK = 0;
IN = 1 & _byte;
_byte = _byte>>1;
CLOCK = 1;
}
}

Нужно сделать то самое , но в VINAVR?
c CLOCK я разобрался, делаю PORTA &= ~(_BV(PA6)) (0), PORTA |= _BV(PA6) (1)
а отправить _byte в PORTA.7 не получается.

С уважением ТОМ

Сообщение отредактировал IgorKossak - Nov 18 2013, 15:55
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!


--------------------
ТОМ
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
smalcom
сообщение Nov 18 2013, 17:12
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



>> а отправить _byte в PORTA.7 не получается.
ну так там аналогичная ситуация.
Go to the top of the page
 
+Quote Post
ARV
сообщение Nov 19 2013, 08:15
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



Код
void push_byte(unsigned char _byte){ //Отправить 1 байт в SERIAL_IN
   for(uint8_t mask=1;mask;mask <<=1){
      //CLOCK = 0;
     PORTA &= ~_BV(PA6);
     if (_byte & mask)
        PORTA |= _BV(PA7);
     else
        PORTA &= ~_BV(PA7);
      //CLOCK = 1;
      PORTA |= _BV(PA6);
   }
}
вы хоть бы из уважения к разработчикам компилятора правильно написали бы название WinAVR - а то в заголовке темы такой позор


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 08:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01368 секунд с 7
ELECTRONIX ©2004-2016