找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4204|回復(fù): 10
收起左側(cè)

STM32F103與Arduino進行I2C通信的問題

[復(fù)制鏈接]
回帖獎勵 50 黑幣 回復(fù)本帖可獲得 10 黑幣獎勵! 每人限 1 次
ID:464519 發(fā)表于 2019-3-11 09:53 | 顯示全部樓層 |閱讀模式
  原代碼是隔一段時間給從機arduino分別發(fā)送0x00和0x01,我對他的代碼進行了少部分修改,想實現(xiàn)通過stm32上的不同按鍵來發(fā)送,程序燒進后arduino的led沒有循環(huán)亮了,但是按鍵也沒有反應(yīng),試了兩臺學(xué)習(xí)機都是一樣的問題,特來請教一下。圖一為原代碼,圖二為本人修改的代碼。

原代碼

原代碼

修改后的代碼

修改后的代碼
回復(fù)

使用道具 舉報

ID:464519 發(fā)表于 2019-3-11 09:54 | 顯示全部樓層
初學(xué)者懂的不多,麻煩各位指導(dǎo)一下,感謝
回復(fù)

使用道具 舉報

ID:464519 發(fā)表于 2019-3-11 09:55 | 顯示全部樓層
原代碼可以實現(xiàn),應(yīng)該不存在接線等問題;兩臺學(xué)習(xí)機都不能實現(xiàn),暫時不考慮是按鍵損壞的原因。
回復(fù)

使用道具 舉報

ID:246251 發(fā)表于 2019-3-11 11:07 | 顯示全部樓層
一步步分析,程序走那兩個 if 了嗎,加打印看看
回復(fù)

使用道具 舉報

ID:72324 發(fā)表于 2019-3-11 11:08 | 顯示全部樓層
按鍵初始化是否正確?能否調(diào)試進入if中,在確定i2c程序是否正確
回復(fù)

使用道具 舉報

ID:464519 發(fā)表于 2019-3-11 12:25 | 顯示全部樓層
lionmon 發(fā)表于 2019-3-11 11:08
按鍵初始化是否正確?能否調(diào)試進入if中,在確定i2c程序是否正確

初始化直接用的例程里面的,應(yīng)該沒有問題。做了一下調(diào)試,確實進入不了IF,問題應(yīng)該是出在keyscan函數(shù)中,直接卡在那里了,不清楚原因是什么。
回復(fù)

使用道具 舉報

ID:464519 發(fā)表于 2019-3-11 12:26 | 顯示全部樓層
new_hand 發(fā)表于 2019-3-11 11:07
一步步分析,程序走那兩個 if 了嗎,加打印看看

在keyscan函數(shù)和if前面加雙斜杠程序可以跑,我搞不清楚問題在哪
回復(fù)

使用道具 舉報

ID:464519 發(fā)表于 2019-3-11 14:16 | 顯示全部樓層
CZM129 發(fā)表于 2019-3-11 12:25
初始化直接用的例程里面的,應(yīng)該沒有問題。做了一下調(diào)試,確實進入不了IF,問題應(yīng)該是出在keyscan函數(shù)中 ...

做了斷點調(diào)試,把IF條件固定滿足,可以進入IF,但是因為keil5不能跟單片機實時通信調(diào)試,所以不知道是不是keyscan函數(shù)的問題
回復(fù)

使用道具 舉報

ID:246251 發(fā)表于 2019-3-11 14:53 | 顯示全部樓層
CZM129 發(fā)表于 2019-3-11 12:26
在keyscan函數(shù)和if前面加雙斜杠程序可以跑,我搞不清楚問題在哪

估計按鍵掃描部分出了問題,發(fā)出來看看
回復(fù)

使用道具 舉報

ID:464519 發(fā)表于 2019-3-11 15:32 | 顯示全部樓層
問題已經(jīng)解決,雖然不知道具體原因在哪,但是替換了GPIO.h和Key.h等頭文件就能用了。謝謝各位的幫助。
回復(fù)

使用道具 舉報

ID:488272 發(fā)表于 2019-3-11 16:24 | 顯示全部樓層
斷點一步步調(diào)試,再檢查下程序
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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