Forum: Projekte & Code lpc1768-board grundgerüst mp3 ds1820


von Karl K. (leluno)


Angehängte Dateien:

Lesenswert?

hier ein Grundgerüst für ein LPC1768-board. Das Programm liest von einer 
sd-Karte alle Dateien aus und spielt die MP3-Dateien in der 
FAT-Reihenfolge ab. Anschließend wird die Temperatur gemessen und als 
Graph angezeigt. Ist alles noch im Aufbau. Nächste Schritte wären das 
Touch, Ethernet und IR-Fernbedienung. Es soll alles Modulweise 
programmiert werden. Für Unterstützung wäre ich dankbar. Das Board gibt 
es für unglaubliche 30€ mit TFT über China-ebay.

Hinweisen möchte ich auf meine Macros zum Setzen der Ports. das 
vereinfacht den Zugriff auf ARM ganz erheblich:

//aus LPC176x.h
#define pinSET(portn,pinn) (*(volatile 
uint32_t*)(0x2009C018UL+(portn*0x20UL)))|=(1UL<<pinn)
#define pinCLR(portn,pinn) (*(volatile 
uint32_t*)(0x2009C01CUL+(portn*0x20UL)))|=(1UL<<pinn)
#define pinDIRin(portn,pinn)  (*(volatile 
uint32_t*)(0x2009C000UL+(portn*0x20UL)))&=~(1UL<<pinn)
#define pinDIRout(portn,pinn) (*(volatile 
uint32_t*)(0x2009C000UL+(portn*0x20UL)))|=(1UL<<pinn)
#define pinSEL(p,b,v)    PINSEL[(p) * 2 + (b) / 16] = (PINSEL[(p) * 2 + 
(b) / 16] & ~(3 << ((b) * 2 % 32))) | (v << ((b) * 2 % 32))
#define pinVAL(portn,pinn) ((*(volatile 
uint32_t*)(0x2009C014UL+(portn*0x20UL))& (1<<pinn))>>pinn)

#define pinMOD(p,b,v) PINMODE[(p) * 2 + (b) / 16] = (PINMODE[(p) * 2 + 
(b) / 16] & ~(3 << ((b) * 2 % 32))) | (v << ((b) * 2 % 32))
#define pinOPD(p,b,v) (PINOD[p] & ~(1 << (b))) | ((v) << (b))

von vampire (Gast)


Lesenswert?

ist das :
(Microcontroller Startup code for use with) Red Suite ???

von leluno (Gast)


Lesenswert?

Ja, lpcxpresso

von vampire (Gast)


Lesenswert?

lpcxpresso --> schon 2 PC's her, das ich da mal was gemacht habe;
Nun ja, -halt nochmal(wie üblich), fast "nackich" gemacht bei der 
Anmeldung( fehlt nurnoch:
         -wann geboren und warum?
),
LPCXpresso v3.6.3 [Build 317] [08/04/2011] installiert.

Warscheinlich habe ich schon was vergessen, -aber das import. mp3.zip
wirft nur Fehlermeldungen:
z.B.:
Description  Resource  Path  Location  Type
'LPC_RTC' undeclared (first use in this function)  rtc.c  /mp3/src/start 
line 39  C/C++ Problem
und
Description  Resource  Path  Location  Type
expected identifier before '(' token  rtc.c  /mp3/src/start  line 39 
C/C++ Problem


... und davon 47(nur für rtc.c);

von Karl K. (leluno)


Lesenswert?

Da muss die Datei CMSISv2p00_LPC17xx  eingebunden werden:

zuerst über import laden, dann meine mp3-datei

die Definitionen für LPC_RTC usw. stehen in der cmsis

von vampire (Gast)


Lesenswert?

-eigentlich war ich nur neugierig, ob jemand die unsägliche Pinselei in 
den Griff bekommen hat!
Die CMSISv2p00_LPC17xx kennt meine alte Version nicht und LPCxpresso war 
damals schon nicht mein Ding!
Hab's dann mit anderen Compilern gemacht.
Mitlerweile bin ich aber komplett auf STM umgestiegen.
Nichts für ungut - sicher 'ne gute Sache, --nur nicht meine ...

von Karl K. (leluno)


Lesenswert?

automatische Umstellung Sommerzeit für lpc1768:

//DOY=89;//Tag einstellen
//++++++++++++++ Korrektur + Umschaltung Sommer/Winterzeit 
++++++++++++++++
//  ix=(84+(110-(YEAR-2000)-((YEAR-2000)-13)/4)%7);//test
//  ix=298+(106-(YEAR-2000)-((YEAR-2000)-13)/4)%7;//test
  if(HOUR==3 || bool_programmstart){
    if(DOY>=(84+(110-(YEAR-2000)-((YEAR-2000)-13)/4)%7)//letzter So im 
März
    && (DOY<(298+(106-(YEAR-2000)-((YEAR-2000)-13)/4)%7))//letzter So im 
okt
      ){//Sommerzeit
        if ((GPREG1>>31)==0){//EEPROM-Wert für Winterzeit
          HOUR++;
          sbi(GPREG1,31);//EEPROM-Wert für sommerzeit setzen
        }
    }else{//Winterzeit
        if ((GPREG1>>31)==1){//EEPROM-Wert für sommerzeit
          HOUR--;
          cbi(GPREG1,31);//EEPROM-Wert für sommerzeit löschen
        }
    }
  }
  //--------------Korrektur + Umschaltung Sommer/Winterzeit 
______________
lcd_rtc();

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
Noch kein Account? Hier anmelden.