完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,我试图通过UART在两个CyPress设备之间发送数据,让他们根据他们发送的信息进行双向通信。目前,我有一个CyPress发送数据到另一个,但似乎出于某种原因无限地发送数据。我已经特别把它缩小到了GAPCcript写的API API调用AppuUART.C。我已经附上了我的项目存档,任何帮助都将不胜感激。
UARTHI ToBuleCalpal.CyWrk.SaveV01.Zip 3.6兆字节 以上来自于百度翻译 以下为原文 Hello, I am trying to send data through UART between two cypress devices and have them engage in 2-way communication based on what they send each other. Currently, I have one cypress sending data to the other one, but it seems to send data infinitely for some reason. I have specifically narrowed it down to the GattcWriteWithoutResponse API call located in App_UART.c. I have attached my project archive, any help would be greatly appreciated. |
|
相关推荐
1个回答
|
|
将APPUARARTE.C的行113更改为UARTXDATAWRESECMED.ValueLIN=20;
UNIT32 CAST是不必要的和不正确的,因为UARTXDATAWRESCOMM.Value.LEN变量仅为UUNT16大小。 编辑:您没有任何控制代码来跟踪您是否已经通过BLE发送UART数据,以及是否有新的UART数据发送/接收。 你正在跑步: 手提处理- 病例CyBLY状态连接: 否则,(CyBygGATGETBUSTSTATUS)()!= CyByth-StaskStaseTyLoad) { HuffLuARTTXBuffic(); } 这意味着,如果前面的关于启用通知的case语句是真的,那么每次主代码循环时都会发送UART数据。 你应该使用一个标志来指示是否有新的UART数据,并且只有在已经设置了标志(用BLE RX新数据)时才发送,并在发送UART数据之后清除它。 以上来自于百度翻译 以下为原文 Change line 113 of app_UART.c to uartTxDataWriteCmd.value.len = 20; The unit32 cast is unecessary and incorrect, as the uartTxDataWriteCmd.value.len variable is only a single uint16 size. Edit: You don't have any control code to keep track of if you have already sent the UART data over BLE and whether you have new UART data to send/receive. You are running: HandleBleProcessing-> case CYBLE_STATE_CONNECTED: else if(CyBle_GattGetBusStatus() != CYBLE_STACK_STATE_BUSY) { HandleUartTxTraffic(); } Which means that if the previous case statement about notifications being enabled is true, then you will send the UART data every single time the main code loops. You should use a flag to indicate if there is new UART data, and to only send if the flag has been set (with BLE RX new data), and clear it after sending the UART data. |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2111 浏览 1 评论
1858 浏览 1 评论
3673 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1792 浏览 6 评论
1540 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
579浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
432浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
442浏览 2评论
391浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
979浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 12:17 , Processed in 0.964750 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号