Технический форум
Вернуться   Технический форум > Электроника, самоделки и техника > Форум по электронике > Микропроцессоры


Ответ
 
Опции темы Опции просмотра
Старый 29.03.2015, 21:40   #1 (permalink)
MiniBizon
Member
 
Регистрация: 12.02.2014
Сообщений: 332
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
Репутация: 675
По умолчанию Команда mega8.h

Добрый день.
Я так понимаю, если в программе поставить такую ссылку
#include <mega8.h>, то можно обращаться к портам так:
PORTA.4 = 1;. Сейчас я это делаю так: PORTA |= (1<<4);.

Поставил Атмель студию 6, но в ней нет такой библиотеки, копнул в сети, что то поставил, но не работает пока. Буду копать дальше, но может быть здесь меня наставят на путь истинный быстрее. Заранее спасибо.
MiniBizon вне форума   Ответить с цитированием

Старый 29.03.2015, 21:40
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Рекомендую обратить внимание на данные топики, в них могут быть полезные ответы

Команда технарей прощается...
Команда технарей "Без галстуков"
IRC: команда для открытия чата с нужным человеком.
Считывание текстового файла команда: Windows Type
Команда для запуска восстановления системы в Win XP
Команда Русские Оверы выиграла весенний этап Total OverClock

Старый 29.03.2015, 22:01   #2 (permalink)
XELFAER
Member
 
Аватар для XELFAER
 
Регистрация: 22.07.2012
Сообщений: 393
Записей в дневнике: 2
Сказал(а) спасибо: 95
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 5501
По умолчанию

Указанная библиотека используется в CodeVisionAVR. Способ написания (PORTA.4 = 1;) специфичный для данной среды разработки. Вот этот способ написания PORTA |= (1<<4);. более универсален.
XELFAER вне форума   Ответить с цитированием
Старый 29.03.2015, 22:17   #3 (permalink)
MiniBizon
Member
 
Регистрация: 12.02.2014
Сообщений: 332
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
Репутация: 675
По умолчанию

Спасибо, уже понял.
PORTA |= (1<<4); конечно универсальный способ, но мне немного неуютно читать такой код, да и набирать каждый раз так, раздражает. Буду пробовать через макросы.

Пока не прощаюсь.
MiniBizon вне форума   Ответить с цитированием
Старый 29.03.2015, 23:48   #4 (permalink)
MiniBizon
Member
 
Регистрация: 12.02.2014
Сообщений: 332
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
Репутация: 675
По умолчанию

#define A(b,d) (d) > 0 ? (PORTA |= (1<<b)) : (PORTA &=~ (1<<b))

A(3,1);

Как то так. Может есть лучше варианты?
MiniBizon вне форума   Ответить с цитированием
Старый 31.03.2015, 12:38   #5 (permalink)
XELFAER
Member
 
Аватар для XELFAER
 
Регистрация: 22.07.2012
Сообщений: 393
Записей в дневнике: 2
Сказал(а) спасибо: 95
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 5501
По умолчанию

Если честно, мне пока не приходилось пользоваться для этого макросами. Для читабельности все таки использование написания PORTA |= (1<<4); более удобно, особенно если код читает/изменяет другой человек.
XELFAER вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 01.04.2015, 00:16   #6 (permalink)
MiniBizon
Member
 
Регистрация: 12.02.2014
Сообщений: 332
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
Репутация: 675
По умолчанию

DDRA &=~ (1<<4) ;
PORTA |= (1<<4);
заменил на
DA(4,0);
PA(4,1);
все это лежит в библиотеке io.h ,
для 3их лиц вставлю комментарий, если что;
два дня пробую на вкус, пока только положительные эмоции
MiniBizon вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 16:37.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.