完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,我是这里的NeWB,只是学习如何编程。我试图建立一个数据采集板,以恒定的1kHz采样,并将其发送到SerialPoT。我用的是Mplab和XC8的PICtiT3。对不起,混乱的代码,我知道我有很多学习要做。问题-下面的代码打印到10Hz的串行端口,但会在一段时间后停止。它出现在一段时间后,ADC返回到0,没有我写它。计时器计算关闭。16MHz时钟和没有预分频器,我想我需要预加载65635-4000=61535。但是在O型显示器上读取大约980Hz。唯一的方法是把它调整到1KHz,直到我离它很近。115200应该足够快地发送3个ADC读数,对吧?谢谢你给我的任何帮助。
|
|
相关推荐
4个回答
|
|
嗯,ADC应该是“易变的”,因为它在中断和主代码之间共享。您不会处理USART错误,比如overrun,并且由于您正在从IRQ内部传输字符串(由于几个原因,这是*高度*不鼓励的),您可能会遇到overrun错误,这会停止USART f。在时间上,一个字节取CICCA 100US @ 115200波特。如果你每频道发送4-5字节,你就不需要1ms了…
|
|
|
|
好的,我做了改变,但没有任何帮助。关于处理USAT错误有什么建议吗?设备如何通过USB发送如此多的数据?我需要以某种方式压缩它吗?谢谢你的帮助。
|
|
|
|
错误已经在论坛上讨论过很多次,看看athttps://www.google.it/#hl=it&as_sitesearch=www.micro..com%2Ffor.&q=usart+error+pic18&meta=&gws_rd=sslor数据表本身。如果你的数字达到1023,那么很少。至于速度,USB至少给你64KB/秒,这意味着640K波特的电路……这将是一个巨大的增长。否则,是的,你可以压缩数据。或者将它们作为二进制文件发送,但是需要一些协议来保持流同步。
|
|
|
|
你好,达里奥,我读过这些,并通过谷歌精选来理解它。我慢慢地得到更深的理解,但仍然不能完全掌握正在发生的事情。我使用SaleaLogic分析器来查看RX和TX PIN上的位。一切看起来很好,大约2分钟,然后它就停止了。如果我把R发送到串口,它再次开始流没问题。要调试,我写了一个LED,如果(ADC=1){写LED高}。当串行停止流时,LED关闭。它像VIILITE INT ADC在一段时间后被重置为零。这可能是记忆问题吗?如何初始化数组?我认为最大的数字是1023或10000、00110000、00110010、00110011、4字节。再次感谢你的帮助。
|
|
|
|
只有小组成员才能发言,加入小组>>
5242 浏览 9 评论
2031 浏览 8 评论
1955 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3207 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2256 浏览 5 评论
778浏览 1评论
669浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
597浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
679浏览 0评论
577浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 03:29 , Processed in 1.815092 second(s), Total 82, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号