本帖最后由 cc1989summer 于 2025-11-10 12:45 编辑
【WFI32E04分享】②依照国际惯例先来点个灯 - Microchip
https://bbs.21ic.com/icview-3494461-1-1.html
书接上回,点完灯咱们就研究串口吧,
查看芯片手册,我们发现WFI32E02UC模块总共有3个串口:其中有2个可重新映射的外设( Remappable Peripherals),1个固定外设
可重新映射的外设,顾名思义,可以重新改变引脚,也就是串口可以定义在任意支持的引脚上,后面会展示。
查看模块手册,总计可以看到4个UART串口,如图
UART1:RA8 RA9(J401) + Type-C虚拟串口(通过USB HUB——USB转串口与UART1相连)
UART2(可重新映射的外设):RK7 RB9 (mikroBUS Sockets-1 J400)
UART3(可重新映射的外设):RK9 RA12(mikroBUS Sockets-2 J404)
首先新建工程(参考上贴),将Peripherals中的UART1、UART2、UART3都添加进来。最右侧配置默认就好(115200)
然后在pin Table页面,分别设置UART1、UART2、UART3的引脚(实际上UART1不做配置也可正常使用,因为他是固定外设,引脚不可改变,只能是RA8 RA9)
UART2、UART3则可以有很多选择(绿色色块是选好的)。
需要补充以下:
mikroBUS Sockets-1 J400的RK7 RB9 是UART与CAN共用的引脚,确保J403针脚默认
mikroBUS Sockets-2 J404的RK9 RA12 是UART与CAN共用的引脚,确保J411针脚默认
生成代码后,在main函数中写入UART1、UART2、UART3代码
- #include <stddef.h> // Defines NULL
- #include <stdbool.h> // Defines true
- #include <stdlib.h> // Defines EXIT_FAILURE
- #include "definitions.h" // SYS function prototypes
- char msg1[] = "Hello World by UART1!\n";
- char msg2[] = "Hello World by UART2!\n";
- char msg3[] = "Hello World by UART3!\n";
- // *****************************************************************************
- // *****************************************************************************
- // Section: Main Entry Point
- // *****************************************************************************
- // *****************************************************************************
- int main ( void )
- {
- /* Initialize all modules */
- SYS_Initialize ( NULL );
- while ( true )
- {
- UART1_Write(msg1, sizeof(msg1));
- for(int i=0;i<50000000;i++);
-
- UART2_Write(msg2, sizeof(msg2));
- for(int i=0;i<50000000;i++);
-
- UART3_Write(msg3, sizeof(msg3));
- for(int i=0;i<50000000;i++);
- }
- /* Execution should not come here during normal operation */
- return ( EXIT_FAILURE );
- }
编译运行即可查看4个串口均正常输出:
1. PC端虚拟串口(TYPE-C UART1:对应PC COM16)
收到:Hello World by UART1!
2. J401接口 U1TX接口(UART1:对应PC COM19)
收到:Hello World by UART1!
3. mikroBUS Sockets-1 J400 TX接口(UART2:对应PC COM19)
收到:Hello World by UART2!
4. mikroBUS Sockets-5 J404 TX接口(UART3:对应PC COM19)
收到:Hello World by UART3!
2/3/4 的测试方法如下,将USB转串口的RX引脚,分别用杜邦线接J401接口 U1TX接口、mikroBUS Sockets-1 J400 TX接口、mikroBUS Sockets-5 J404 TX接口。
本次分享就到这里。
|