Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: Led-libary TextLCD mbed
Fork of Laufled by
main.cpp
- Committer:
- ladner
- Date:
- 2016-01-21
- Revision:
- 0:e97a6a69fe4b
- Child:
- 1:0eaa7682f7e1
File content as of revision 0:e97a6a69fe4b:
#include "mbed.h"
I2C i2c(P0_5,P0_4);
Serial port(P0_19,P0_18);
BusOut myled(P1_8,P1_9,P1_10,P1_11,P1_0,P1_1,P1_3,P1_4,P1_6,P1_7,P1_12,P1_13);
AnalogIn ldr(P0_12);
AnalogIn poti(P0_11);
BusOut rgb(P0_9,P1_15,P0_21);
BusIn btn(P1_16,P0_23,P0_10,P0_15);
DigitalOut test (P0_13);
InterruptIn Button1(P1_16);
InterruptIn Button2(P0_23);
uint32_t ledbuffer[100];
uint32_t colourbuf[100];
char Index = 0;
char length = 60;
void writeled(uint32_t leddata); // Prototyp
void writeledbit(char wert);
void next();
void last();
void output();
int main()
{
Button1.rise(&next);
Button2.rise(&last);
rgb = 7;
colourbuf[0]=0x0000FF;//Grün
colourbuf[1]=0x00FF00;//Rot
colourbuf[2]=0xFF0000;//Blau
colourbuf[3]=0x00FFFF;//Gelb
colourbuf[4]=0x000000;//Aus
output();
while(1) ;
while(1)
{
writeled(0);
test=0;
wait(1);
}
}
void output()
{
for(char i = 0;i<Index;i++)
writeled(0);
writeled(colourbuf[3]);
for(char i = Index;i<length-1;i++)
writeled(0);
}
void next()
{
if(Index<(length-1))
Index++;
output();
}
void last()
{
if(Index>=0)
Index--;
output();
}
void writeled(uint32_t leddata)
{ int i;
for(i=0;i<24;i++)
{
writeledbit(((leddata>>i)&0x000001)==0x000001);
}
}
void writeledbit(char wert) // Funktion schreibe bit
{
int j;
if(wert)
{
test=1; // data 1
for(j=0;j<5;j++)
{
__nop();
}
test=0;
for(j=0;j<1;j++)
{
__nop();
}
}
else
{
test=1; // data 0
for(j=0;j<1;j++)
{
__nop();
}
test=0;
for(j=0;j<5;j++)
{
__nop();
}
}
}
