OpenEdv-开源电子网

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

spi1 重映射

[复制链接]

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
发表于 2013-8-14 19:51:24 | 显示全部楼层 |阅读模式
<1>RCC->APB2ENR|=1<<0;//开启AFIO时钟
<2>RCC->APB2ENR|=1<<3;//开启PB时钟(开启待重映射管脚的时钟)
   RCC->APB2ENR|=1<<2;//开启PA时钟(开启待重映射管脚的时钟)
<3>AFIO->MAPR|=1<<0; //SPI1端口复用功能开启
<4>GPIOB->CRL&=0XFF000FFF;// PB3、4、5配置为复用功能输出
   GPIOB->CRL|=0X00BBB000;
   GPIOA->CRH&=0X0FFFFFFF;// PA15配置为复用功能输出
   GPIOA->CRH|=0XB0000000;

在做无线通信的时候,管脚冲突了,想把spi1的管脚重映射,以上配置后,尝试了总是不行,不知道哪里出问题了。求帮忙

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-14 22:25:17 | 显示全部楼层
你这段代码没问题啊。
测量下SCK输出,正常不?
用while(1)循环发送OXFF之类的数据,以让SCK维持时钟输出。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-8-15 09:14:01 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
不是有个检测NRF24L01的函数吗?
u8 NRF24L01_Check(void)
{
u8 buf[5]={0XA5,0XA5,0XA5,0XA5,0XA5};
u8 i;
SPIx_SetSpeed(SPI_SPEED_8); //spi速度为9Mhz(24L01的最大SPI时钟为10Mhz)     
NRF24L01_Write_Buf(WRITE_REg+TX_ADDR,buf,5);//写入5个字节的地址.
NRF24L01_Read_Buf(TX_ADDR,buf,5); //读出写入的地址  
for(i=0;i<5;i++)if(buf!=0XA5)break;      
if(i!=5)return 1;//检测24L01错误
return 0;  //检测到24L01
}    
从这里可以看出哪里正常不正常?
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-8-15 09:46:06 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
不好意思了,原子哥,我从百度搜索了下,搜索到了各种SPI1重映射的问题,有的说是不是不能重映射,有bug,也在阿莫论坛上面看到了很多讨论(我没钱注册),希望原子哥能给个正确的SPI1重映射配置(结合NRF24l01的实验)。
以下是一些谈论和疑惑:
http://www.amobbs.com/thread-5505352-1-1.html
http://www.amobbs.com/thread-5505231-1-1.html
http://www.amobbs.com/thread-4022013-1-1.html
http://www.amobbs.com/thread-3674252-1-1.html
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-8-15 10:39:37 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
更是发现了一个奇怪的现象:#define NRF24L01_CE   Aout(15) //24L01片选信号
这个片选信号要不要都没关系,不接入电路中(悬空)也能照样工作(在没重映射的情况下,重映射还没弄好),但是程序的模式设置(接收和发射)是在CE的上升沿的中设置的。奇怪了。。。。。
回复 支持 反对

使用道具 举报

25

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-8-15 12:10:38 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
http://www.openedv.com/posts/list/0/19850.htm#112341问题解决了,我把总结贴出来了。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-15 14:21:34 | 显示全部楼层
回复【6楼】回首看那个曾经的我:
---------------------------------
谢谢分享。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

124

帖子

0

精华

初级会员

Rank: 2

积分
169
金钱
169
注册时间
2013-8-12
在线时间
0 小时
发表于 2014-5-29 16:02:25 | 显示全部楼层
谢楼主啊,正需要
当你想到自己还一无所有的时候,请记得你还有梦想!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-7 17:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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