Свежие обсуждения
Микроконтроллеры

Ликбез по С для микроконтроллеров PIC

1 25 64

electric: while(1==1)
Тут можно и попроще
while(1)

 

спасибо. а все таки здесь кто нибудь знает как в хайтековском компиляторе сделать отдельно на ножке 1 или 0. а так же как написать чтоб по одной ножке ставить на ввод или вывод. И еще кое что. как мне на С сделать таблицу. ну типа той которую мы на асме делали?

 

#define LEDR RC0
#define LEDG RC1

LEDG = 0;
LEDR = 1;

или вообще так

RC0 = 1;
RC1 = 0;

направления:

TRISA = 0x00;
TRISB = 0x00;
TRISC = 0x00;

установка портов

PORTA = 0x00;
PORTB = 0x00;
PORTC = 0xF8;

 

Огромное спасибо! а вот вы писали направления портов 0х00 так. а как отдельно ? не затрагивая остальные биты изменить?

 

и еще очень важный вопрос - как мне из W перенести байт в другую переменную?

 

как мне из W перенести байт в другую переменную?
как изменить направления портов отдельно ? не затрагивая остальные биты изменить? по битам

 

Al-x: PORTA = 0x00;
Это очень просто.
Напр. установить бит D2 PORTA

PORTA |= 0x04;

Сбросить бит D2 PORTA

PORTA &= 0xfb;

Инвертировать бит D2 PORTA

PORTA ^= 0x04;

Правда, не могу гарантировать что это на хитековском компиляторе
будет работать, т.к. им не пользуюсь, но это стандартная практика на языке С.

 

а как сделать так как на асме делалось:
bsf TRISB,2
bcf TRISC,5
и т.д

 

а я когда незнаю как сделать..так и вставляю куски на асме...
и не парюсь с разборкой работы компилятора

 

Смотри в ICQ Я там тебе исходничек с примером прислал