#include <stdio.h>
#include "system.h"
#include "io.h"
#include "sys/alt_flash.h"
#include "sys/alt_flash_dev.h"
#include "altera_avalon_pio_regs.h"
#include "altera_avalon_uart_regs.h"
#include <string.h>
#include <stdlib.h>
#include "sys/alt_stdio.h"
#include "uart.h"
#include "modbus.h"
#include "timer.h"

extern alt_u8 uart0_tx_state;//0״̬
extern alt_u32 timer_done;
int main()
{
	alt_u8 rx_len = 0;//յݳ
	//ʼ
	uart0_tx_state = UART_TX_IDLE;//ʼ״̬־Ϊ
	UART_HANDLE hUART0;
	hUART0 = UART_Init(
			UART_BASE,
			UART_IRQ_INTERRUPT_CONTROLLER_ID,
			UART_IRQ,
			(IRRDY_IRQ_MASK),//򿪽жʹ0X80
			115200,//ڲ
			(alt_isr_func)UART0_isr
		);
	if (!hUART0) {
//		printf("Failed to init UART0\n");
	}

	 //ʼʱ
	CoreCourse_TIMER *pTimer;
	pTimer = Timer_Init(
			TIMER_0_BASE,
			TIMER_0_IRQ_INTERRUPT_CONTROLLER_ID,
			TIMER_0_IRQ
			);
	if (!pTimer) {
		//printf("Failed to init Timer\n");
	}
	while(1)
	{
		ModBus_ReceieveCMD(hUART0); //ڽж
	}
}
