Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 25.11.2011, 11:24  
DK
Почётный гражданин KAZUS.RU
 
Аватар для DK
 
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,530
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
DK на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Как переключить режим ножки PICа, обращаясь по имени? То бишь есть нога, скажем PIN_A0. Настроена на ввод. Оно же обозвано ASDF. Как этот ASDF переключить на вывод? Наверняка можно просто тупо в какой-нить регистр записать в разряд 0 или 1. Вопрос в том, как ВЫЧИСЛИТЬ этот адрес и разряд?
Реклама:
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
DK вне форума  
Непрочитано 25.11.2011, 12:20  
Eddy71
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,700
Сказал спасибо: 5,497
Сказали Спасибо 25,123 раз(а) в 5,641 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Очень просто:

x=input(ASDF) ; //настроит ножку на ввод и считает состояние в x

output_high(pin) //настроит на выход и запишет 1
output_low(pin) //настроит на выход и запишет 0
output_float(pin) //настроит на вход

Всё это верно если используется
#USE STANDARD_IO(port)
Eddy71 вне форума  
Сказали "Спасибо" Eddy71
DK (25.11.2011)
Непрочитано 25.11.2011, 13:13  
DK
Почётный гражданин KAZUS.RU
 
Аватар для DK
 
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,530
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
DK на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

а я уже в дебри #byte и прочего полез И ничего там не понял

В С18 есть просто TRISAbits.TRISA0
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
DK вне форума  
Непрочитано 26.11.2011, 03:21  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Сообщение от DK Посмотреть сообщение
а я уже в дебри #byte и прочего полез И ничего там не понял

В С18 есть просто TRISAbits.TRISA0
http://www.microchip.su/showthread.p...&highlight=CCS
__________________
Глаза боятся,а руки делают.
CERGEI1982 вне форума  
Непрочитано 27.12.2011, 01:15  
ZoomerJuk
Временная регистрация
 
Регистрация: 12.09.2008
Сообщений: 61
Сказал спасибо: 20
Сказали Спасибо 7 раз(а) в 5 сообщении(ях)
ZoomerJuk на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

парни, тут вопрос возник, насколько оптимальный код делает компилятор...
посмотрел листинг, я в ступоре... поясните, что за кашу он делает в строках 0051-005D, почему команду output_high(pin_a0); он переводит как 4 на ассемблере (строки 61-64)?
PHP код:
.................... void main() 
.................... { 
0047:  CLRF   04 FSR
0048
:  MOVLW  1F 
0049
:  ANDWF  03,;ststus 00011111
004A
:  MOVLW  07
004B
:  MOVWF  19   ;cmcon 00000111
....................  
.................... 
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_64|RTCC_8_bit  );      //16.3 ms overflow 
004C:  BSF    03.5
004D
:  MOVF   01,W
004E
:  ANDLW  C0 
004F
:  IORLW  05
0050
:  MOVWF  01 ;tmr0 11000101
.................... setup_comparator(NC_NC); 
0051:  MOVLW  07
0052
:  BCF    03.5
0053
:  MOVWF  19  ;cmcon 00000111
0054
:  BSF    03.5
0055
:  MOVF   05,W
0056
:  MOVWF  05
0057
:  MOVLW  03
0058
:  BCF    03.5
0059
:  MOVWF  20
005A
:  DECFSZ 20,F
005B
:  GOTO   05A
005C
:  MOVF   19,W
005D
:  BCF    0C.3
....................  
.................... 
enable_interrupts(INT_RTCC); 
005E:  BSF    0B.5
.................... enable_interrupts(GLOBAL); 
005F:  MOVLW  C0
0060
:  IORWF  0B,F
....................  
.................... while(
1
.................... { 
.................... 
output_high(pin_a0); 
0061:  BSF    03.5
0062
:  BCF    05.0
0063
:  BCF    03.5
0064
:  BSF    05.0
.................... } 
0065:  GOTO   061
.................... } 
ZoomerJuk вне форума  
Непрочитано 27.12.2011, 01:30  
Eddy71
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,700
Сказал спасибо: 5,497
Сказали Спасибо 25,123 раз(а) в 5,641 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Чтобы это понять, советую полистать юзер мануал в той части, где работа с портами описывается и влияние разных опций #use_ на результат компиляции.
Eddy71 вне форума  
Сказали "Спасибо" Eddy71
ZoomerJuk (27.12.2011)
Непрочитано 27.12.2011, 01:56  
ZoomerJuk
Временная регистрация
 
Регистрация: 12.09.2008
Сообщений: 61
Сказал спасибо: 20
Сказали Спасибо 7 раз(а) в 5 сообщении(ях)
ZoomerJuk на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Eddy71, спасибо! Применил #USE FAST_IO, стало так:

PHP код:

.................... 
output_high(pin_a0); 
005E:  BSF    05.0
.................... } 
а как быть со строками 0051-005D? не могу понять, зачем компилятор их приписал...
ZoomerJuk вне форума  
Непрочитано 27.12.2011, 17:32  
Eddy71
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,700
Сказал спасибо: 5,497
Сказали Спасибо 25,123 раз(а) в 5,641 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

На всякий случай, чтобы ноги (если они использовались по альтернативным функциям) точно выполнили то, что от них ждут.
Eddy71 вне форума  
Непрочитано 27.12.2011, 18:21  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Сообщение от DK Посмотреть сообщение
Как переключить режим ножки PICа, обращаясь по имени? То бишь есть нога, скажем PIN_A0. Настроена на ввод. Оно же обозвано ASDF. Как этот ASDF переключить на вывод? Наверняка можно просто тупо в какой-нить регистр записать в разряд 0 или 1. Вопрос в том, как ВЫЧИСЛИТЬ этот адрес и разряд?
Есть еще вариант , но так же как и встроенные функции типа out_put .input , являются особенностью CCS и отводят от стандарта.
Привыкните на другом компиляторе может и не быть их.
Ну да ладно .
Код:
#byte Port_A = 0x05
#byte Tris_A  =0x85
#bit   Led1 =Port_A.0
#bit   Led2 =Port_A.1
//
//
      Tris_A=0;
      Led1=1;
      Led2=0;
__________________
Осторожно , злой кот
dosikus вне форума  
Сказали "Спасибо" dosikus
DK (27.12.2011)
Непрочитано 27.12.2011, 18:29  
DK
Почётный гражданин KAZUS.RU
 
Аватар для DK
 
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,530
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
DK на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

dosikus, ты - гений!!!
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
DK вне форума  
 

Закладки
Опции темы

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
i2c+ccs pic Gladkih Микроконтроллеры, АЦП, память и т.д 9 18.04.2016 22:17
PIC BASIC PRO Compiler 2.47 dosikus Proteus, KiCAD и другие ECAD 27 05.12.2009 05:48
изучение IAR AVR C compiler granel Микроконтроллеры, АЦП, память и т.д 0 10.10.2008 20:45
PIC C Compiler PCWH458 sergxxx Микроконтроллеры, АЦП, память и т.д 9 23.09.2008 18:25
Не включается дебаггер в CCS C Compiler BigMazzi Микроконтроллеры, АЦП, память и т.д 4 19.09.2008 13:34


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot