Esempio n. 1
0
void platform_heartbeat(void)
{
	static int i=0, t = 0;

	if (--t < 0)
	{
		t = 59;
		led_print(7, i ? ".": " ");
		i ^= 1;
	}
}
int main(int argc, char *argv[])
{
	if (1 == argc) {
		printf("Enter text as an argument.\n");
		return 1;
	}

	if (!bcm2835_init()) {
		printf("Unable to init bcm2835.\n");
		return 2;
	}

	bcm2835_spi_begin();
	bcm2835_spi_setBitOrder(BCM2835_SPI_BIT_ORDER_MSBFIRST);      // The default
	bcm2835_spi_setDataMode(BCM2835_SPI_MODE0);                   // The default
	bcm2835_spi_setClockDivider(BCM2835_SPI_CLOCK_DIVIDER_256); // The default
	bcm2835_gpio_fsel(Max7219_pinCS, BCM2835_GPIO_FSEL_OUTP); 
	bcm2835_gpio_write(disp1[0][0],HIGH);
	Delay_xms(50);
	Init_MAX7219();

	size_t index = 0;
	while (index < strlen(argv[1])) {
		// Retrive first letter
		char letter1 = toupper(argv[1][index]);
		index++;
		// Retrieve second letter
		// If it does not exist use space
		char letter2 = (index < strlen(argv[1])) ? toupper(argv[1][index]) : (char) 0;
		led_print(find_char(letter1), find_char(letter2));
		Delay_xms(1000);
		index++;
	}
	// Clear screen
	led_print(36, 36);
	bcm2835_spi_end();
	bcm2835_close();
	return 0;
}
Esempio n. 3
0
void main(void)
{
IRCF2=1; IRCF1=1; IRCF0=1; //8MHz internal RC oscillator

ADCON0 = 0b000001; //Channel 0  //A/D converter module is enabled
ADCON1 = 0b001110; //Voltage Reference  //A/D Port Configuration Control bits - pin AN0
ADCON2 = 0b10000101; //A/D Result Format Select bit  //000=0TAD  //110=FOSC/64, 010=FOSC/32, 101=FOSC/16

T0CON=0b10010011; //prescaler 011 - 1:16  Fosc/4=2000, 2000/16=125kHz
TMR0=TMR0_LOAD; //preload
TMR0IE=1; //timer overflow intterrupt enable

PEIE=1; //peripheral interrupt enable
GIE=1; //global interrupts enable

led_init();

sbuff[0]=0xff; //light all segments
sbuff[1]=0xff;
sbuff[2]=0xff;

delay_ms(1400);

led_clear();

for(;;)
	{
	GODONE=1;
	while(GODONE);
	volt=ADRES*10/VOLT_CONT;
	if(volt>999) volt=999;
	
	sprintf(strBuff,"%2u%1u",volt/10,volt%10);
	led_print(0,strBuff);
	
	led_dot(1,1);
	
	delay_ms(200);
	}
}
Esempio n. 4
0
void __init platform_setup(char** cmdline)
{
	led_print (0, "LINUX   ");
}
Esempio n. 5
0
void platform_power_off(void)
{
	led_print (0, "POWEROFF");
	local_irq_disable();
	while (1);
}
Esempio n. 6
0
void platform_halt(void)
{
	led_print (0, "  HALT  ");
	local_irq_disable();
	while (1);
}