完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
我使用微控制器CY8C4246LTEDM405。我正在尝试使用USSD从服务器接收命令,并且正在使用SIM868 GSM模块。我的问题是,如果我用两秒的时间差从服务器发送两个数据,我一次只能接收一个数据,而不是另一个,但我需要同时接收两个数据。所以,我实际上是在查询UART数据,逻辑是这样的: ((c=uARTHARSIM868,UARTGETHARCH()) ATCCL收视卡(和;SIM868,C); ATCCL接收字符函数看起来像这样: AccCl收件人(ATCC*T*ATCC,CHARC) { 如果(ATCC & Gt;AtTyPiPoPs & lt;ATCccBuffelx输入) ATCC & Gt;Ati输入[ATCC & Gt;AtTyPiPoPs++]=C; 如果(C==‘n’′& AMP;& ATCC—& Gt;AtTyPiPoPs & lt;=3) ATCC & Gt;AtTyPiPoPs=0; 否则(c==‘n’) ATCCI输入分析(ATCC); } 因此,在上述函数中,数据将以“n”的形式中断。为了接收第二个命令,我首先尝试看看它是否能够接收第二个命令,以便排除它,我实际上提出了一个逻辑:如果接收到两个‘N’,则中断。我添加了这个逻辑代替 否则(c==‘n’) ATCCI输入PARSE(ATCC);它能够接收,但由于这个逻辑,我面临的问题是向服务器发送数据。我不知道如何解决这个问题,任何线索都会被感激。 谢谢。 以上来自于百度翻译 以下为原文 Hi, I am using MicroController CY8C4246LTIDM405. I am trying to receive command from Server using USSD and Sim868 GSM module is being used. My problem is if I am sending two data from Server with a time difference of even 1 second, I am able to receive only one data at a time not the other one but I need to receive both of them. So, I am actually polling for UART data and the logic is something like this: while((c = UART_SIM868_UartGetChar())) ATCC_receiveChar(&SIM868, c); The ATCC_receiveChar function looks something like this: void ATCC_receiveChar(ATCC_t *atcc, char c) { if (atcc->AT_inputPos < ATCC_BUFFER_INPUT) atcc->AT_input[atcc->AT_inputPos++] = c; if (c == 'n' && atcc->AT_inputPos <= 3) atcc->AT_inputPos = 0; else if (c == 'n') ATCC_inputParse(atcc); } So in the above function, the data will break as soon as' n'. To receive the second command, I first of all tried to see if it is even able to receive the second command and so to rule it out, I actually put a logic that if two 'n's are received then break . I added this logic in place of else if (c == 'n') ATCC_inputParse(atcc); and it was able to receive but because of this logic, I am facing problem in sending data to the server. I don't know how to solve this problem and any leads will be appreciated. Thanks. |
|
相关推荐
5个回答
|
|
你能把你的完整的项目,我们都可以在你所有的设置,一看。为此,使用
创建者-gt;文件& gt;创建工作区束(最小) 并附加生成的文件。 鲍勃 以上来自于百度翻译 以下为原文 Can you please post your complete project so that we all can have a look at all of your settings. To do so, use Creator->File->Create Workspace Bundle (minimal) and attach the resulting file. Bob |
|
|
|
你好, 我不能分享整个项目,因为这不是我的个人项目,项目属于我所雇用的公司,但我可以尽可能多地分享细节。 以上来自于百度翻译 以下为原文 Hi, I can't share the complete Project because it is not my personal Project and the Project belongs to the Company in which I am employed but I could share as much details as possible. |
|
|
|
瓦蒂卡 检查这个UART(SCB模式)代码示例 http://www. Cypop.com /评论/ 389231 类似于UDB模式 http://OrgIn www. CyPress 奥迪赛1 以上来自于百度翻译 以下为原文 vartika.s, Check this UART (SCB mode) code example http://www.cypress.com/comment/389231#comment-389231 And similar for UDB mode http://origin-www.cypress.com/comment/235306#comment-235306 odissey1 |
|
|
|
我无法理解我没有对接收代码做任何重大改变。我所做的唯一一件事就是添加了一点延迟来获得完整的数据,但是它在某种程度上干扰了数据的传输,特别是SaMPTF不起作用。
在这方面的任何帮助都将得到赞赏。 以上来自于百度翻译 以下为原文 I am not able to understand that I haven't done any major change to the receiving code. The only thing that I have done is added a little bit of delay to get the complete data but it is somehow interfering with the transmission of data and specially sprintf is not working. Any help in this regard would be appreciated. |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
751个成员聚集在这个小组
加入小组2064 浏览 1 评论
1824 浏览 1 评论
3632 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1760 浏览 6 评论
1508 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
502浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
354浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
409浏览 2评论
354浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
851浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 17:38 , Processed in 0.952199 second(s), Total 87, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号