野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10266|回复: 6

用F429驱动nrf24l01 但spi的DR数据寄存器总是保持0xff

[复制链接]
发表于 2016-5-20 14:33:20 | 显示全部楼层 |阅读模式
大体模仿iso-v3的程序,用引出的spi1当成数据端口,但是每次调用nrfcheck()的时候,总显示没连接成功,最后单步调试时发现给DR寄存器赋值后,总是显示0xff,不知道怎么处理? 请大家帮忙看看
回复

使用道具 举报

发表于 2016-5-20 15:49:55 | 显示全部楼层
会不会是某些地方的延时出错,因为F429的速度是比较快的,还有一个原因可能就是429的SPI1已经被用, 你再用就存在复用的情况,应该也有些影响。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-20 15:57:00 | 显示全部楼层
fire 发表于 2016-5-20 15:49
会不会是某些地方的延时出错,因为F429的速度是比较快的,还有一个原因可能就是429的SPI1已经被用, 你再用 ...

我用的就是至尊板,用的就是引出的spi1,不知道还有什么在用吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-20 16:01:44 | 显示全部楼层
fire 发表于 2016-5-20 15:49
会不会是某些地方的延时出错,因为F429的速度是比较快的,还有一个原因可能就是429的SPI1已经被用, 你再用 ...

用的是至尊板,不知道还有什么占用吗?我只驱动nrf24l01,我那个是
void SPI_I2S_SendData(SPI_TypeDef* SPIx, uint16_t Data)
{
  /* Check the parameters */
  assert_param(IS_SPI_ALL_PERIPH_EXT(SPIx));
  
  /* Write in the DR register the data to be sent */
  SPIx->DR = Data;
}
之前DR 显示0x00,调用赋值之后变成0xff了

回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-20 16:05:53 | 显示全部楼层
void SPI_I2S_SendData(SPI_TypeDef* SPIx, uint16_t Data)
{
  /* Check the parameters */
  assert_param(IS_SPI_ALL_PERIPH_EXT(SPIx));
  
  /* Write in the DR register the data to be sent */
  SPIx->DR = Data;
}
会不会是keil4的寄存器显示不了你往里写的数据,只能显示接收的数据,但为什么一开始是0x00呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-20 16:06:36 | 显示全部楼层
void SPI_I2S_SendData(SPI_TypeDef* SPIx, uint16_t Data)
{
  /* Check the parameters */
  assert_param(IS_SPI_ALL_PERIPH_EXT(SPIx));
  
  /* Write in the DR register the data to be sent */
  SPIx->DR = Data;
}
会不会是keil4的寄存器显示不了你往里写的数据,只能显示接收的数据,但为什么一开始是0x00呢
回复 支持 反对

使用道具 举报

发表于 2017-5-3 20:00:26 | 显示全部楼层
SCK MOIS MISO 输出速率不能超过10MHz
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-27 13:46 , Processed in 0.028755 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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