123
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 3 из 6«123456»
Модератор форума: nightmare, Huntswarrior, Aleks_Crow 
Форум » Программирование микроконтроллеров AVR, PIC » Вопросы по програмированию » Помогите разобраться ! (Объясните что и как...)
Помогите разобраться !
Отправлено 31.05.2010 - 17:0531
Начальная группа
1798 сообщений
Мужчина
Quote

static - применяется если переменная локальная т.е. объявлена в какой либо функции после скобки "{"
и должна сохранять свое значение до следующего вызова этой функции.

То, что ты написал нужно только в случаях, когда требуется сохраняить значение до следующего вызова функции, в большинстве задач нужно наоборот.
А как объявить переменную abc типа char и чтобы она лежала в eeprom и принимала только положительные значения?


Профиль Личное сообщение Дом. страница icq Skype
37
Администраторы
3318 сообщений
Мужчина
eeprom usingned char abc happy


Только дурак нуждается в порядке-гений господствует над хаосом...
Онлайн ЧАТ по робототехнике ! Заходи и общайся без регистрации =)
Профиль Личное сообщение Дом. страница icq Skype
31
Отправлено 31.05.2010 - 17:0833
Начальная группа
1798 сообщений
Мужчина
Зачёт biggrin


Профиль Личное сообщение Дом. страница icq Skype
37
Администраторы
3318 сообщений
Мужчина
забыл в конце ; (!) sad

Добавлено (31.05.2010, 17:09)
---------------------------------------------
Еще что-нибуть такого рода спроси, пока прет biggrin



Только дурак нуждается в порядке-гений господствует над хаосом...
Онлайн ЧАТ по робототехнике ! Заходи и общайся без регистрации =)
Профиль Личное сообщение Дом. страница icq Skype
31
Отправлено 31.05.2010 - 17:1435
Начальная группа
1798 сообщений
Мужчина
Я алгебру буду решать, лучше пока прогу напиши, которую хотел.


Профиль Личное сообщение Дом. страница icq Skype
37
Администраторы
3318 сообщений
Мужчина
Поздравте меня еще раз ! -я научился моргать светодиодом tongue
Вот программка, а кто догадается для чего она, скажу "Молодец" smile

Код:

Code
#include <mega32.h>
#include <delay.h>

void main(void)
{

// Port B initialization
// FFunc3=In  
// State3=P  
PORTB=0x00;
DDRB=0x08;

while (1)
       {
        
       // 1
       PORTB.3=1;
       delay_ms(300);
       PORTB.3=0;
       delay_ms(300);
       // 2
       PORTB.3=1;
       delay_ms(300);
       PORTB.3=0;
       delay_ms(300);
       // 3      
       PORTB.3=1;
       delay_ms(300);
       PORTB.3=0;
       delay_ms(300);
       // 1-
       PORTB.3=1;
       delay_ms(600);
       PORTB.3=0;
       delay_ms(600);  
       // 1-
       PORTB.3=1;
       delay_ms(600);
       PORTB.3=0;
       delay_ms(600);
       // 1-
       PORTB.3=1;
       delay_ms(600);
       PORTB.3=0;
       delay_ms(600);
       // 1
       PORTB.3=1;
       delay_ms(300);
       PORTB.3=0;
       delay_ms(300);
       // 2
       PORTB.3=1;
       delay_ms(300);
       PORTB.3=0;
       delay_ms(300);
       // 3
       PORTB.3=1;
       delay_ms(300);
       PORTB.3=0;
       delay_ms(1000);
        
       };
}

Видеоролик:



Только дурак нуждается в порядке-гений господствует над хаосом...
Онлайн ЧАТ по робототехнике ! Заходи и общайся без регистрации =)
Профиль Личное сообщение Дом. страница icq Skype
31
Отправлено 31.05.2010 - 21:0737
Начальная группа
1798 сообщений
Мужчина


Профиль Личное сообщение Дом. страница icq Skype
37
Администраторы
3318 сообщений
Мужчина
1.

2.

3.

Добавлено (31.05.2010, 22:55)
---------------------------------------------
Че, значит никто не догадался все-таки. sad Этот светодиод мигает по азбуке морзе: SOS : . . . _ _ _ . . .

Добавлено (01.06.2010, 00:20)
---------------------------------------------
Щас изучал по какому принципу пишется такая запись "PORTx=0x00. Вроде доперло wacko



Только дурак нуждается в порядке-гений господствует над хаосом...
Онлайн ЧАТ по робототехнике ! Заходи и общайся без регистрации =)
Профиль Личное сообщение Дом. страница icq Skype
31
Отправлено 01.06.2010 - 09:1739
Начальная группа
1798 сообщений
Мужчина
Это регистр такой PORTX
Например если он восьмибитный и записываем в него 0b00000110, то на ногах PB1,PB2 будет логич. еденица.


Профиль Личное сообщение Дом. страница icq Skype
37
Администраторы
3318 сообщений
Мужчина
Ага, до меня вчера дошло все как их выставлять.
Например такая запись:
PORTx=0b00100011
1. Считаем регистры(это ножки мк) с права на лево, начиная с 0, 1, 2, 3, 4, 5, 6, 7
2. Смотрим где стоят 1(конфигурируем порты на выход) или 0 (конфигурируем порты на вход). Получается порты, сконфигурированные на фход это: PORTx.2; PORTx.3; PORTx.4; PORTX.6; PORTX.7. Порты, сконфигурированные на выход это: PORTx.0; PORTx.1; PORTx.5.
3. Запись 0b00100011 можно записать так: 0x23

Quote (nightmare)
Например если он восьмибитный и записываем в него 0b00000110, то на ногах PB1,PB2 будет логич. еденица.

-поправочка: то на ногах Pх1,Pх2 будет логич. еденица smile


Только дурак нуждается в порядке-гений господствует над хаосом...
Онлайн ЧАТ по робототехнике ! Заходи и общайся без регистрации =)
Профиль Личное сообщение Дом. страница icq Skype
31
Отправлено 01.06.2010 - 10:5441
Начальная группа
1798 сообщений
Мужчина
Ага, точно, а я чет себе порт В представил.
Quote
2. Смотрим где стоят 1(конфигурируем порты на выход) или 0 (конфигурируем порты на вход). Получается порты, сконфигурированные на фход это: PORTx.2; PORTx.3; PORTx.4; PORTX.6; PORTX.7. Порты, сконфигурированные на выход это: PORTx.0; PORTx.1; PORTx.5.

Направление задает другой регистр DDRX, поэтому не будут они сконфишурированы как вход.


Профиль Личное сообщение Дом. страница icq Skype
37
Администраторы
3318 сообщений
Мужчина
Ой smile


Только дурак нуждается в порядке-гений господствует над хаосом...
Онлайн ЧАТ по робототехнике ! Заходи и общайся без регистрации =)
Профиль Личное сообщение Дом. страница icq Skype
31
Отправлено 01.06.2010 - 11:0343
Начальная группа
1798 сообщений
Мужчина
DDRX.1 = 1; //конфигурируем как выход
PORTX.1= 1; ..устанавливаем на выходе 1

DDRX.1 =0; //конфигурируем как вход
PORTX.1 = 0; //с высоким входным сопротивлением

DDRX.1=0; //конфигурируем как вход
PORTX.1 =1; //и подключаем ко входу внутренние резисторы на ~56k, подключенные к +, т.е. если прочитать первый бит из регистра PINX то он будет 1
В последнем случае удобно подключать кнопку к порту и к "-". Когда кнопка нажата бит PINX.1 ==0



Профиль Личное сообщение Дом. страница icq Skype
37
Администраторы
3318 сообщений
Мужчина
Quote (nightmare)
DDRX.1=0; //конфигурируем как вход PORTX.1 =1; //и подключаем ко входу внутренние резисторы на ~56k, подключенные к +, т.е. если прочитать первый бит из регистра PINX то он будет 1 В последнем случае удобно подключать кнопку к порту и к "-". Когда кнопка нажата бит PINX.1 ==0

- я вот собирался с кноакой по экспериментировать wink


Только дурак нуждается в порядке-гений господствует над хаосом...
Онлайн ЧАТ по робототехнике ! Заходи и общайся без регистрации =)
Профиль Личное сообщение Дом. страница icq Skype
31
Отправлено 01.06.2010 - 12:0545
Начальная группа
1798 сообщений
Мужчина
Держи пример.
Ну че, работает кнопка? smile


Профиль Личное сообщение Дом. страница icq Skype
37
Форум » Программирование микроконтроллеров AVR, PIC » Вопросы по програмированию » Помогите разобраться ! (Объясните что и как...)
Страница 3 из 6«123456»
Поиск: