OpenEdv-开源电子网

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

stm32f205驱动NRF905 写入与读取 一直是0xff,不知道哪里有问题。spi驱动其他的芯片是可以的。

[复制链接]

115

主题

548

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2100
金钱
2100
注册时间
2013-11-27
在线时间
518 小时
发表于 2015-5-2 22:09:32 | 显示全部楼层 |阅读模式
5金钱




这是时序,我配置的spi如下。


gpio_cfg((uint32_t)FLASH_CS_PORT, FLASH_CS_PIN, GPIO_Mode_Out_PP);

gpio_cfg((uint32_t)FLASH_CLK_PORT, FLASH_CLK_PIN, GPIO_Mode_AF_PP);
gpio_cfg((uint32_t)FLASH_MISO_PORT, FLASH_MISO_PIN, GPIO_Mode_AF_IF);
gpio_cfg((uint32_t)FLASH_MOSI_PORT, FLASH_MOSI_PIN, GPIO_Mode_AF_PP);
gpio_cfg((uint32_t)FLASH_WP_PORT, FLASH_WP_PIN, GPIO_Mode_Out_PP);

GPIO_PinAFConfig(FLASH_CLK_PORT, FLASH_CLK_PIN_SOURCE, GPIO_AF_SPI2);
GPIO_PinAFConfig(FLASH_MISO_PORT, FLASH_MISO_PIN_SOURCE, GPIO_AF_SPI2);
GPIO_PinAFConfig(FLASH_MOSI_PORT, FLASH_MOSI_PIN_SOURCE, GPIO_AF_SPI2);

gpio_cfg((uint32_t)NRF905_TXEN_PORT, NRF905_TXEN_PIN, GPIO_Mode_Out_PP);
gpio_cfg((uint32_t)NRF905_TRXEN_PORT, NRF905_TRXEN_PIN, GPIO_Mode_Out_PP);
gpio_cfg((uint32_t)NRF905_PWR_PORT, NRF905_PWR_PIN, GPIO_Mode_Out_PP);

FLASH_CS_DISABLE;

SPI_InitStruct.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
SPI_InitStruct.SPI_Mode = SPI_Mode_Master;
SPI_InitStruct.SPI_CPHA =SPI_CPHA_1Edge;
SPI_InitStruct.SPI_CPOL = SPI_CPOL_Low;
SPI_InitStruct.SPI_DataSize = SPI_DataSize_8b;
SPI_InitStruct.SPI_FirstBit = SPI_FirstBit_MSB;
SPI_InitStruct.SPI_NSS = SPI_NSS_Soft;
SPI_InitStruct.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_32;
SPI_InitStruct.SPI_CRCPolynomial=7;
SPI_Init(SPI2, &SPI_InitStruct);

SPI_Cmd(SPI2, ENABLE);

为什么不对啊?在读写之前我把芯片设置为stby模式了,每次读写命令 都是用片选来切换的,还有哪里注意的问题。有没有人用过啊。时钟频率最高是10M 我都配置了1M以下了还是不能用。

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

使用道具 举报

115

主题

548

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2100
金钱
2100
注册时间
2013-11-27
在线时间
518 小时
 楼主| 发表于 2015-5-2 22:11:42 | 显示全部楼层
void Config905(void)
{
char i;
char RxBuf[10];
FLASH_CS_ENABLE; // Spi enable for write a spi command
for (i=0;i<11;i++) // Write configration words  ??·?????×?
{
  SPI1_ReadWriteByte(RFConf);
}
FLASH_CS_DISABLE; // Disable Spi

nrf905_Delay_ms(1000);
FLASH_CS_ENABLE;
SPI1_ReadWriteByte(0x10);
for(i=0;i<10;i++)
{
  RxBuf = SPI1_ReadWriteByte(0xff);
}
  FLASH_CS_DISABLE;
}


读取的时候,我参数给的什么,读出来的就是什么,
回复

使用道具 举报

115

主题

548

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2100
金钱
2100
注册时间
2013-11-27
在线时间
518 小时
 楼主| 发表于 2015-5-2 22:22:24 | 显示全部楼层
还有貌似f205的spi引脚,miso mosi sck不是固定的组合啊,是可以随便配置的,是不是啊?不像f103 映射的话,只能固定的组合。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

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

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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