Ejemplo n.º 1
0
Archivo: echo.c Proyecto: psachin/uC
int main(void)
{
	uint8_t data;
	lcd_init();
	uart_init(38400);
	for (;;) {
		data = uart_recv_byte();
		lcd_put_char(data);
		uart_send_byte(data);
	}
}
Ejemplo n.º 2
0
int main()
{
	init();

	print("Welcome to MSP430 Launchpad.\r\n");

	while (1) {
		char c = uart_recv_byte();
		uart_send_byte(c);
	}
	return 0;
}
Ejemplo n.º 3
0
int main()
{
	init();
	uart_init(UART_B9600);
	jtag_init();
	print("Hello World\n");
	
	while (1) {
		char c = uart_recv_byte();

		if (c == 'A') {
			print("Reading IDCODE...\n");
			jtag_reset_sequence();
			idcode = jtag_read_dr(JTAG_DR_IDCODE);
			print("IDCODE: 0x");
			printInt(idcode);
		}


	}
	return 0;
}
Ejemplo n.º 4
0
int main(void)
{
uint8_t chan, low, hi;
uint16_t adcval;

lcd_init();
uart_init(38400);
adc_enable();

for(;;)
  {
    chan = uart_recv_byte();
    if (chan <=7)
        {
        adcval = read_adc(chan);
	lcd_clear();
        lcd_put_int(low);
        low = adcval & 255;
        hi = adcval >> 8;
        uart_send_byte(low);       // send LOW byte
        uart_send_byte(hi);        // send HI byte
        }
  }
Ejemplo n.º 5
0
int ymodem_load(struct loader_opt *opt)
{
	int ret;
	int size = 0, count;
	int blk = 0;
	__u8 stx, blk_num[2], crc[2];
	__u8 *curr_addr;

	curr_addr = opt->load_addr;
	opt->load_size = 0;

	// uart_clear_buff();

	//
	while (1) {
		uart_send_byte('C');

		ret = uart_recv_byte_timeout(&stx, 2000000);

		if (ret < 0)
			continue;

		if (SOH == stx) {
			// printf("SOH (%d)\n", stx);
			size = 128;
			break;
		} else if (STX == stx) {
			// printf("STX (%d)\n", stx);
			size = 1024;
			break;
		}
	}

	blk_num[0] = uart_recv_byte();
	blk_num[1] = uart_recv_byte();

	uart_clear_buff();
	uart_send_byte(ACK);

	// receiving data
	uart_send_byte('C');

	blk++;
	while (1) {
		while (1) {
			ret = uart_recv_byte_timeout(&stx, MODEM_TIMEOUT);

			if (ret < 0)
				continue;

			if (SOH == stx) {
				// printf("SOH (%d)\n", stx);
				size = 128;
				break;
			} else if (STX == stx) {
				// printf("STX (%d)\n", stx);
				size = 1024;
				break;
			} else if (EOT == stx) {
				// printf("Done!\n");
				goto L1;
			}
		}

		blk_num[0] = uart_recv_byte();
		blk_num[1] = uart_recv_byte();
		if ((blk_num[0] ^ blk_num[1]) != (__u8)0xFF ||
			blk_num[0] != (__u8)(blk & 0xFF)) {
			uart_clear_buff();
			uart_send_byte(NAK);
#ifdef CONFIG_DEBUG
			printf("block num (%d) error!\n", blk);
#endif
			continue;
		}

		for (count = 0; count < size; count++) {
			ret = uart_recv_byte_timeout(curr_addr + count, MODEM_TIMEOUT);

			if (ret < 0) {
				printf("line %d: timeout.\n");
				break;
			}
		}

		ret = uart_recv_byte_timeout(&crc[0], MODEM_TIMEOUT);
		ret = uart_recv_byte_timeout(&crc[1], MODEM_TIMEOUT);

		curr_addr += count;
		uart_send_byte(ACK);

		opt->load_size += count;
		blk++;
	}

L1:
	modem_end_rx();

	return opt->load_size;
}