Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не работает PIC12 без программатора.
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
xRFx
Доброго времени суток, господа форумчане!

Столкнулся с проблемой: есть простая программка которая ставит RA4 в единицу.

Код
// CONFIG1
#pragma config FOSC = INTOSC    // Oscillator Selection (INTOSC oscillator: I/O function on CLKIN pin)
#pragma config WDTE = OFF       // Watchdog Timer Enable (WDT disabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable (PWRT disabled)
#pragma config MCLRE = ON       // MCLR Pin Function Select (MCLR/VPP pin function is MCLR)
#pragma config CP = OFF         // Flash Program Memory Code Protection (Program memory code protection is disabled)
#pragma config CPD = OFF        // Data Memory Code Protection (Data memory code protection is disabled)
#pragma config BOREN = ON       // Brown-out Reset Enable (Brown-out Reset enabled)
#pragma config CLKOUTEN = OFF   // Clock Out Enable (CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin)
#pragma config IESO = ON        // Internal/External Switchover (Internal/External Switchover mode is enabled)
#pragma config FCMEN = ON       // Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor is enabled)

// CONFIG2
#pragma config WRT = OFF        // Flash Memory Self-Write Protection (Write protection off)
#pragma config PLLEN = ON       // PLL Enable (4x PLL enabled)
#pragma config STVREN = ON      // Stack Overflow/Underflow Reset Enable (Stack Overflow or Underflow will cause a Reset)
#pragma config BORV = LO        // Brown-out Reset Voltage Selection (Brown-out Reset Voltage (Vbor), low trip point selected.)
#pragma config LVP = ON         // Low-Voltage Programming Enable (Low-voltage programming enabled)

void main(void) {

    OSCCON=0x53;    //set internal clock with frequency 500kHz
        
    LATA4 = 1;
    TRISA4=0;
    RA4 = 1;

    while (1)
    {  
    }
}


Когда к платке подключен программатор (даже выключенный) всё работает честно.

Когда же программатора нет, пин висит в нуле.

В чём здесь может быть загвоздка?
rx3apf
А какой конкретно кристалл-то ? А то, например, у старого доброго 16F84 как раз ra4 был строго open drain...
И, кстати, "висит в нуле" - тоже достаточно неопределенно. Это как и чем еще посмотреть. А то вроде бы ноль, а поближе к щупу скопа ухватишься - а там наводка в полный рост. Значит, то не ноль был, а открытый выход. Или, что еще чаще - вход (и вообще камень стоит в сбросе или не проинициализировал порты).
xRFx
Цитата(rx3apf @ Nov 28 2014, 13:03) *
А какой конкретно кристалл-то ? А то, например, у старого доброго 16F84 как раз ra4 был строго open drain...
И, кстати, "висит в нуле" - тоже достаточно неопределенно. Это как и чем еще посмотреть. А то вроде бы ноль, а поближе к щупу скопа ухватишься - а там наводка в полный рост. Значит, то не ноль был, а открытый выход. Или, что еще чаще - вход (и вообще камень стоит в сбросе или не проинициализировал порты).


конкретно 12f1822, смотрю осциллом чем же еще смотреть), нолик там чистый, чистый даж не дёргается).

дак когда разъём программатора всунут всё пашет как полагается)
rtfcnf
А питание у Вас случаем не с программатора подаётся?
shindax
Код
...
#pragma config MCLRE = ON
...


Резистор с 4-го вывода на Vdd установлен?
firew0rker
Из даташита:
Цитата
If low-voltage programming is enabled (LVP = 1), the
MCLR Reset function is automatically enabled and
cannot be disabled
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.