你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

库函数与寄存器操作

[复制链接]
风铃草2 提问时间:2014-12-10 14:08 /
阅读主题, 点击返回1楼
收藏 评论28 发布时间:2014-12-10 14:08
28个回答
好心情123 回答时间:2014-12-17 22:44:25
风铃草2 发表于 2014-12-17 09:02
问题解决了,用库函数的话 多加点延迟就能读到数据了

好奇怪啊,理论上来说用库函数操作相对于寄存器操作已经延时了,我觉得你的这个根本原因还是没有找到,能否把完整的工程放出来,方便查找
党国特派员 回答时间:2014-12-20 21:16:54
库函数也TM是操作寄存器,只是包装了下,就不能读出来了?
大秦正声 回答时间:2014-12-22 10:41:16
风铃草2 发表于 2014-12-17 09:02
问题解决了,用库函数的话 多加点延迟就能读到数据了

硬件i2c可以用吗?谢谢
风铃草2 回答时间:2014-12-22 14:58:34
好心情123 发表于 2014-12-17 22:44
好奇怪啊,理论上来说用库函数操作相对于寄存器操作已经延时了,我觉得你的这个根本原因还是没有找到,能 ...

晚上看看能不能找到,再放出来给看看
风铃草2 回答时间:2014-12-22 15:01:06
党国特派员 发表于 2014-12-20 21:16
库函数也TM是操作寄存器,只是包装了下,就不能读出来了?

不知道 调试应答信号的时候 用万用表量是3.3V  程序用库函数读出的结果是0  用寄存器操作读出是1
风铃草2 回答时间:2014-12-22 15:02:43
好心情123 发表于 2014-12-17 22:44
好奇怪啊,理论上来说用库函数操作相对于寄存器操作已经延时了,我觉得你的这个根本原因还是没有找到,能 ...


#define SDA_read      GPIOE->IDR  & GPIO_Pin_3 //GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)

我的是这样的
if(SDA_read==0)
return false

用万用表量SDA是3.3V  如果用库函数 就报错  用寄存器就不会
风铃草2 回答时间:2014-12-22 15:03:40
大秦正声 发表于 2014-12-22 10:41
硬件i2c可以用吗?谢谢

恩 可以用的,板子是STM32F103调试成功以后  ,然后换成STM32F407的
好心情123 回答时间:2014-12-22 17:22:03
风铃草2 发表于 2014-12-22 15:02
#define SDA_read      GPIOE->IDR  & GPIO_Pin_3 //GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)

我的是 ...

i = gpio_readinputdatabie(gpioe,gpio_pin_3);
if(i==0)
return false

这样试试看
AndyYau-268557 回答时间:2014-12-26 11:41:07
读端口前需要先置位成高电平,然后操作。以前在lcd操作时遇见过。你试试
123

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版