niosii的UART串口通信.docxVIP

  • 33
  • 0
  • 约3.84千字
  • 约 4页
  • 2017-07-09 发布于河南
  • 举报
niosii的UART串口通信

//串口程序 已经试过 //实现发A收到E 发数字收到ERROR #ifndef UART_H_ #define UART_H_ #define UART ((UART_STR *) UART_BASE) #includeinc.h #include sys/alt_irq.h #include system.h #include stdlib.h #include stdio.h #include unistd.h #include io.h unsigned char receive_temp;//接收到的临时数据 unsigned char buffer[6]=ERROR; #define BUFFER_SIZE 200 /*---------------------------------------------------------------- * Define *---------------------------------------------------------------*/ typedef struct{ unsigned char mode_flag; //xmodem 1;uart 0; unsigned int receive_flag; unsigned int receive_count; unsigned char receive_buffer[BUFFER_SIZE]; int (* send_byte)(unsigned char data); void (* send_string)(unsigned int len, unsigned char *str); int (* init)(void); unsigned int (* baudrate)(unsigned int baudrate); }UART_T; extern UART_T uart; /* * ==================================================== * Filename: uart.c * Description: RS232 device driver * Version: * Created: * Revision: none * Compiler: Nios II IDE * Author: AVIC * Company: * =================================================== */ /*-------------------------------------------------------------- * Include *-------------------------------------------------------------*/ /*-------------------------------------------------------------- * Function Prototype *--------------------------------------------------------------*/ static int uart_send_byte(unsigned char data); static void uart_send_string(unsigned int len, unsigned char *str); static int uart_init(void); static void uart_ISR(void); static int set_baudrate(unsigned int baudrate); //初始uart结构体,注意结构体初始化方式 UART_T uart={ .mode_flag=0, .receive_flag=0, .receive_count=0, .send_byte=uart_send_byte, .send_string=uart_send_string, .init=uart_init, .baudrate=set_baudrate }; /* * === FUNCTION ======================================== * Name: uart_send_byte * Description: 収送一个

文档评论(0)

1亿VIP精品文档

相关文档