OpenEdv-开源电子网

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

关于IO口输出输入转换,要注意什么?我这输出转输入遇到问题。

[复制链接]

62

主题

275

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1155
金钱
1155
注册时间
2012-3-4
在线时间
80 小时
发表于 2013-11-10 20:38:55 | 显示全部楼层 |阅读模式
void PDATin(void)
    {
GPIOB->CRH&=0X0FFFFFFF;
GPIOB->CRH|=0X80000000;//PB15 输入
GPIOB->ODR=1<<15;//15输入上拉 DAT
}
void PDATout(void)
    {
GPIOB->CRH&=0X0FFFFFFF;
GPIOB->CRH|=0X30000000;//PB15 推挽输出 
}

这两个函数分别用在IO口读写NRF2401A,写函数没有问题,用stm32发射,51接收很好,但是用stm32 接收(用到ReadByte函数,此时IO是输入),但是屏蔽这个函数,模块正常一直可以收到数据(只是没有读取,但是DR1中断信号一直都有,断开发射就没有,说明收发正常)。一旦开启这个读的函数,就傻了,DR1再也收不到信号了。


#define POW_UP PBout(9)
#define CE PBout(12)
#define CS PBout(11)
#define DR1 PBin(10)
#define SCK PBout(13)
#define DATout PBout(15)
#define DATin PBin(15)
/*****************************************************************************************/
//函数名:U8 ReadByte(void)
//输入:无
//输出:读出的数据
//功能描述:读出一个字节
/*****************************************************************************************/
U8 ReadByte(void)
{
U8 i,temp;
temp = 0;
//PDATin();//读数据,打开这个就傻了,不打开就很好,只是读不出数据而已。
SCK = 0;
delay_us(1);
for(i=0; i<8; i++)
{
temp <<= 1;
SCK = 1;
if(DATin)
temp++; 
SCK = 0;
}
return temp;
}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-11-10 22:27:34 | 显示全部楼层
回复【楼主位】l1234564555:
---------------------------------
void DATin(void)
    {
GPIOB->CRH&=0X0FFFFFFF;
GPIOB->CRH|=0X80000000;//PB15 输入
GPIOB->ODR=1<<15;//15输入上拉 DAT
}
改为:
void DATin(void)
    {
GPIOB->CRH&=0X0FFFFFFF;
GPIOB->CRH|=0X80000000;//PB15 输入
GPIOB->ODR|=1<<15;//15输入上拉 DAT
}
试试。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

62

主题

275

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1155
金钱
1155
注册时间
2012-3-4
在线时间
80 小时
 楼主| 发表于 2013-11-10 22:33:14 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
果然如此,确实这样,复制别的地方没看到。两天了啊,就这样两天什么进度都没有,感谢啊。我用15 out 输出配置写,读的时候用14 in 竟然可以。
回复 支持 反对

使用道具 举报

62

主题

275

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1155
金钱
1155
注册时间
2012-3-4
在线时间
80 小时
 楼主| 发表于 2013-11-10 22:33:49 | 显示全部楼层
应该就是这个in 没转成功。哈哈,万分感谢
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-9 10:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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