OpenEdv-开源电子网

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

stm32的输入输出和位带操作的问题

[复制链接]

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2013-1-22
在线时间
1 小时
发表于 2015-5-13 11:40:05 | 显示全部楼层 |阅读模式
5金钱
问下之前遇到的一个问题,位带操作 如  
 前提是:
 #define PBout(n)   BIT_ADDR(GPIOB_ODR_Addr,n)  //输出
  #define IIC_SDA    Bout(11) //SDA  

  则 IIC_SDA = 1; 和 GPIO_SetBits( GPIOB, GPIO_Pin_11 );是否完全等效

当做输入的时候:
 #define PBin(n)    BIT_ADDR(GPIOB_IDR_Addr,n)  //输入 
 #define IIC_SDA    Bin(11)  //SDA
则读 IIC_SDA    和 GPIO_ReadInputDataBit( GPIOB, GPIO_Pin_11 ) 又是否完全等效。

还有原子哥在IIC试验中SDA_IN(); 已经设置为输入模式了,IIC_SDA=1;还能够起作用么,可以输出高电平么?求教下各位,谢谢!

//等待应答信号到来
//返回值:1,接收应答失败
//        0,接收应答成功
u8 IIC_Wait_Ack(void)
{
u8 ucErrTime=0;
SDA_IN();      //SDA设置为输入  
IIC_SDA=1;delay_us(1);   
IIC_SCL=1;delay_us(1);  
while(READ_SDA)
{
ucErrTime++;
if(ucErrTime>250)
{
IIC_Stop();
return 1;
}
}
IIC_SCL=0;//时钟输出0   
return 0;  


最佳答案

查看完整内容[请看2#楼]

1,2 是等效的 3 在输入模式下  写1是上拉的意思
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-5-13 11:40:06 | 显示全部楼层
1,2 是等效的
3 在输入模式下  写1是上拉的意思
回复

使用道具 举报

48

主题

132

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
359
金钱
359
注册时间
2015-4-6
在线时间
3 小时
发表于 2015-5-13 21:15:44 | 显示全部楼层
楼主需要学#define关键字
 楼主需要学IO口操作
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-22 13:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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