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

 
 
> Не могу получить бит PORTX.Y
Артем Бум
сообщение May 27 2008, 08:16
Сообщение #1





Группа: Новичок
Сообщений: 11
Регистрация: 27-05-08
Пользователь №: 37 836



Следующий код:
Код
#include <avr/io.h>

int main (void)
{
    DDRA = 0x00; // Настройка порта A для ввода

32:    if(PORTA.1 == 1){
        DDRA = 0xFF; // Настройка порта A для вывода
        PORTA = 0;
35:        PORTA.2 = 1;
    }
}


выдаёт ошибку

Код
SOS.c: In function 'main':
SOS.c:32: error: expected ')' before numeric constant
SOS.c:35: error: expected ';' before numeric constant
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Артем Бум
сообщение May 27 2008, 08:48
Сообщение #2





Группа: Новичок
Сообщений: 11
Регистрация: 27-05-08
Пользователь №: 37 836



Такая форма записи доступа к биту описана в книге:
Шпак Ю.А. Программирование на языке С для AVR и PIC микроконтроллеров. МК-Пресс, Киев, 2006.djvu

среди операторов языка С.

Компилирую WinAVR.

Данный способ мне кажется более ясным для восприятия, пусть и не переносимым.

Не подскажете какие хеадеры нужно подключать и где?
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение May 27 2008, 08:54
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



Цитата(Артем Бум @ May 27 2008, 12:48) *
Такая форма записи доступа к биту описана в книге:
Шпак Ю.А. Программирование на языке С для AVR и PIC микроконтроллеров. МК-Пресс, Киев, 2006.djvu

среди операторов языка С.

Компилирую WinAVR.

Данный способ мне кажется более ясным для восприятия, пусть и не переносимым.

Не подскажете какие хеадеры нужно подключать и где?


Это у вас видимо привычка с MCS51 осталась, но в AVR нет прямой битовой адресации, поэтому рекомендации использовать макросы, которые Вы в состоянии написать сами, будет более правильно и не менее понятным для восприятия.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Артем Бум   Не могу получить бит PORTX.Y   May 27 2008, 08:16
- - uriy   Хоть бы написали что за компилятор. Если IAR то та...   May 27 2008, 08:28
- - GDI   А где такая форма записи доступа к биту описана? Х...   May 27 2008, 08:28
- - MrYuran   Цитатаif(PINA && 0x01) {} Возможно я что-т...   May 27 2008, 08:36
|- - MrYuran   Цитата(Артем Бум @ May 27 2008, 11:48) Ко...   May 27 2008, 09:02
|- - Nick_Shl   Цитата(MrYuran @ May 27 2008, 12:02) А мн...   May 27 2008, 09:46
|- - XVR   Цитата(Nick_Shl @ May 27 2008, 13:46) А м...   May 28 2008, 07:22
- - uriy   Хидер можно оставить тот же самый. А вот тут я дей...   May 27 2008, 08:57
- - Артем Бум   Код#include <avr/io.h> #define PINA.1 ...   May 27 2008, 11:04
- - MrYuran   не поленитесь, найдите файл io.h и хотя бы бегло е...   May 27 2008, 11:15
- - Barni   Может лучше не PORTA.1, а PINA.1, я так понимаю на...   May 27 2008, 16:06
- - Артем Бум   это работает Код#include <avr/io.h> int c...   May 28 2008, 06:06
|- - Палыч   Цитата(Артем Бум @ May 28 2008, 09:06) эт...   May 28 2008, 06:57
- - GDI   Кстати PINA.1 будет (PINA & 0x02), нумерация б...   May 28 2008, 06:54


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

 


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


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