求助!!关于CH32V307芯片的I2S3接口

icon_rar.gifETH_UART.zip

因为应用同时使用到了I2S和以太网,代码均使用官网下载的程序修改,首先

1)、是否可以确认这种情况下I2S2无法使用,

2)、I2S3的引脚被自动切换(PA8【MCK】、PA9【SD】),切换后I2S3和ETH例程的Debug(UART1)重叠、我使用逻辑分析仪看到的现象是:前几次下载程序,串口数据和I2S数据重合。随后使用

GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);

函数尝试切换UART1的引脚映射,未果,数据依然重合输出,突然某次后,I2S3使用ETH自动切换后的PA9(SD)脚再也没有数据输出(关闭ETH、引脚切回默认引脚正常),请问接下来我该怎么调试呢?目前使用新的示例编写、源码撤回最早等方式都尝试过,均未果。

3)、上述修改AFIO_PCFR1寄存器的代码为什么没有效果呢?

因此求助官方和各位大佬,拜托了。

微信图片_20240529031130.png

您好,关于你的问题:

使用以太网的情况下,I2S2无法使用。关于I2S3_SD对应的PA9引脚,若和串口1的引脚重合,可以使用其他串口进行调试。此外,注意一下你的芯片批次号,在数据手册有相关注意事项,如下图。你发我的工程缺少相关库文件,无法编译,注意将SRC文件夹包含在内。可以具体看一下你的芯片批次号,然后以太网是使用10M还是100M或1000M,可以邮箱(lzs@wch.cn)和我具体描述一下。image.png

image.png

image.png


2.png

1、照片丝印如上图所示

2、您说的这些信息我注意到了,而且在最开始的几次调试中,PA9同时输出了串口数据和I2S数据,这还导致了我串口打印异常,接下来我尝试修改UART1的映射,但在随后的某次调试过程中,PA9再也不输出I2S数据了,撤回程序修改或者下载新的SDK并且在ETH_UART例程上移植I2S3,过程和之前一致,但PA9(SD)均没有输出数据、其他的数据线都正常(使用逻辑分析仪抓出)。

PS:有没有可能是损坏了,比如串口输出1、I2S恰好输出0导致大电流之类的?(I2S3默认引脚输出是好的)

3、切换UART1引脚映射,是使用GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);这个函数吗?(使USART1_RM1=1

4、一楼图片中对应的程序,在发您的包里也有,在ETH_UART的main.c中,QQ邮箱那边重新上传了一份,在.\EVT\EXAM\ETH\ETH_UART中,直接将main.c替换官方SDK的.\EVT\EXAM\ETH\ETH_UART\main.c也可以编译

5、以太网使用10M



您好,已邮件回复你,后续问题可继续通过邮件沟通。


只有登录才能回复,可以选择微信账号登录