MCU
文章平均质量分 75
draracle
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
RP2040下的I2S Slave Out,PIO状态机(四)
摘要:在调试I2S音频输出时发现DOUT信号频率异常(2kHz),远低于预期。检查发现DMA缓冲区为INT32类型但需发送16位数据,且PIO配置中设置了MSB先出模式。问题根源在于有效数据位存储在低16位导致无法正确输出。通过修改正弦波生成代码,将16位有效数据左移至高16位后,示波器显示输出频率恢复正常。关键修改是在GenerateSineTable()函数中添加了32-bit_depth的位移操作,确保数据对齐到高位。(148字)原创 2025-08-07 22:13:08 · 282 阅读 · 0 评论 -
RP2040下的I2S Slave Out,PIO状态机(三)
摘要 作者在调试I2S Slave输出状态机时,因AI(DeepSeek)生成代码缺陷而陷入困境。DS生成的DMA中断处理代码存在两处关键遗漏:未启动DMA传输和未设置PIO状态机时钟,导致系统仅执行一次中断后停止。经逐一排查并参考开源项目示例后,发现DS过度编码,额外调用系统函数导致中断终止。最终通过简化中断处理逻辑,成功运行了状态机。该经历警示开发者对AI生成代码需保持高度警惕,建议结合人工验证和参考可靠示例。原创 2025-08-07 17:12:04 · 732 阅读 · 0 评论 -
用DEEPSEEK做开发辅助应该注意什么
但是也被DS的幻脑症搞得很郁闷,最近设计了了一个ESP32的核心板,在设计USB供电部分的时候,为了实现一些比较复杂的功能,比如核心板可以用主板供电,也可以用usb供电,在主板供电的时候,usb也可以接电脑或则接外设,这儿就有一个核心板的主从地位问题,还有电源的切换以及防倒灌等等问题。为了解决这个问题,我用DS整理思路,DS在这方面的确不错,给我提供了成熟的思路,包括芯片的选型等等,但是,DS并没有提供最佳的芯片型号,特别是国产替代的部分。• OUT引脚输出稳定5V,经C29(未标注容量)二次滤波。原创 2025-05-06 11:07:19 · 793 阅读 · 0 评论 -
树莓派PICO使用INA226测量数据,及获取数据的方式(使用alter和中断)
而event则监控下拉事件,因为INA226的Alter Pin是开漏,因此,必须先把GPIO拉高,稍微麻烦点就是要设定一个回调函数入口,但是有一点必须提醒的是,中断仅仅是中断,仅仅用于处理数据接收,不能用来做非常复杂的事情,这种情况非常类似于多线程环境下的编程,因此,数据必须有临界区的保护,在中断程序处理了数据采集之后,退出临界区,并通过信号量通知主循环来处理数据。另外,当Alter pin被触发的时候,06H内也存储了触发的原因,包括三种:采样完成(设定了采样通知),警报(设定了警报),数据异常。原创 2024-12-06 12:40:55 · 1606 阅读 · 0 评论
分享