OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2652|回复: 6

请求帮助!第二次发了

[复制链接]

38

主题

109

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2016-7-14
在线时间
94 小时
发表于 2018-4-14 13:10:08 | 显示全部楼层 |阅读模式

如图,在用到温度传感器DS18B20的时候和待机唤醒实验中的引脚重合了(都用到了PA0),所以我就想把温度传感器的引脚换成PA1(不用端口重映射),但是改了如图中的几处代码按道理来说就可以了,但是实际的测试实验是不行的,想了挺久的也不知道哪里少改了,吧友帮忙看下,知道的麻烦告诉我一下,不胜感激啊!
QQ截图20180414003931.png
QQ截图20180414003830.png
QQ截图20180414003732.png
QQ截图20180414003653.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

200

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1279
金钱
1279
注册时间
2017-7-18
在线时间
257 小时
发表于 2018-4-14 14:53:02 | 显示全部楼层
#define DS18B20_IO_IN() {GPIOA->CRL&=0xFFFFFF0F;GPIOA->CRL|=8<<4;}下一句同理。。
回复 支持 反对

使用道具 举报

2

主题

46

帖子

1

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2017-5-8
在线时间
136 小时
发表于 2018-4-14 15:02:12 | 显示全部楼层
你是不是没改设置IO口方向    你要是看不懂他的那个寄存器的操作   你就直接写一个库函数代替。
回复 支持 反对

使用道具 举报

38

主题

109

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2016-7-14
在线时间
94 小时
 楼主| 发表于 2018-4-15 14:56:41 | 显示全部楼层
周易八索连山 发表于 2018-4-14 14:53
#define DS18B20_IO_IN() {GPIOA->CRL&=0xFFFFFF0F;GPIOA->CRL|=8

GPIOA>CRL|=8<<4;  为什么是4呢?地址是看哪里
回复 支持 反对

使用道具 举报

38

主题

109

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2016-7-14
在线时间
94 小时
 楼主| 发表于 2018-4-15 14:57:07 | 显示全部楼层
fl7547454 发表于 2018-4-14 15:02
你是不是没改设置IO口方向    你要是看不懂他的那个寄存器的操作   你就直接写一个库函数代替。

这个库函数大概是怎么写的呢
回复 支持 反对

使用道具 举报

7

主题

200

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1279
金钱
1279
注册时间
2017-7-18
在线时间
257 小时
发表于 2018-4-15 16:40:30 | 显示全部楼层
1523781480(1).jpg
PA1的寄存器配置在CRL的4-7位,所以要左移4位
8=1000;这是0-3位的。左移四位才变成4-7位的
回复 支持 反对

使用道具 举报

38

主题

109

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2016-7-14
在线时间
94 小时
 楼主| 发表于 2018-4-16 12:44:34 | 显示全部楼层
周易八索连山 发表于 2018-4-15 16:40
PA1的寄存器配置在CRL的4-7位,所以要左移4位
8=1000;这是0-3位的。左移四位才变成4-7位的

可以了,感谢!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-12 14:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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