Hallo an alle
Beschäftige mich mit dem Entwicklungssystem von i-system if-dev
Hampel schon den ganzen Tag herum.
Wenn ich die printf Routine herauslasse läuft alles wunderbar auch mit
"sendchar" .
Aber wenn printf mit eingebunden wird hängt das System.
Für jede Schützenhilfe dankbar.
Gruss Juppo
#include <stdio.h>
#include <stdlib.h>
#include "lpc213x.h"
//#include <AsystTrace.h>
//#include "Main.h"
//#include "Test.h"
//#include "CPUTest.h"
#define CR 0x0D
int iCounter=0;
int iInterruptCounter=0;
int iLEDStatus=0;
int on;
int off;
long a;
int temp;
// Read the readme.txt for more explanation on the DEBUG define
// for the final application comment below define
#define DEBUG
void wait(void)
{
int i,a;
for (i=0;i<0xfffff;i++)
{
a=a-a;
}
}
void init_serial2()
{
/* initialize the serial interface */
PINSEL0 = 0x00050000; /* Enable RxD1 and TxD1
*/
U1LCR = 0x83; /* 8 bits, no Parity, 1 Stop bit
*/
U1DLL = 0x78; /* 9600 Baud Rate @ 14,7546MHz VPB
Clock */
U1LCR = 0x03; /* DLAB = 0
} */
}
void init_serial(void)
{ /* Initialize Serial Interface */
PINSEL0 = 0x00050000; /* Enable RxD1 and TxD1
*/
U1LCR = 0x83; /* 8 bits, no Parity, 1 Stop
bit */
U1DLL = 76; /* 9600 Baud Rate @ 15MHz VPB
Clock */
// U1DLL = temp; /* 9600 Baud Rate @ 15MHz
VPB Clock */
U1LCR = 0x03;
/* DLAB = 0 */
}
int sendchar (int ch) { /* Write character to Serial
Port */
if (ch == '\n') {
while (!(U1LSR & 0x20));
U1THR = CR; /* output CR */
}
while (!(U1LSR & 0x20));
return (U1THR = ch);
}
int getkey (void) { /* Read character from Serial
Port */
while (!(U1LSR & 0x01));
return (U1RBR);
}
void sendhex (int hex) { /* Write Hex Digit to Serial
Port */
if (hex > 9) sendchar('A' + (hex - 10));
else sendchar('0' + hex);
}
void sendstr (char *p) { /* Write string */
while (*p) {
sendchar (*p++);
}
}
void __gccmain()
{
}
int main(void)
{
#ifdef DEBUG
// long a ; // startup delay about 2 sec. for Debugging purposes
a = 100000; // value 100.000 seems enough against run away
while(a--); // loop the CPU until Debugger can stop it
#endif
U0IER = 0x00; //Claer Interrupt
VPBDIV = 0x01;
// CPU_Init(); // delete LED's, switch on PLL to max. Speed =>
refer AN10331
// on = 1000; // LED on delay value
// off = 3000; // LED off delay value
// on = 100000; // LED on delay value
// off = 300000; // LED off delay value
init_serial();
IO0DIR=0x00000001;
temp=9000;
while(1)
{
/* Type_Simple();
Type_Arrays();
Type_Pointers();
Type_Struct();
Type_Bitfields();
Type_Enum();
Type_FunctionPointer();
Type_Mixed();
Address_GlobalVariables();
Address_TestScopes();
Address_DifferentFunctionParameters();
CPU_Pointers();
CPU_Recursion();
*/
// IO0CLR|=IO_LED;
//printf("Hallo Arm 2138");
//if(temp<1000)temp++; else temp=1;
// sendhex(25);
// sendchar(13);
// sendchar(10);
printf("%d",temp);
sendstr("Hallo ARM LPC2138\n");
sendchar(13);
sendchar(10);
//printf("Hallo World");
IO0CLR=0x00000001;
a = temp; // value 100.000 seems enough against run away
while(a--); // loop the CPU until Debugger can stop it
IO0SET=0x00000001; //LED off
// Toggle_LED();
a = temp; // value 100.000 seems enough against run away
while(a--); // loop the CPU until Debugger can stop it
}
}
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.