Добрый день форумчане! Изучаю новый контроллер, столкнулся с проблемой настройки тактовой частоты. Первая задача - мигать светодиодом. Светодиод мигает, но вместо периода в 1 сек я получил почему то 2 сек. Вот мой код:
Код:
#pragma config POSCMOD = NONE // Primary Oscillator Select->Primary oscillator disabled #pragma config I2C1SEL = PRI // I2C1 Pin Location Select->Use default SCL1/SDA1 pins #pragma config IOL1WAY = ON // IOLOCK Protection->Once IOLOCK is set, cannot be changed #pragma config OSCIOFNC = ON // Primary Oscillator Output Function->OSC2/CLKO/RC15 functions as port I/O (RC15) #pragma config FCKSM = CSECMD // Clock Switching and Monitor->Clock switching is enabled, Fail-Safe Clock Monitor is disabled #pragma config FNOSC = FRC // Oscillator Select->FRC #pragma config SOSCSEL = SOSC // Sec Oscillator Select->Default Secondary Oscillator (SOSC) #pragma config WUTSEL = LEG // Wake-up timer Select->Legacy Wake-up Timer #pragma config IESO = ON // Internal External Switch Over Mode->IESO mode (Two-Speed Start-up) enabled
// CONFIG1 #pragma config WDTPS = PS32768 // Watchdog Timer Postscaler->1:32768 #pragma config FWPSA = PR128 // WDT Prescaler->Prescaler ratio of 1:128 #pragma config WINDIS = ON // Watchdog Timer Window->Standard Watchdog Timer enabled,(Windowed-mode is disabled) #pragma config FWDTEN = OFF // Watchdog Timer Enable->Watchdog Timer is disabled #pragma config ICS = PGx1 // Comm Channel Select->Emulator EMUC1/EMUD1 pins are shared with PGC1/PGD1 #pragma config BKBUG = OFF // Background Debug->Device resets into Operational mode #pragma config GWRP = OFF // General Code Segment Write Protect->Writes to program memory are allowed #pragma config GCP = OFF // General Code Segment Code Protect->Code protection is disabled #pragma config JTAGEN = OFF // JTAG Port Enable->JTAG port is disabled
Не ленитесь. Откройте pdf на PIC24FJ64GA002 и сделайте так, как рекомендует разработчик контроллера... /Если не требуется сохранения значений в W1 - W3, команды push и pop можно пропустить/
Добавлено after 15 minutes 30 seconds: P.S. Не забудьте в Config-е разрешить программные изменения в OSCILLATOR CONFIGURATION.
Спасибо за отклик, но использовать переключение осцилляторов - не моя основная задача. Моя проблема в том, что я настраиваю тактирование от внутреннего RC генератора на 8 МГц, подключаю PLL x 4 - по идее контроллер должен работать на 32 МГц. Окей, прописываю определение тактовой частоты для макросов задержки #define FCY 32000000UL. Устанавливаю задержку в главном цикле __delay_ms(1000), но по факту получаю задержку в 2 сек!... Эмпирическим путем установил, что если установить FCY 16000000UL, все работает корректно, но не соответствует установленой мною конфигурации контроллера. Вот и хотел разобраться, где натупил. Неужели определение частоты FCY требует Fosc/2??? На других контроллерах такого не бывало
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Что не бывало? Какая разница какая частота у осциллятора? Важно какая системная частота. Про 16 МИПС написано даже в шапке даташита. Желаете более высокую производительность - берите либо PIC24H - 40МИПС, либо PIC24ЕР - 70 МИПС.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Кто компетентен в этом вопросе, может видите ошибку невооруженным глазом? Настраивал по даташиту и статьям с простора интернета.
Павел, хотел бы уточнить - период зажигания - время между началом (передний фронт) зажигания светодиода? Если да, то все как раз как вы и заказали по программе: 1.зажигаем светодиод (инвертируем LATA) 2.ждем секунду (+ возврат в начало) 3.гасим светодиод (инвертируем LATA) 4.ждем секунду (+ возврат в начало) т.е. период сигнала как раз 2 секунды. Или под периодом понималось именно время горение светодиода?
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения