找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 3954|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

怎么樣在STM32串口通信里判斷串口收到的是不是OK,有什么方法能實(shí)現(xiàn)嗎

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:588556 發(fā)表于 2020-3-9 20:04 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
請(qǐng)問(wèn)一下各位  怎么樣在STM32串口通信里判斷串口收到的是不是OK,有什么方法能實(shí)現(xiàn)嗎

在網(wǎng)上只找到這個(gè),試了好像沒(méi)有用
while(1)
{
if(USART_GetFlagStatus(USART1,USART_FLAG_RXNE)==SET)
{
RxBuffer1[RecLen1++]=USART_ReceiveData(USART1);   
while(RecLen1==100);
}

for(i=0;i<100;i++)
{
if((RxBuffer1[ i]=='O')&&(RxBuffer1[i+1]=='K'))
{GPIO_ResetBits(GPIO_LED,DS1_PIN);
Delay(0x3FFFFF);}}}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:235200 發(fā)表于 2020-3-9 23:30 | 只看該作者
你這程序是接收100個(gè)字符,當(dāng)接收到100個(gè)字符時(shí)才進(jìn)行比較,判斷100個(gè)字符中是否存在'OK'
for(i=0;i<100;i++)
{
if((RxBuffer1[ i]=='O')&&(RxBuffer1[i+1]=='K'))
這一句的意思是必須RxBuffer1數(shù)組中有一個(gè)'OK'才滿(mǎn)足條件
回復(fù)

使用道具 舉報(bào)

板凳
ID:246251 發(fā)表于 2020-3-10 09:54 | 只看該作者
收到數(shù)據(jù)后,可以通過(guò)strstr(const char *s1,const char *s2)函數(shù)找到“OK”字符串的位置,返回0,則說(shuō)明接收到的數(shù)據(jù)中沒(méi)有“OK”字符串
回復(fù)

使用道具 舉報(bào)

地板
ID:496117 發(fā)表于 2020-3-10 11:05 | 只看該作者
你這里是需要收到100個(gè)字節(jié)才會(huì)跳出去的,可以按照自己的邏輯處理緩存長(zhǎng)度
回復(fù)

使用道具 舉報(bào)

5#
ID:588556 發(fā)表于 2020-3-10 12:22 | 只看該作者
csmyldl 發(fā)表于 2020-3-9 23:30
你這程序是接收100個(gè)字符,當(dāng)接收到100個(gè)字符時(shí)才進(jìn)行比較,判斷100個(gè)字符中是否存在'OK'
for(i=0;i

那是不是如果我只要判斷是否存在OK 只要把for的改成
for(i=0;i<2;i++)
這樣然后等到接收到2個(gè)字符的時(shí)候進(jìn)行判斷是嗎
回復(fù)

使用道具 舉報(bào)

6#
ID:588556 發(fā)表于 2020-3-10 12:25 | 只看該作者
new_hand 發(fā)表于 2020-3-10 09:54
收到數(shù)據(jù)后,可以通過(guò)strstr(const char *s1,const char *s2)函數(shù)找到“OK”字符串的位置,返回0,則說(shuō)明接 ...

好  謝謝你 我去試試看
回復(fù)

使用道具 舉報(bào)

7#
ID:708637 發(fā)表于 2020-3-15 00:30 | 只看該作者
你好,判斷是否是OK,問(wèn)題解決了嗎?怎么解決的?
回復(fù)

使用道具 舉報(bào)

8#
ID:588556 發(fā)表于 2020-3-21 14:26 | 只看該作者
小炒肉111 發(fā)表于 2020-3-15 00:30
你好,判斷是否是OK,問(wèn)題解決了嗎?怎么解決的?

還沒(méi)有  換了一個(gè)方向..
回復(fù)

使用道具 舉報(bào)

9#
ID:569113 發(fā)表于 2021-4-12 11:50 | 只看該作者
請(qǐng)問(wèn)樓主你解決了嗎?我也遇到了這個(gè)問(wèn)題,不知道該怎么去判斷。。。。
回復(fù)

使用道具 舉報(bào)

10#
ID:883031 發(fā)表于 2021-4-12 13:51 | 只看該作者
字符串比較一下
回復(fù)

使用道具 舉報(bào)

11#
ID:569113 發(fā)表于 2021-4-17 15:54 | 只看該作者
好吧我解決了,我用strstr函數(shù)比較出來(lái)了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表