由于ASF的存在,串口初始化也变得超级简单。先从asf wizard中导入Serial I/O模块,完成后可以看到config文件夹下面多了conf_uart_serial.h文件,然后在conf_board.h文件中添加串口支持,就是打开board_init()中断串口开关:
再进入board_init()函数,根据需要,把串口号改成0或者1。
再设置串口的波特率等参数:
至此,串号初始化工作已经完成。
使用的时候,直接调用uart_write()函数,这个函数有两个参数,第一参数是串口号 UART0或者UART1,第二个参数是要发送的字节。
想要更方便的,可以重定义printf:
这样输出的时候直接使用printf就可以了。
但是我碰到一个问题,打印字符和整形变量都没问题,但是打印输出浮点数的时候,全是f(0x62),原因还不清楚,哪位明白原因,望告知。