Добрый день форумчане! Изучаю новый контроллер, столкнулся с проблемой настройки тактовой частоты. Первая задача - мигать светодиодом. Светодиод мигает, но вместо периода в 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 секунды. Или под периодом понималось именно время горение светодиода?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения