你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
andrewz 发表于 2016-10-24 08:54 如果要看具体的寄存器,你首先得告诉我芯片是什么型号..
snjeym 发表于 2016-10-24 10:07 不好意思,我的片子是stm32L476
snjeym 发表于 2016-10-25 22:35 问题已经解决,是cube设置的时候设置成了实验用的单发模式,后来改变后应该是没有更新工程,所以造成了stm3 ...
不好意思,我的片子是stm32L476
你的NSS置位了没?软件设置它始终为master.
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.
}
我也遇到了spi不能通信的问题,想问一下这个单发模式在cube的哪个位置设置,我想检查一下自己的是不是也设置了。芯片用的也是L系列。