Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Някакъв примерен сорс за PIC10F320/322 и XC8
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=11065
Страница 1 от 2

Автор:  Nikola Kirov [ Сря Фев 06, 2013 12:29 am ]
Заглавие:  Някакъв примерен сорс за PIC10F320/322 и XC8

Колкото и пъти да се пробвам с творенията на тази лайняна фирма все всичко става с зор и клизми.
Нещо не мога да си подкарам изобщо дебъга в C проект.
Някой ако има със сигурност работещ проект за този процесор и този компилатор ако може да помогне че да установя къде ми е проблема.
Май е във настройката на фусовете,ама знам ли. Тия полуидиоти един примерен сорс да бяха дали на C поне.

Автор:  itso.t [ Сря Фев 06, 2013 12:57 am ]
Заглавие:  Re: Някакъв примерен сорс за PIC10F320/322 и XC8

Конкретно за тоя не знам как е, но за 10F200 трябваше специален адаптер за да тръгне дебъга в мплаб.

Автор:  Nikola Kirov [ Сря Фев 06, 2013 1:02 am ]
Заглавие:  Re: Някакъв примерен сорс за PIC10F320/322 и XC8

Имам го но нещо се дъни в цялата работа. Примерен проект на CCS от който съм генерирал coff фаил се зарежда и уж се дебъгва но пък там е някаква друга боза.
Затова искам да си го подкарам изцяло под MPLABX.

Автор:  sparkybg [ Сря Фев 06, 2013 4:24 pm ]
Заглавие:  Re: Някакъв примерен сорс за PIC10F320/322 и XC8

С PIC12 нямах никакви грижи под XC8 и MPLABX.

Въобще не иска да програмира, или само дебъга не тръгва?

Ако си го пробвал с клонинг на PICKit3, пробвай и с оригинален, ако имаш на разположение. Понякога с единия иска, а с другия - не ще.

Автор:  Nikola Kirov [ Сря Фев 06, 2013 4:37 pm ]
Заглавие:  Re: Някакъв примерен сорс за PIC10F320/322 и XC8

Не тръгва и програмата. С клонинг съм. Затова ми трябва един примерен проект който да е със сигурност работещ.

Автор:  sparkybg [ Сря Фев 06, 2013 6:26 pm ]
Заглавие:  Re: Някакъв примерен сорс за PIC10F320/322 и XC8

Nikola Kirov написа:
Не тръгва и програмата. С клонинг съм. Затова ми трябва един примерен проект който да е със сигурност работещ.


Ползваш ли краката за програмиране освен за програмиране и за нещо друго? Щото моя клонинг на въпросната 12-ка не искаше да я програмира въобще, макар да съм спазил всичко - на същото краче се мъдреше IR диод, вързан към друго краче през 2.7k резистор. По време на reset другото краче е 3-state (ако помня добре), и реално не би трябвало пина изобщо да е натоварен, обаче клонинга не иска да го програмира. Оригиналния PICKit3 си го програмира безгрижно, без никакви промени. Знам че не се препоръчва мултиплексиране на краката за програмиране, ама като иде реч за 8 краков микроконтролер, препоръката за избягване на мултиплексиране просто няма как да се спази.

Отделно клонинга е много чувствителен на смущения. Случва се като цъкна лампата в стаята да ресетне чипа. С оригиналния пак няма такива грижи. Не знам какво са осрали, ама е факт. Поне за PIC12 и PIC18.

Ако искаш качи схемата да погледна.

Автор:  CarBeta [ Сря Фев 06, 2013 6:43 pm ]
Заглавие:  Re: Някакъв примерен сорс за PIC10F320/322 и XC8

Ето ти нещо работещо за проба:
Код:
#include "pic.h";
__CONFIG (FOSC_INTOSC & BOREN_OFF & WDTE_OFF & PWRTE_OFF & MCLRE_OFF & CP_OFF & WRT_OFF & LVP_OFF);
#define PIN_CLC1        PORTA1
#define PIN_OE          PORTA3
#define TACQ            0x30
void main(void)
{
    // acquisition timer workspace
    char i;
   
    // initialization
    OSCCON = 0x70;  // 16 MHz
    LATA1  = 0;     // RA1 is freq output. Set latch output to 0.
    TRISA  = 0x0C;  // RA0,1 = outputs, RA2,3 = inputs
    ANSELA = 0x04;  // RA2 = analog input
   
    // CLC design output in C format
    #include "pass-through_C.inc";
    // set Fosc as NCO input and enable NCO
    // Note: Rev A of the data sheet has some clock source settings identified improperly
    //       See Errata document DS80529 for alternate clock clock source settings
    N1CKS1 = 0;
    N1CKS0 = 1;
    N1EN   = 1;
   
    // ADC: TAD = Fosc/32 (2 us), AN2 input, enabled
    ADCON  = 0x48; 
    ADON   = 1;
    while(1)
    {
        // switch output on
        LC1G1POL = 1;       
       
        // continue to read ADC and set NCO freq
        // as long as input pin is high
        while(PIN_OE == 1)
        {
            // wait for specified acquistion time
            for(i=TACQ;i!=0;i--);
            // start ADC and wait for result
            GO_nDONE = 1;
            while(GO_nDONE == 1);
            // if result is zero set minimum freq
            // otherwise set freq to ADC result
            if(ADRES == 0)
            {
                NCO1INCH = 0;
                NCO1INCL = 1;
            }
            else
            {
                NCO1INCH = ADRES;
                NCO1INCL = 0;
             }           
        }
       
        // input pin was low - switch output off
        LC1G1POL = 0;
        // wait for pin input high to restart
        while(PIN_OE == 0);
    }
}


Код:
// File: pass-through_C.inc
// Generated by CLC Designer, Version: 1.0.0.
// Date: 11/5/2012 8:08 AM
// Device:PIC10(L)F320/2
CLC1GLS0 = 0x00;
CLC1GLS1 = 0x08;
CLC1GLS2 = 0x00;
CLC1GLS3 = 0x00;
CLC1SEL0 = 0x50;
CLC1SEL1 = 0x00;
CLC1POL  = 0x01;
CLC1CON  = 0xC0;

Прикачени файлове:
PIC10F322.PNG
PIC10F322.PNG [ 21.49 KiB | Прегледано 2407 пъти ]

Автор:  sparkybg [ Сря Фев 06, 2013 7:35 pm ]
Заглавие:  Re: Някакъв примерен сорс за PIC10F320/322 и XC8

Това на XC8 няма да си разпознае конфигурационните регистри. В XC8 се задават с
Код:
#pragma config едиквоси=едиквоси
, а не с
Код:
__CONFIG(нещоси)
.

Автор:  fan [ Сря Фев 06, 2013 8:45 pm ]
Заглавие:  Re: Някакъв примерен сорс за PIC10F320/322 и XC8

Ще, ще ги познае XC8, и не само, ще го и компилира(много е умен този компилатор:D ) е MPLABX може малко да се сърди на този ред ама(...), само трябва лека промяна при дефинициите на PIN_CLC1 и PIN_OE.
Код:
#define PIN_CLC1        PORTAbits.RA1
#define PIN_OE          PORTAbits.RA3

Автор:  sparkybg [ Сря Фев 06, 2013 9:17 pm ]
Заглавие:  Re: Някакъв примерен сорс за PIC10F320/322 и XC8

Хм. Вярно ги разпознава. Редно е да се инклудне xc.h, обаче.

Автор:  fan [ Сря Фев 06, 2013 9:53 pm ]
Заглавие:  Re: Някакъв примерен сорс за PIC10F320/322 и XC8

Няма нужда, щото пак в резултат вика "pic.h". Ей, много е умен този XC8.... :D

Автор:  sparkybg [ Сря Фев 06, 2013 11:21 pm ]
Заглавие:  Re: Някакъв примерен сорс за PIC10F320/322 и XC8

fan написа:
Няма нужда, щото пак в резултат вика "pic.h". Ей, много е умен този XC8.... :D


Вика, ама засега. Какво ще викне утре, като решат да не поддържат стари неща, никой не знае.

Автор:  Nikola Kirov [ Чет Фев 07, 2013 4:30 am ]
Заглавие:  Re: Някакъв примерен сорс за PIC10F320/322 и XC8

Оправих се с дебъга. Работата беше пак в конфигурирането на фусовете. Ето просто примерно кодче за мигалка на RA2. Бях позабравил какво е да се бориш с мокрочипски продукти :)

Код:
#include "xc.h"

#define _XTAL_FREQ 16000000
#pragma config BOREN = OFF, LPBOR = OFF, WRT = OFF, FOSC = INTOSC, BORV = LO, MCLRE = OFF, WDTE = OFF, CP = OFF, LVP = OFF, PWRTE = OFF


void main(void)
{
    // initialization
    OSCCON = 0x70;  // 16 MHz
    TRISA  = 0x08;  // RA0,1,2 = outputs

    while(1)
    {
        PORTAbits.RA2 = 1;
        __delay_ms(500);
        PORTAbits.RA2 = 0;
        __delay_ms(500);
    }
}

Автор:  Н'бабане Гт'муан'га [ Чет Фев 07, 2013 4:36 am ]
Заглавие:  Re: Някакъв примерен сорс за PIC10F320/322 и XC8

Nikola Kirov написа:
Бях позабравил какво е да се бориш с мокрочипски продукти :)


Не знаеш ли мотото, с което си рекламират продукцията? - "Programming is fun again" :)

Автор:  sparkybg [ Чет Фев 07, 2013 10:06 am ]
Заглавие:  Re: Някакъв примерен сорс за PIC10F320/322 и XC8

Н'бабане Гт'муан'га написа:
Nikola Kirov написа:
Бях позабравил какво е да се бориш с мокрочипски продукти :)


Не знаеш ли мотото, с което си рекламират продукцията? - "Programming is fun again" :)


Това с фюсовете и програмирането важи с тройна сила и за атмелските истории.

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/