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

 
 
> Работа с битами регистров
rekcuf
сообщение Jul 28 2009, 17:43
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 5-10-08
Пользователь №: 40 704



Впервые делаю проект на атмеге8, компилятор IAR.

Что надо сделать, чтобы работать с битами похожим образом:

Код
PORTB.PB1 = 1;
PORTB_PB1 = 0;
PC1 = 0;

if(PORTA.PA0)
...

?

Сейчас работает только один способ:
Код
PORTB |= (1 << PB2);

if((PORTB & (1 << PB2)))
...

Но после компиляторов для микрочипа PICC18 и MCC18 такой способ кажется дикостью и жутко неудобен.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MrYuran
сообщение Jul 28 2009, 18:00
Сообщение #2


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Напишите свои макросы, которые кажутся жутко удобными, либо используйте множество готовых
Я не вижу ничего неудобного в записи
PORTx |= mask
и
PORTx &= ~mask
Если хотите в виде структур - пожалуйста.
Я думаю, в WinAVR можно найти соответствующие h-файлы/
Кстати, компилятор тут вообще ни при чём


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post



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

 


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


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