Flowcode

5 antwoorden [Laatste bericht]
michelstandaert...
Offline
Lid sinds: 2009-11-27

Ik ben absoluut geen voorstander van flowcode ( goed voor beginners ), maar zou wel graag weten of het dwengo bordje kan geprogrammeerd worden met flowcode . Flowcoderobot wordt normaal gebruikt , op die robot zit een pic18f4455.
Ook vraag ik mij af of deze robot kan geprogrammeerd worden met mplab in combinatie met mcc18

Karel
Offline
Lid sinds: 2009-04-17

Dag Michel

Wij zijn van plan om te onderzoeken op welke manier het Dwengo-bord het best met flowcode geprogrammeerd kan worden, maar voorlopig is dat niet onze eerste prioriteit.

Bestaande flowcode programma's die C-code genereren kunnen eenvoudig gebruikt worden door de gegenereerde C-code in MPLAB te importeren.

Ik heb geen ervaring met flowcoderobot en ik vind er maar weinig informatie over op het net. De pic18f4455 is wel compatibel met de pic18F4550 die op het Dwengo-bord gebruikt wordt. Een HEX-file voor de 4455 kan ook in de 4550 geladen worden. Dit is echter geen garantie dat de code die flowcoderobot genereert ook bruikbaar is op het Dwengo-bord. De interface tussen de PIC en de componenten op het bord kan immers volledig anders zijn.

Groeten
Karel

Michiel
Offline
Lid sinds: 2009-04-17

De PIC18F4455 is een goedkopere versie van de PIC18F4550, het enige verschil is dat de PIC18F4550 over meer flash-geheugen beschikt dan de PIC18F4455. Zoals Karel reeds zei is er dus qua processor compatibiliteit alvast geen probleem. Maar aanpassing van de flowcode software voor de pinout van het dwengo-bord moet verder bekeken worden. Er bestaan ook open-source alternatieven voor flowcode.

ignacedecock@ho...
Offline
Lid sinds: 2012-02-16

Geachte,

Ik probeer met flowcode ook de dwengo te programmeren.
Op dit moment slaag ik er al in om via MPlab de hex file van flowcode te importeren en zo ledjes te doen oplichten. Maar ingangen wil hij niet lezen. Dit is mijn hoofdzakelijke probleem. Ik heb de PICKIT2.
Ik hoop dat hiervoor een oplossing is.

Mvg.

Francis
Offline
Lid sinds: 2009-04-16

Dit lijkt me een probleem met de hex-file die gegenereerd wordt door FlowCode. Blijkbaar klopt de code die FlowCode genereert voor het uitlezen van een poort niet. Wil je iets digitaal uitlezen of analoog?

Kan je de C-code die flowcode genereert eens posten?

ignacedecock@ho...
Offline
Lid sinds: 2012-02-16

Het is digitaal uitlezen. Gewoon ledjes aansturen.
Dit lukt maar de ingangen worden niet gelezen.
Dit is de C-code file van flowcode:

define MX_PIC

//Defines voor de microcontroller

define P18F4550

define MX_EE

define MX_EE_TYPE3

define MX_EE_SIZE 256

define MX_SPI

define MX_SPI_BCB

define MX_SPI_SDI 0

define MX_SPI_SDO 7

define MX_SPI_SCK 1

define MX_UART

define MX_UART_C

define MX_UART_TX 6

define MX_UART_RX 7

define MX_I2C

define MX_MI2C

define MX_I2C_B

define MX_I2C_SDA 0

define MX_I2C_SCL 1

define MX_PWM

define MX_PWM_CNT 2

define MX_PWM_TRIS1 trisc

define MX_PWM_1 2

define MX_PWM_TRIS2 trisc

define MX_PWM_2 1

define MX_PWM_TRIS2a trisb

define MX_PWM_2a 3

//Functies

include

pragma CLOCK_FREQ 19660800

//Configuratiegegevens

//Interne functies

include "C:\Program Files\Matrix Multimedia\Flowcode V3\FCD\internals.h"

//Macro functie declaraties

//Variable declaraties
char FCV_LED;
char FCV_SCHAK;

char FCLV_LOOP1;
char FCLV_LOOP2;

//Toegevoegde definities

//Macro implementaties

//Toegevoegde implementaties

void main()
{

//Initialisatie
adcon1 = 0x0F;
ucfg = 0x08;


//Interrupt initialisatie code



//Loop
//Loop: While 1
while (1)
{
    //Connection Point
    //Connection Point: A

FCC_Main_A:

    //Input
    //Input: A2 -> schak
    trisa = trisa | 0x04;
    FCV_SCHAK = ((porta & 0x04) == 0x04);


    //Decision
    //Decision: schak = 1?
    if (FCV_SCHAK == 1)
    {
    } else {
        //Spring naar Connection Point
        //Spring naar Connection Point: A
        goto FCC_Main_A;


    }


    //Output
    //Output: led -> PORT D
    trisd = 0x00;
    portd = FCV_LED;


    //Calculation
    //Calculation:
    //  led = 1
    FCV_LED = 1;


    //Loop
    //Loop: Lus 8 maal
    for (FCLV_LOOP1=0; FCLV_LOOP1<8; FCLV_LOOP1++)
    {
        //Output
        //Output: led -> PORT D
        trisd = 0x00;
        portd = FCV_LED;


        //Calculation
        //Calculation:
        //  led = led << 1
        FCV_LED = FCV_LED << 1;


        //Delay
        //Delay: 50 ms
        delay_ms(50);


    }


    //Output
    //Output: led -> PORT D
    trisd = 0x00;
    portd = FCV_LED;


    //Calculation
    //Calculation:
    //  led = 64
    FCV_LED = 64;


    //Loop
    //Loop: Lus 8 maal
    for (FCLV_LOOP2=0; FCLV_LOOP2<8; FCLV_LOOP2++)
    {
        //Output
        //Output: led -> PORT D
        trisd = 0x00;
        portd = FCV_LED;


        //Calculation
        //Calculation:
        //  led = led >> 1
        FCV_LED = FCV_LED >> 1;


        //Delay
        //Delay: 50 ms
        delay_ms(50);


    }


}


mainendloop: goto mainendloop;

}

void interrupt(void)
{
}

Inhoud syndiceren