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

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

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

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

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

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


 
Опции темы
Непрочитано 29.04.2010, 23:32  
Dtolok
Гражданин KAZUS.RU
 
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
Dtolok на пути к лучшему
По умолчанию Re: Осваиваем PIC24

так что кварц сконфигурировать надо программно ?
Реклама:
Dtolok вне форума  
Непрочитано 29.04.2010, 23:43  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Осваиваем PIC24

Сообщение от Dtolok Посмотреть сообщение
так что кварц сконфигурировать надо программно ?
Угу , пример на ASM30 :
PHP код:
.include "p24hj256gp610.inc"
  
.equiv rgb_port,LATD    define RGB output port here
  
.equiv vsync_port,LATD define VSYNC port...
  .
equiv vsync_bit,8    ; ...and bit at VSYNC port here
  
.equiv kbd_port,PORTF    define KBD Clock and Data port...
  .
equiv kbd_clk,4    ; ...and Clock input port bit...
  .
equiv kbd_data,5    ; ...and Data input port bit
  
.equiv oc_byte,IFS2
  
.equiv oc_bit,0x000C    OC8IF
    config __FBS
,    RBS_NO_RAM   BSS_NO_FLASH  BWRP_WRPROTECT_OFF
    config __FSS
,    RSS_NO_RAM   SSS_NO_FLASH  SWRP_WRPROTECT_OFF
    config __FGS
,    GSS_OFF      GCP_OFF       GWRP_OFF
    config __FOSCSEL
,    FNOSC_PRIPLL IESO_OFF
    config __FOSC
,    FCKSM_CSDCMD OSCIOFNC_OFF  POSCMD_XT
    config __FWDT
,    FWDTEN_OFF   WINDIS_OFF
    config __FPOR
,    FPWRT_PWR128
    config __FICD
,    JTAGEN_OFF   ICS_PGD1 
---------cut------------
PHP код:
                    ; --- oscilator -----------------------
    
mov    #0b0000000000000000,w0    ; XT 4 MHz
    
mov    w0,CLKDIV        XT 4 MHz
    mov    
#80,w0            ; XT 4 MHz
    
mov    w0,PLLFBD        XT 4 MHz Feedback Divider
;    mov    #0b0000000000000100,w0    ; FRC 7.37 MHz
;    mov    w0,CLKDIV        FRC 7.37 MHz
;    mov    #130,w0            ; FRC 7.37 MHz
;    mov    w0,PLLFBD        FRC 7.37 MHz Feedback Divider 
__________________
Осторожно , злой кот
dosikus вне форума  
Сказали "Спасибо" dosikus
Dtolok (30.04.2010)
Непрочитано 30.04.2010, 10:04  
DL36
Вид на жительство
 
Регистрация: 06.10.2006
Сообщений: 329
Сказал спасибо: 4
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
DL36 на пути к лучшему
По умолчанию Re: Осваиваем PIC24

Сообщение от Dtolok Посмотреть сообщение
так что кварц сконфигурировать надо программно ?
Можно и так
Код:
          IESO_OFF          // Two Speed Start-up:Disabled
          & FNOSC_PRI       // Primary oscillator (XT, HS, EC)
          & FCKSM_CSDCMD    // Clock switching and clock monitor: 
          & OSCIOFNC_OFF    // OSCO/RC15 function:
          & IOL1WAY_OFF     // Однократная запись настройки выводов периферии 
          & I2C1SEL_SEC     // 
          & POSCMOD_HS      // Включение HS генератора
DL36 вне форума  
Сказали "Спасибо" DL36
Dtolok (30.04.2010)
Непрочитано 30.04.2010, 10:06  
DL36
Вид на жительство
 
Регистрация: 06.10.2006
Сообщений: 329
Сказал спасибо: 4
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
DL36 на пути к лучшему
По умолчанию Re: Осваиваем PIC24

Сообщение от dosikus Посмотреть сообщение
Угу , пример на ASM30 :

PHP код:
                    ; --- oscilator -----------------------
    
mov    #0b0000000000000000,w0    ; XT 4 MHz
    
mov    w0,CLKDIV        XT 4 MHz
    mov    
#80,w0            ; XT 4 MHz
    
mov    w0,PLLFBD        XT 4 MHz Feedback Divider
;    mov    #0b0000000000000100,w0    ; FRC 7.37 MHz
;    mov    w0,CLKDIV        FRC 7.37 MHz
;    mov    #130,w0            ; FRC 7.37 MHz
;    mov    w0,PLLFBD        FRC 7.37 MHz Feedback Divider 
У С30 есть встроенные функции, для переключения генераторов используются такие
Код:
   __builtin_write_OSCCONH(0x02);       // Выполнение разблокирующей процедуры и переключение на кварцевый
   __builtin_write_OSCCONL(0x01);       // Запуск процедуры переключения
DL36 вне форума  
Сказали "Спасибо" DL36
Dtolok (30.04.2010)
Непрочитано 30.04.2010, 22:12  
Dtolok
Гражданин KAZUS.RU
 
Регистрация: 28.11.2007
Адрес: харьков
Сообщений: 850
Сказал спасибо: 339
Сказали Спасибо 43 раз(а) в 23 сообщении(ях)
Dtolok на пути к лучшему
По умолчанию Re: Осваиваем PIC24

ну ваще в восторге!! микробасик через пиккит2 при компиляции сразу программу на автомате в пик24
Dtolok вне форума  
Непрочитано 30.04.2010, 22:15  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Осваиваем PIC24

Сообщение от Dtolok Посмотреть сообщение
ну ваще в восторге!! микробасик через пиккит2 при компиляции сразу программу на автомате в пик24
В MPLAB так же . Если настроишь...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 30.04.2010, 22:49  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Осваиваем PIC24

Еще советую объявлять не маскируемые прерывания (trap). Особенно на этапе отладки, да и вообще всегда. Чтобы при возникновении исключения не происходил "вводящий в ступор" сброс (во время работы отладчика), а переход по нужному вектору.
Код:
//Trap
void __attribute__((interrupt,no_auto_psv)) _OscillatorFail(void)
{
     INTCON1bits.OSCFAIL = 0;
     //сигнал о возникновении
     LATxbits.LATxx = 1; //светодиод
     while(1);
}

void __attribute__((interrupt,no_auto_psv)) _AddressError(void)
{
     INTCON1bits.ADDRERR = 0;
     //сигнал о возникновении
     LATxbits.LATxx = 1; //светодиод
     while(1);
}

void __attribute__((interrupt,no_auto_psv)) _StackError(void)
{
     INTCON1bits.STKERR = 0;
     //сигнал о возникновении
     LATxbits.LATxx = 1; //светодиод
     while(1);
}

void __attribute__((interrupt,no_auto_psv)) _MathError(void)
{
     INTCON1bits.MATHERR = 0;
     //сигнал о возникновении
     LATxbits.LATxx = 1; //светодиод
     while(1);
}
realid вне форума  
Сказали "Спасибо" realid
kuksin (07.01.2011)
Непрочитано 30.04.2010, 23:07  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Осваиваем PIC24

Насчёт "да и вообще всегда" надобно,ИМХО, аккуратнее в объяснениях. Какой смысл в том, что проц по сбою засядет в вечном цикле? А некоторые, по неопытности, могут принять это за чистую монету.
st_1 вне форума  
Непрочитано 30.04.2010, 23:12  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Осваиваем PIC24

Сообщение от st_1 Посмотреть сообщение
Насчёт "да и вообще всегда" надобно,ИМХО, аккуратнее в объяснениях. Какой смысл в том, что проц по сбою засядет в вечном цикле? А некоторые, по неопытности, могут принять это за чистую монету.
Смысл в том, что будет видно что произошло, а так будет происходить просто сброс и по неопытности начнутся вопросы, а почему... а может глюк...
Например, забыли вы установить бит bset CORCOR,#PSV (CORCONbits.PSV) и попытались считать данные из программной памяти через PSV. Если у вас не будет объявлено прерывание произойдет сброс, иначе переход по вектору Address error.
Тут есть выбор попытаться разрулить сбой или безопасно сбросить мк и подать сигнал об этой ошибке любым способом. Тут все зависит от задачи и типа сбоя.

Последний раз редактировалось realid; 30.04.2010 в 23:23.
realid вне форума  
Непрочитано 01.05.2010, 09:42  
DL36
Вид на жительство
 
Регистрация: 06.10.2006
Сообщений: 329
Сказал спасибо: 4
Сказали Спасибо 17 раз(а) в 13 сообщении(ях)
DL36 на пути к лучшему
По умолчанию Re: Осваиваем PIC24

Сообщение от realid Посмотреть сообщение
Еще советую объявлять не маскируемые прерывания (trap).
Рыба есть тут \Microchip\MPLAB C30\support\templates\c\traps.c
DL36 вне форума  
Сказали "Спасибо" DL36
kuksin (07.01.2011)
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Осваиваем USBee Kabron Микроконтроллеры, АЦП, память и т.д 2196 29.11.2020 22:43
Proteus PIC24 CNEN2??Gluk?? rubel Proteus, KiCAD и другие ECAD 1 09.06.2011 17:45
PIC24 CTMU rubel Микроконтроллеры, АЦП, память и т.д 11 20.05.2010 15:56
PIC24 terminal VGA + отладка с USBee AX PRO dosikus Микроконтроллеры, АЦП, память и т.д 7 23.04.2010 19:08
MPLAB C Compiler for PIC24 dsPIC avr123-nm-ru Микроконтроллеры, АЦП, память и т.д 4 25.11.2009 22:53


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


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