你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

spi通信,一直接收不到数据

[复制链接]
lslp 提问时间:2015-7-22 13:50 /
阅读主题, 点击返回1楼
收藏 1 评论35 发布时间:2015-7-22 13:50
35个回答
snjeym 回答时间:2016-10-24 10:07:37
andrewz 发表于 2016-10-24 08:54
如果要看具体的寄存器,你首先得告诉我芯片是什么型号..

不好意思,我的片子是stm32L476
andrewz 回答时间:2016-10-24 10:15:18
snjeym 发表于 2016-10-24 10:07
不好意思,我的片子是stm32L476

你的NSS置位了没?软件设置它始终为master.
andrewz 回答时间:2016-10-24 12:21:07
SPI很简单的,给你贴一个我现在用的.

void Spi_init(SPI_TypeDef *p){
    RCC->APB2ENR|=RCC_APB2ENR_IOPAEN|RCC_APB2ENR_SPI1EN;
    GPIOA->CRL&=0x0000FFFF;                     //PA4 CS    /5 CLK      /6 MISO     /7 MOSI SPI.
    GPIOA->CRL|=0xB8B30000;                     //PA4 CS O  /5 CLK AFO  /6 MISO AFI /7 MOSI AFO.
    GPIOA->ODR|=GPIO_ODR_ODR4|GPIO_ODR_ODR5|GPIO_ODR_ODR6|GPIO_ODR_ODR7;    //CS H/MISO H.
    p->CR1|=SPI_CR1_MSTR;                       //master configuration.
    p->CR1|=SPI_CR1_DFF;                        //16-bit data frame format.
    p->CR1|=SPI_CR1_CPHA;                       //CPOL=0 CPHA=1. mode 1.
    p->CR1|=SPI_CR1_BR_1;                       //f_PCLK/8=9MHz.
    p->CR1|=SPI_CR1_SPE|SPI_CR1_SSM|SPI_CR1_SSI;//enable spi.
}

st.png
snjeym 回答时间:2016-10-25 22:35:28
问题已经解决,是cube设置的时候设置成了实验用的单发模式,后来改变后应该是没有更新工程,所以造成了stm32l4xx_hal_msp.c这个函数配置有问题,改正后正常。
snjeym 回答时间:2016-10-25 22:35:43
问题已经解决,是cube设置的时候设置成了实验用的单发模式,后来改变后应该是没有更新工程,所以造成了stm32l4xx_hal_msp.c这个函数配置有问题,改正后正常。
nidayededaye 回答时间:2020-7-31 08:52:49
snjeym 发表于 2016-10-25 22:35
问题已经解决,是cube设置的时候设置成了实验用的单发模式,后来改变后应该是没有更新工程,所以造成了stm3 ...

我也遇到了spi不能通信的问题,想问一下这个单发模式在cube的哪个位置设置,我想检查一下自己的是不是也设置了。芯片用的也是L系列。
1234

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版