硬汉嵌入式论坛

 找回密码
 立即注册
查看: 380|回复: 6
收起左侧

RP2350主要功能测试体验

[复制链接]

7

主题

117

回帖

138

积分

初级会员

积分
138
发表于 2025-7-29 14:28:53 | 显示全部楼层 |阅读模式
前几周安装开发环境整了好久,上周重新装了一遍,只要电脑离线新建工程再联网还是可以开发调试的,然后花了几天时间把主要外设功能都测试了一下。

整体来说,官方封装的C-SDK还是很好用的,函数用起来也比STM32要简单一些,vscode开发插件也还行,虽然我不太会用也不习惯,但是树莓派官方的文档确实很详细。

就是有些长还全是英文的,虽然能看懂,但是总没汉字读起来快找起来还是有点费劲的。

我发现RP2350的一些不足之处,不一定是RP2350的问题,也可能是我还没用好,给大家参考一下。

1,uart串口,接收数据如果开启DMA就没法用超时中断和空闲中断,说明书是这么写的,这个我试都没试,直接就略过了。测试uart 接收用的中断,发送用的DMA。

2,pwm,用来发送PWM波确实很方便,发送PTO不太方便,不能自己计数,也不能级联,也不能用来当正交编码器输入用。

3,pio,还不太会用,就我使用和观察好像适合用来输出不适合用来输入,因为没有输入滤波功能,写程序滤波估计程序会很长,但是PIO程序存储比较有限,另外开发程序难度也有点大,这个还是等大佬们开发吧。

4,spi,简单配置就能收发数据,但是和DMA一起使用一直没找到合适的函数和标志位来判断是否传输完成,找了几个试了一下好像都不对,

     另外和W5500通信只有在12M时钟下能正常通信,试过4M/6M/8//15/16/24/30/37.5M都不行,不知道为什么,有知道的大佬吗?

说了一些不知道是不是芯片缺点还是我不会用的问题,再说说RP2350优点:

1,多核运行,两个函数简单开启了core1,专门用来发PTO和进行加减速运算,中断都没开直接轮询采集内部64位定时器算翻转时间和加减速,很轻松愉快,

    启动两个通道,循环周期1us左右,翻转频率60K,占空比还比较稳定,说明波形没问题,简单控制步进电机之类的梯形/S形加减速,应该可以控制10个八个不是问题。

2,内部定时器和报警,使用很方便,报警还能控制循环和启动时间,都是封装好的,我觉得很好用,

    但是能力有限没深入研究。

还是等以后有大佬深入研究出了课程再玩玩。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2025-7-30 10:33:20 | 显示全部楼层
谢谢分享
回复

使用道具 举报

7

主题

117

回帖

138

积分

初级会员

积分
138
 楼主| 发表于 2025-7-31 21:54:18 | 显示全部楼层
可能这家伙的SPI有问题,和STM32 以及HC32通信都很稳定的W5500,这个RP2350就是非常不稳定,特别是开启了uart通信的时候,简直就是直接不能用
回复

使用道具 举报

6

主题

306

回帖

324

积分

高级会员

积分
324
发表于 2025-8-1 08:42:25 | 显示全部楼层
一个核通过软件翻转IO来控制步进电机?不稳吧?没这么玩过,有空试试。
回复

使用道具 举报

7

主题

117

回帖

138

积分

初级会员

积分
138
 楼主| 发表于 2025-8-1 11:06:33 | 显示全部楼层
fxyc87 发表于 2025-8-1 08:42
一个核通过软件翻转IO来控制步进电机?不稳吧?没这么玩过,有空试试。

很多这么玩的,定时器中断里来进行也是一样的,这个不用中断效率更高
回复

使用道具 举报

7

主题

117

回帖

138

积分

初级会员

积分
138
 楼主| 发表于 6 天前 | 显示全部楼层
把面包板去掉了,换了更好的新杜邦线,现在看起来SPI的波特率设置为一些比较常规的24M/36M已经没问题,那之前只能12M通信应该是连接问题,但是多个通信口高负荷通信还是有时候掉线,还得继续找问题。
回复

使用道具 举报

7

主题

117

回帖

138

积分

初级会员

积分
138
 楼主| 发表于 4 天前 | 显示全部楼层
终于搞定了。

1,W5500用USB转uart供电的,供电不稳定,堵塞式SPI收发,高频通信耗电量增加会引起通信异常,uart能工作,SPI连接的W5500不能正常工作,

用pico2 板子供电后,发送接收2亿多个字节没有丢数据。

2,SPI通过DMA收发,收发次数不定会进入等待DMA通道忙的死循环,一次发送一两百个字节,可能会发几万次也可能发几千次就异常,

跟STM32一样,重启设置DMA通道之前把DMA通道给关闭,收发就正常了,已经收发上亿字节也没丢数据。

uart口发送数据就没关闭过DMA通道,可能RP系列芯片的接收就需要关闭再开启。

RP系列芯片还有一个有特色的功能,DMA有个实现通信数据CRC校验的sniff什么的还没试过,有空也要试试。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-11 21:37 , Processed in 0.040875 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表