/* Continue 0-ff counting loop. */
unsigned unite[10] = {
0xf41fffff /* 0 */, 0xff5fffff /* 1 */, 0xf19fffff /* 2 */, 0xf91fffff /* 3 */, 0xfa5fffff /* 4 */,
0xf83fffff /* 5 */, 0xf03fffff /* 6 */, 0xff1fffff /* 7 */, 0xf01fffff /* 8 */, 0xf81fffff /* 9 */
};
unsigned dizaine[10] = {
0xffe0bfff, 0xffebffff, 0xffe63fff, 0xffe27fff, 0xffe97fff,
0xfff07fff, 0xfff03fff, 0xffe3ffff, 0xffe03fff, 0xffe07fff
};
unsigned centaine[10] = {
0xffffc17f, 0xffffd7ff, 0xffffcc7f, 0xffffc4ff, 0xffffd2ff,
0xffffe0ff, 0xffffe07f, 0xffffc7ff, 0xffffc07f, 0xffffc0ff
};
unsigned millier[10] = {
0xffffff82, 0xffffffaf, 0x0fffff98, 0xffffff89, 0xffffffa5,
0xffffffc1, 0xffffffc0, 0xffffff8f, 0xffffff80, 0xffffff81
};
while( 1 )
{
unsigned value = 0x7FFFFFFF; // 28 bits == AFF3 | AFF2 | AFF1 | AFF0
value = 0x0;
usleep(1000000);
/*
* 0x7 = 0111 ; 0xC = 1100 => 0100
* 0xB = 1011 ; 0xC = 1100 => 1000
* 0x1 = 0001 ; 0xE = 1110 => 0000
* 0xf41fffff
* & 0xffe0bfff
* & 0xffffc17f
* & 0xffffffc1
* ------------
* 0xf4008141
*/
int i;
for (i = 0; i < 10; ++i)
{
value = unite[i] & dizaine[i] & centaine[i] & millier[i];
IOWR_ALTERA_AVALON_PIO_DATA(AFFICHEUR_SEGMENT_BASE, value);
usleep(500000);
}
Comments