2019-07-28 18:37发布
henryetchou 发表于 2015-1-23 22:13 俺認為您的問題不在硬件問題,而可能再UART1BUF裡的字串函數判斷,如果您想糾錯, 俺有一個有效直捷的方法 ...
guangbiao 发表于 2015-1-24 17:53 while(strstr((char const*)USART1BUFF,"OK")==NULL) { UART_Clear_BUFF();
最多设置5个标签!
谢谢了。 这个strstr()函数是系统库函数,用于在字符串中查找什么含有指定的字符串(即“OK”)。
这个问题现在算是差不多解决了,跟BSL编程器有关,我把编程器从开发板上取下,程序就可以运行了。
让我郁闷的是,偶尔忘了取下编程器,程序有时候也会运行,不过,概率很小。
这个地方是有些不妥。我已经把用于延时和显示的led程序放到了发送之后,这样就有足够的时间接受应答信号了。
问题出在BSL编程器上,我的BSL编程器,是我自己用CH340的USB串口改造的。把编程器从开发板上拆掉,程序就可以运行了。
对于上面各位说道的延时问题,我的程序中延时放置的确实不妥,我已将发送语句,移动到了用于延时的led()函数后面了。
唯独让人郁闷的是,有时来回改写程序,有可能会忘记拆掉编程序,程序有的时候,竟然也能运行。不过是小概率事件。
单片机发送,GSM发送的数据同时发给单片机和串口调试助手,是这个样子。
GSM发回的数据里面有乱码。
一周热门 更多>