完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好。 我正在开发 PSOC 4200 CY8C4245AXI。 我正在尝试让 RS-485 通信正常运行,但到目前为止一直没有成功。 由于布局和资源限制,我必须使用 SCB UART 资源,而不是具有 tx_en 输出的 UART 组件,这意味着我必须在每次 UART 传输后手动禁用 Tx,因为这是半双工。
我所期望的: 1。通过 RS-485 将数据发送到 PSOC UART 2。字节被插入到 Rx FIFO 3。在主循环中,"Uart_uartGetChar () 被调"用,其值为非零表示FIFO中有东西并且已出队。 4。启用传输 5。发送已出队的角色 6。等到 " UART Done " Tx 中断被触发 while 循环。 7。禁用传输 8。清除中断 9。根据最初发送的字节数,转到 1 或 3。 如果我发送一个字节,它通常会回显。 但是每零一次? 相反,它会回荡一些无关的东西。 不是位移或其他任何东西,但是如果你发送相同的数据,它似乎总是相同的。 例如,发送字符 " " a " 通常"会回复,但也会随机插入 0xD8。 如果我一次发送多个字节,我希望它们会被插入到FIFO中并进行处理,直到FIFO为空,每个字节之间都会出现繁忙循环。 实际发生的事情非常奇怪,因为如果我发送两个字符,比如 " ab",(我测试过的任何两个字符都会发生)。 它根本不会回响任何东西。 但是,如果你发送三个字符,比如 " abc",它只会回显 " c "。 但是它像以前一样用虚假的故障回荡,"通常会回显 " c,但有时会回显其他一些数据。 它只会回显收到的最后一个字节,而其他字节将被忽略。 "收到"的其他数据与您只发送最后一个字节的数据相同,因此,如果您只发送 " c,"它将返回 c,并返回 0x " EC " 的虚假故障。 如果有人 CAN 提供一些指导,那就太好了。 附上该项目。 此示例基于 PSOC Creator 上的 PSOC 4200 SCB UART 示例,并针对我的硬件进行了修改。 第一张图片正在"反复"发送。 第二个是"反复发送 " abc。 回复是一个字节,显示的是该字节的十六进制值。 因此,将每个空格解释为发送 ascii 数据之间的分隔。 我没有附上第一个示例的输出,因为它只会接收一个字节而不接收其他任何内容。 编辑:更新是因为 ISR 版本由于我犯了一个愚蠢的错误而失败。 但是,它的行为与已删除的以前的"繁忙循环"版本不同。 |
|
相关推荐
1个回答
|
|
以下是我对您描述的情况的一些建议和解决方案:
1. 确保配置正确: - 确保RS-485电平转换电路正确连接,并且将电平转换芯片的收发线连接到PSoC的UART引脚。 - 确保PSoC串行外设的时钟和数据线连接正确。 2. 配置UART模块: - 在PSoC Creator中,检查UART组件的配置。确保波特率、数据位、停止位和校验位等参数与RS-485设备配置相匹配。 3. 禁用Tx后的延迟: - 在每次UART传输完成后,确保添加足够的延迟时间以等待数据发送完毕,然后再禁用Tx引脚。可以使用延迟函数或按需进行循环延迟等待。 4. 适当管理接收缓冲区: - 在主循环中使用`Uart_rxBufferRead()`函数从接收FIFO中读取字节。确保在读取之前使用`Uart_GetRxBufferSize()`函数检查FIFO中是否有可用字节。 5. 使用中断来处理接收和发送: - 可以使用UART接收中断来处理接收到的数据,并使用UART发送中断来管理传输过程。这样可以避免繁琐的手动禁用Tx操作。 6. 调试和日志记录: - 添加适当的调试输出或日志记录来跟踪程序执行,并确保可以检查每个步骤的状态和结果,以便更好地理解问题所在。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-初识设备树之设备树组成和结构
503 浏览 0 评论
【敏矽微ME32G070开发板免费体验】点亮WS2812B灯板
476 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-Linux内核移植之内核启动流程
744 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-TF卡烧录流程之烧写过程
1436 浏览 0 评论
2891 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12142 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-9 08:54 , Processed in 0.770310 second(s), Total 45, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号