Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
14.12.2008, 23:11
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
FAQ PIC - два сборника ответов на частые вопросы по PIC12 PIC16 PIC18 и HI-TECH http://avr123.nm.ru/09.htm
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
04.10.2015, 16:40
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,608
Сказал спасибо: 708
Сказали Спасибо 4,364 раз(а) в 2,002 сообщении(ях)
|
Re: HiTech
Кодю для PIC16F1933 компилер HI-TECH (9.71a, 9.80a, 9.83)
у него два конфиг слова. По мануалу компилера допустимы два варианта записи:
__CONFIG(1, data)
__CONFIG(2, data)
или
__CONFIG( data)
__CONFIG( data)
Так вот второе конфигурационное слово ни один компилер не берет ни в каком виде, выдавая ошибку:
:0: error: can't find 0x4 words for psect "config" in segment "CONFIG" (largest unused contiguous range 0x2)
Один конфиг проходит нормально. Инет не помог.
В листинге видно, что в случае одного конфига, он прописывается в оба конфигурационных адреса.
__________________
Я не помогаю. Я провоцирую думать.
Не дай вам Бог плохих контактов.
Последний раз редактировалось Kabron; 04.10.2015 в 17:10.
|
|
|
|
04.10.2015, 18:04
|
|
Прописка
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
|
Re: HiTech
Чет не то...
Вот кусок листинга, версия 9.83, конфиг от балды... Определен HiTech
PHP код:
|
//Functions #define MX_CLK_SPEED 19660800 #ifdef _BOOSTC #include ‹system.h› #endif #ifdef HI_TECH_C #include ‹pic.h› #endif
//Configuration data #ifdef _BOOSTC #pragma DATA 0x8007, 0x3fba #endif #ifdef HI_TECH_C __CONFIG(0x3fba); #endif #ifdef _BOOSTC #pragma DATA 0x8008, 0x3fff #endif #ifdef HI_TECH_C __CONFIG(0x3fff); #endif
|
Все компилируется... Насколько я помню... вариант "__CONFIG(1, data)" для 18 и выше серии...
Последний раз редактировалось mimuh64; 04.10.2015 в 18:08.
|
|
|
|
04.10.2015, 18:11
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,608
Сказал спасибо: 708
Сказали Спасибо 4,364 раз(а) в 2,002 сообщении(ях)
|
Re: HiTech
Сообщение от mimuh64
|
Все компилируется...
|
Дык смотря под какой камень
попробуйте 16F1933
__________________
Я не помогаю. Я провоцирую думать.
Не дай вам Бог плохих контактов.
|
|
|
|
04.10.2015, 18:14
|
|
Прописка
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
|
Re: HiTech
Я прекрасно вижу что нужен был #define P16F1933, именно на нем и пример...
|
|
|
|
04.10.2015, 18:45
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,608
Сказал спасибо: 708
Сказали Спасибо 4,364 раз(а) в 2,002 сообщении(ях)
|
Re: HiTech
В общем разбираться только время тратить, перешел на XC8, в принципе одно и тоже.
Вот почему я полюбил кипарисовский PSoC Creator, можно просто работать, а не тратить 99% времени на настройку "средств" .
__________________
Я не помогаю. Я провоцирую думать.
Не дай вам Бог плохих контактов.
|
|
|
|
04.10.2015, 18:49
|
|
Прописка
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
|
Re: HiTech
Конечно. Каждый выбирает для себя... Ну, раз я зашел, я вот еще подумал, - попробуйте вот так - чисто для интереса... Если есть желание...
CONFIG1(....);
CONFIG2(....);
ЗЫ хотя это наверное чушь...
__CONFIG определяется в pic.h - #include ‹pic.h›
Последний раз редактировалось mimuh64; 04.10.2015 в 19:17.
|
|
|
|
04.10.2015, 20:55
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,608
Сказал спасибо: 708
Сказали Спасибо 4,364 раз(а) в 2,002 сообщении(ях)
|
Re: HiTech
Сообщение от mimuh64
|
Конечно. Каждый выбирает для себя... Ну, раз я зашел, я вот еще подумал, - попробуйте вот так - чисто для интереса... Если есть желание...
CONFIG1(....);
CONFIG2(....);
ЗЫ хотя это наверное чушь...
__CONFIG определяется в pic.h - #include ‹pic.h›
|
Все это пробовалось, смотрелось и находилось, я же говорю, даже если конфиг только один, то он все равно прописывается по обоим адресам 0х8007 и 0х8008. Отсюда и нехватка памяти.
Такое впечатление, что гдето в коде, хедерах и хз где он прописывается еще раз.
В ХС8 все работает.
Только у меня #include htc.h, а в нем уже инклудится pic.h
__________________
Я не помогаю. Я провоцирую думать.
Не дай вам Бог плохих контактов.
Последний раз редактировалось Kabron; 04.10.2015 в 20:59.
|
|
|
|
05.10.2015, 06:00
|
|
Прописка
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
|
Re: HiTech
А так не пробовали? :
Код:
|
//
#include ‹xc8.h› // стандартный заголовок описания
//------------------------------------------------------------------------------
// PIC16F1829
//------------------------------------------------------------------------------
#pragma config FOSC = INTOSC // INTOSC oscillator: I/O function on CLKIN pin
#pragma config WDTE = ON // WDT disabled
#pragma config PWRTE = ON // Таймер задержки включения питания/Power-up Timer Enable
#pragma config MCLRE = ON // MCLR/VPP pin function is digital input
#pragma config CP = ON // Program memory code protection is enabled
#pragma config CPD = ON // Data memory code protection is enabled
#pragma config BOREN = ON // Brown-out Reset enabled/сброс по понижению питания включен
#pragma config CLKOUTEN = OFF // CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin
#pragma config IESO = OFF // Internal/External Switchover mode is disabled
#pragma config FCMEN = OFF // Fail-Safe Clock Monitor is disabled
#pragma config WRT = ALL // 000h to 7FFh write protected, no addresses may be modified by EECON control
#pragma config PLLEN = OFF // 4x PLL enabled
#pragma config STVREN = OFF // Stack Overflow or Underflow will not cause a Reset
#pragma config BORV = HI // Brown-out Reset Voltage (VBOR) set to 2.7V
#pragma config LVP = OFF // High-voltage on MCLR/VPP must be used for programming
... |
Для Вашего МК будет выглядеть аналогичным образом, без необходимости париться по поводу нескольких слов конфигурации. Биты конфигурации, разумеется, нужно указать для целевого МК.
Последний раз редактировалось shindax; 05.10.2015 в 06:12.
|
|
|
|
05.10.2015, 11:48
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,608
Сказал спасибо: 708
Сказали Спасибо 4,364 раз(а) в 2,002 сообщении(ях)
|
Re: HiTech
shindax, именно так я и сделал
__________________
Я не помогаю. Я провоцирую думать.
Не дай вам Бог плохих контактов.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:58.
|
|