Flowcode
- login of registreer om te reageren
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
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
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.
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.
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?
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)
{
}

Uw winkelwagen