完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
你好,我在80MHz使用PIC32 MX675 F256L。我已经把一个DMA(DMA通道2)绑定到UART RX。这将把从UART接收的数据拷贝到缓冲区中。每2秒钟,一个发射机(另一个基于PIC32MX的设备)就会向我发送10字节的脉冲。当我将波特率配置为1MHz(或更低)时,我得到了正确的数据,但是如果我增加波特率,比如3MHz或5MHz或10MHz,我就得不到正确的数据。我的意思是,正确的数据与传输的数据不同。而且,不是每2秒就中断一次,而是每10秒或随机时间(但大于2秒——我在ISR中闪烁LED)就中断一次。DMA不能以更高的速率接收数据吗?
|
|
相关推荐
10个回答
|
|
波特率越高,没有特殊设计的距离越短。什么距离?电线?Transceivers?终止?我假设您的DMA在您获得10字节之后被设置为启动。当你松开字节时,它可能需要几个PA键,直到你可以收集10。这就是为什么期望得到精确字节数是有风险的。在10字节每2秒为什么高波特率和DMA?
|
|
|
|
对。。发射机和接收机通过光纤连接,并使用特殊的瞬变来进行转换。设置单元格大小为10字节。我在2秒内测试这个…在实际应用中,数据将在每100ESEC发射,从而DMA。
|
|
|
|
悲伤:是的…我得到的错误和过运行错误:-(意味着发射机发送错误的数据?)我在两端使用相同的功能,我已经验证波特率寄存器。它有正确的数据
|
|
|
|
您可以尝试使用自动波特支持ATPIC32 MX675 F256L侧来检测波特率从发射机。因此,您启用自动波特率检测位,将第一个数据作为0x55发送,并在设置UxRXIF之后检查BRG寄存器的值……您可以参考参考手册中的“自动波特支持”章节。
|
|
|
|
我写道:“这只是噪音。断开发射机,反正你会收到你的中断。错误的想法。
|
|
|
|
我试过这个…当波特率为2MbPS在Tx上,我的接收器显示BRG值腐蚀到2MbPs…但是当我做3MbPS时,接收机显示BRG腐蚀到1.667 MbPs:(意味着问题是发射机……PIC32 MX530F128H,运行频率为48 MHz。我把BRG注册到3…它应该产生3MbPs。
|
|
|
|
你真的观察到PIC的RX管脚上的波形了吗?我猜你的波形正在变得圆润,尽管你有“特殊的发射机”。唯一可以肯定的了解的方法就是用数字望远镜来看看你到底得到了什么。
|
|
|
|
这个程序需要DMA吗?听起来像缓冲器同步。错误,而不是ferr/oerr。您发送命令吗,“红色引导”您可能需要一个终端字符,如CR。如果是芯片到芯片,您可以使用SPI而不是UART。
|
|
|
|
我为80MHz和48 MHz的波特率创建了一个工作表。正如你所看到的,在80MHz,最接近的是3.33 3MHz和2.5MHz 2.857兆赫,这至少是4.76%的误差…所以3MHz不能正常工作。你可以尝试4MHz,我想这是两个通信的最大波特率。
|
|
|
|
这就是微笑的问题:
|
|
|
|
只有小组成员才能发言,加入小组>>
5248 浏览 9 评论
2037 浏览 8 评论
1957 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3218 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2265 浏览 5 评论
788浏览 1评论
679浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
608浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
685浏览 0评论
582浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 07:40 , Processed in 1.479696 second(s), Total 95, Slave 79 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号