找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3655|回复: 10
收起左侧

STM32F103与Arduino进行I2C通信的问题

[复制链接]
回帖奖励 50 黑币 回复本帖可获得 10 黑币奖励! 每人限 1 次
ID:464519 发表于 2019-3-11 09:53 | 显示全部楼层 |阅读模式
  原代码是隔一段时间给从机arduino分别发送0x00和0x01,我对他的代码进行了少部分修改,想实现通过stm32上的不同按键来发送,程序烧进后arduino的led没有循环亮了,但是按键也没有反应,试了两台学习机都是一样的问题,特来请教一下。图一为原代码,图二为本人修改的代码。

原代码

原代码

修改后的代码

修改后的代码
回复

使用道具 举报

ID:464519 发表于 2019-3-11 09:54 | 显示全部楼层
初学者懂的不多,麻烦各位指导一下,感谢
回复

使用道具 举报

ID:464519 发表于 2019-3-11 09:55 | 显示全部楼层
原代码可以实现,应该不存在接线等问题;两台学习机都不能实现,暂时不考虑是按键损坏的原因。
回复

使用道具 举报

ID:246251 发表于 2019-3-11 11:07 | 显示全部楼层
一步步分析,程序走那两个 if 了吗,加打印看看
回复

使用道具 举报

ID:72324 发表于 2019-3-11 11:08 | 显示全部楼层
按键初始化是否正确?能否调试进入if中,在确定i2c程序是否正确
回复

使用道具 举报

ID:464519 发表于 2019-3-11 12:25 | 显示全部楼层
lionmon 发表于 2019-3-11 11:08
按键初始化是否正确?能否调试进入if中,在确定i2c程序是否正确

初始化直接用的例程里面的,应该没有问题。做了一下调试,确实进入不了IF,问题应该是出在keyscan函数中,直接卡在那里了,不清楚原因是什么。
回复

使用道具 举报

ID:464519 发表于 2019-3-11 12:26 | 显示全部楼层
new_hand 发表于 2019-3-11 11:07
一步步分析,程序走那两个 if 了吗,加打印看看

在keyscan函数和if前面加双斜杠程序可以跑,我搞不清楚问题在哪
回复

使用道具 举报

ID:464519 发表于 2019-3-11 14:16 | 显示全部楼层
CZM129 发表于 2019-3-11 12:25
初始化直接用的例程里面的,应该没有问题。做了一下调试,确实进入不了IF,问题应该是出在keyscan函数中 ...

做了断点调试,把IF条件固定满足,可以进入IF,但是因为keil5不能跟单片机实时通信调试,所以不知道是不是keyscan函数的问题
回复

使用道具 举报

ID:246251 发表于 2019-3-11 14:53 | 显示全部楼层
CZM129 发表于 2019-3-11 12:26
在keyscan函数和if前面加双斜杠程序可以跑,我搞不清楚问题在哪

估计按键扫描部分出了问题,发出来看看
回复

使用道具 举报

ID:464519 发表于 2019-3-11 15:32 | 显示全部楼层
问题已经解决,虽然不知道具体原因在哪,但是替换了GPIO.h和Key.h等头文件就能用了。谢谢各位的帮助。
回复

使用道具 举报

ID:488272 发表于 2019-3-11 16:24 | 显示全部楼层
断点一步步调试,再检查下程序
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表