完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
亲爱的各位,我在PIC18F24K40上使用MPLAB X IDE V3.61。我正在尝试从UART函数发送和接收数据。在下面的代码中,我可以成功地以字节或字符串的形式发送数据。现在我正在尝试读取外部数据输入并发送回相同的数据。我已附加打印输出以接收数据。
|
|
相关推荐
18个回答
|
|
|
我在这里附上了代码输出。我已经检查了下面的函数工作正常。对于下面的函数,我曾打印0000我也尝试过修改,接收数据作为字符串,并读取上面代码的valueData2 Represent。在那里我看到的数据,但没有打印正确。
|
|
|
|
|
|
此代码无法工作,因为您在写入接收缓冲区之后将j递增,所以您正在从缓冲区发送NEXT值,该值尚未被写入。o接收一个字符串,但满是无意义代码。
|
|
|
|
|
|
我已经更改了代码。我最初做过同样的测试。我得到了同样的结果。
|
|
|
|
|
|
来自HTTP://www. McCHIP.COM/FUMMS/M1024079P2.ASPX
|
|
|
|
|
|
我认为您的代码太慢,在发送字节代码中等待太长时间。对于初学者,更改TISTO。
|
|
|
|
|
|
我已经按照建议进行了代码更改。这些是我观察到的。当我浏览数据表时,PIR3部分显示TXIF位表示为TX1IF,类似地,RXIF表示为RX1IF。如果我在代码中使用它,它显示出错误。我使用内部振荡器8Mhz,16位定时器中断。是使用内部振荡器使代码不同。请给出下面的指南.情况1:发送数据01030000ACDC5格式数据读取和发送0000情况2:发送数据在字节01每2Sec数据读取和发送01情况3:发送数据在字节01每2Sec每3Sec数据读取和发送01字节03发送数据
|
|
|
|
|
|
你使用的是编译器的哪种版本?这里是XC8的V1.43中PIC18F24K40.H的PrI3BIT的完整定义,所以您可以看到两个版本都被定义了。
|
|
|
|
|
|
首先,既然你使用K40,你可能会受到NVM勘误表的影响,那么,你一次做得太多了。你们一起发送和接收。因此,你无法判断你是否接受了权利,或者你无法发送正确的信息。你需要猜测,这会使整个事情变得更加困难。首先检查传输。写一个程序,发送大约1秒的邮件,观察你在另一端收到的内容,比如:当你使这个工作正常时,你就会知道你可以发送Ok,然后你可以使用传输线来调试你的接收。
|
|
|
|
|
|
我在while循环中测试了下面的情况,并附上了相关的输出文件。Data4:表示情况1data的输出,5:表示情况4data的输出,6:表示情况5的输出,我用字节格式为每隔1s发送数据。我发现数据Intruppted不匹配。我在思考时间的安排。如果我把数据发送到010300 000 Ac5CD,它就不起作用了。如果在间隔工作中发送数据一个字节,但由于在同一时间发送数据。
|
|
|
|
|
|
所以,你可以发送,但你不能接收。现在我们需要测试接收。去除所有的并发症,做一个非常简单的例子:然后以慢的速度发送一些东西。它起作用了吗?
|
|
|
|
|
|
正如我所说的,它的工作很好,但是当我用完整的代码时。我不会收到。
|
|
|
|
|
|
如果我没有丢失什么东西,你的SerialSayRelvyByTe()函数不正确吗?RCIF是只读的。它保持设置(1),直到从FIFO读取所有字符。当RCIF清楚时,您似乎只读取FIFO,这在代码中永远不会发生,因为您试图手动将RCIF设置为0。RCIF是只读的(参见数据表的第393页)。你只能通过从FIFO中删除所有字符来清除它。当FIFO为空时,它将自动清除。您希望这样:如果您知道您将只能得到8字节的传输:
|
|
|
|
|
|
收据正是我在第11页中提出的建议。您的DATA5.JPG似乎不起作用,因为您错过了大部分字节。摆脱所有的并发症,只有发送和接收。你知道发送部分正在工作。是时候发现问题是在接收还是缓冲缓冲。
|
|
|
|
|
|
我做了下面的测试,我与我的主要代码共享PUTCASE 1:发送数据字节。它的工作精细,参考案例1 JPGCASE 2:测试数据作为字节接收并发送为Byter FER Case2和Case2 JPEG。我正在接收数据,但接收更新是缓慢的。案例3:我的主要代码。我正在发送数据0103,希望在缓冲区中打印0103。当接收到的数据在相关的RXBUF中更新时。RXBUF数据用于RS485 Modbus计算。因此,在我添加其他程序之前,我想让EnSueReF数据源010300 000 000 Ac5CD正确接收8字节的数据。
|
|
|
|
|
|
在没有设置波特率或启用串行外设的情况下,这些程序中的任何一个都可以显示出来?只是另一个想法,我们从来没有见过你的配置位。你是否禁用看门狗定时器?你应该。
|
|
|
|
|
|
亲爱的,我只放了一部分代码。由于MCC生成文件。这里包括大量的广告文件。如果真的需要的话,我很快就会加上。
|
|
|
|
|
|
我已经附上配置数据有关的mCC如下。我已经设置我的PIC18F24k40与内部振荡器8Mhz定时器16位中断与3ms延迟。我在上面的线程中粘贴主函数和相关函数
中断管理器.c(2.62KB)-下载1次mcc.c(5.87KB)-下载1次pin_manager.c(3.00KB)-下载1次tmr0.c(4.06KB)-下载1次 |
|
|
|
|
|
如果我使用哑值,它打印正确。另外的modbus代码也工作得很好。如果我试图从外部接收数据,并且试图进行计算,那么它就不工作了。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1124浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 05:02 , Processed in 2.114823 second(s), Total 74, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
6016