完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
你好!
当我使用UART进行交流时,我发现使用UART有一些困难。 当我调试固件时,Uart通信是不敏感的。换句话说,当我通过步进调试时,有时它可以工作,但有时它不能工作。我不知道为什么。我希望你能帮助我。 谢谢您! 以上来自于百度翻译 以下为原文 Hi! When I use Uart to communicate,I found that there are some difficulties in using Uart When I debug the firmware,Uart communicating is not senstive.In other word,When I debug by stepping,sometime it can work ,but sometime it can't work. I don't know why. I hope you can help me. Thank you ! |
|
相关推荐
6个回答
|
|
在我的经验中,UART组件的“正常”使用是简单的,没有问题。通常UART到外部设备的连接会出现困难,可能需要电平移位器,连接器不标准化等。
当你告诉我们更多关于你的项目(PSoC1,3或5)你的硬件(你使用一个开发套件)吗?哪一个?)或者甚至当你在这里上传你的项目(使用“创建工作空间包”或“创建存档”(最小)时,我们都可以查看并搜索错误。 快乐编码 鲍勃 以上来自于百度翻译 以下为原文 In my experience the "normal" use of the UART component is straightforward with no problems. Often difficulties arise with the connecting of the UART to the external device, a level-shifter might be required, the connectors are not standardized and so on. When you tell us a bit more about your project (PSoC1, 3 or 5) your hardware (are you using a development kit? Which one?) or even when you upload your project here (use "Create Workspace Bundle" or "Create Archive" (minimal) we all can have a look at and can search for errors. Happy coding Bob |
|
|
|
你好,
如果在DMA模式下使用UART,则不能使用这些函数,例如在GPIO中断上下文中!!!! 你如何配置你的UART? 当做, 隆皮 以上来自于百度翻译 以下为原文 Hi, if you are using uart in dma mode, you can not use these function e. g. in GPIO interrupt context!!! How are you configuring your UART? regards, lumpi |
|
|
|
还有这个小宝石藏在Fx3发布说明:
13。提供与FX3 SDK gcc链接脚本(固件/普通/ FX3。LD)不初始化运行时堆,是标准的C库函数等函数的要求。如果这些功能都可以使用,您需要提供标准的系统调用的实现和更新fx3.ld文件创建一个堆。请参阅cyfxbulklpauto_cpp实例所需的系统调用的示例实现,和一堆的初始化脚本示例的fx3cpp.ld文件。 以上来自于百度翻译 以下为原文 There is also this little gem tucked away in the FX3 Release Notes: 13. The gcc linker script provided with the FX3 SDK (firmware/common/fx3.ld) does not initialize a runtime heap that is required for standard C library functions such as sprintf. If these functions are to be used, you need to provide an implementation for standard system calls and update the fx3.ld file to create a heap. Please refer to the cyfxbulklpauto_cpp example for a sample implementation of the required system calls, and the fx3cpp.ld file for a script sample with heap initialization. |
|
|
|
你好!
我使用的是FX3 CysB3KIT-1001开发板,我使用SDK1.2.1。具体来说,我调试UARTLPRGMODE固件。 例如,当我发送“爱”,有时每个字符可能出现的步骤。 谢谢您! 以上来自于百度翻译 以下为原文 Hello! I am using FX3 CYUSB3KIT-001 development board.And I use SDK 1.2.1. Specifically,I debug UartLpRegMode firmware. For example,when I send "Love",sometime every character may appear by stepping . Thank you ! |
|
|
|
你好,科米,
每当一个字节到达UART端口时,触发该示例。因此,如果发送“爱”的终端程序(或其他工具)正在发送所有字符的任何延迟,那么接收函数每次可能得到一个以上的字符,然后只返回所接收的字符中的一个。可以改变你的代码来发送一个字节,发送尽可能多的字节。然后,您还应该更改错误处理的if子句。 试试这个… 对于(;;){/*接收1字节*/StudialCudio= Cyu3PuARTeRealEvEnviple(和;RxTxByter,1,and ApItRestStand);如果(实际计数)!= 0){/*检查状态*/IF(APIRTSTATE)!= cy_u3p_success){ /* */ cyfxapperrorhandler错误处理(apiretstatus);} /*发送字节* / actualcount = cyu3puarttransmitbytes(&;rxtxbyte,actualcount,&;apiretstatus);/*检查状态和实际计数转移* /如果((apiretstatus!= CYU-U3PY成功)/ **(实际计数!= 1)* /){ /* */ cyfxapperrorhandler错误处理(apiretstatus);} } } 希望这有助于… 当做 隆皮 以上来自于百度翻译 以下为原文 Hi Comy, that example is triggered each time when one byte arrives in uart port. So if your terminal program (or other tool) which is sending the "love", is sending all characters whitout any delay, then it can be possible that the receive function gets more than one character at a time and then it just loops back one of the received characters. May be change your code to send not just one byte, send as much bytes as you reveice. Then you also should change the if clause of error handling. Try this.... for (;;) { /* Receive 1 byte */ actualCount = CyU3PUartReceiveBytes(&rxTxByte, 1, &apiRetStatus); if (actualCount != 0) { /* Check status */ if (apiRetStatus != CY_U3P_SUCCESS) { /* Error handling */ CyFxAppErrorHandler(apiRetStatus); } /* Send the byte */ actualCount = CyU3PUartTransmitBytes (&rxTxByte, actualCount , &apiRetStatus); /* Check status and actual count transferred */ if ((apiRetStatus != CY_U3P_SUCCESS) /*|| (actualCount != 1)*/) { /* Error handling */ CyFxAppErrorHandler(apiRetStatus); } } } hopefully it helps... regards lumpi |
|
|
|
你好,科米,
我认为在UART终端上获得调试消息会有一些延迟。我认为没有足够的时间这样做,因为您正在使用断点停止代码。不是这样的吗?当您没有在任何地方停止固件时,您没有得到所有调试消息吗? 谢谢, 西克里希纳。 以上来自于百度翻译 以下为原文 Hi Comy, I think there will be some delay in getting the debug messages on the UART terminal. I think it is not getting sufficient time to do that becuase you are stopping the code using breakpoints. Isn't it the case. Are you not getting all the debug messages when you are not stopping the firmware at any place. Thanks, sai krishna. |
|
|
|
只有小组成员才能发言,加入小组>>
752个成员聚集在这个小组
加入小组2070 浏览 1 评论
1826 浏览 1 评论
3639 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1761 浏览 6 评论
1513 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
510浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
360浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
410浏览 2评论
357浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 00:17 , Processed in 0.996994 second(s), Total 88, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号