关于mini v3.3 spi 1 与 RFID RC522 通信问题
//SDA: PA4
//RST: PA3
//CLK: PA5
//MISO: PA6
//MOSI: PA7
void rc522_SPI1_Init(void)
{
RCC->APB2ENR|=1<<0; //alternate function IO reset
RCC->APB2ENR|=1<<2; //all IO port A reset
RCC->APB2ENR|=1<<3; //all IO port B reset
RCC->APB2ENR|=1<<12; // SPI1 clock enable
GPIOA->CRL&=0X00003FFF; //
GPIOA->CRL|=0XBBB33000; //PA 4 SDA(CS)3(RST)5(CLK)6(MISO)7(MOSI) 8->B on May 27
//GPIOA->ODR|=0X7<<5; //PA5.6.7éÏà-
SPI1->CR1|=0<<10;
SPI1->CR1|=1<<9;
SPI1->CR1|=1<<8;
SPI1->CR1|=1<<2; //SPIÖ÷»ú
SPI1->CR1|=0<<11;//8bitêy¾Y¸ñê½
SPI1->CR1&=~0x02; //¿ÕÏDÄ£ê½ÏÂSCKÎa0 CPOL=0
SPI1->CR1&=~0x01; //êy¾Y2éÑù′óμúò»¸öê±¼ä±ßÑØ¿aê¼,CPHA=0
SPI1->CR1|=7<<3; //Fsck=Fcpu/4 //7 -> 6 on May 27
SPI1->CR1|=0<<7; //MSBfirst
SPI1->CR1|=1<<6; //SPIé豸ê1Äü
}
spi相关设置如上描述
其中很奇怪的是一开始我用示波器看SCK 一直处在3.3V高电平
将MISO改为复用推挽输出后 居然测到时钟了,时钟正常。这里就很奇怪
接着抓miso来看, 有波形但是基本在3V上下,幅度很小大概在500mv左右,不知道为什么大概八个10一重复。
spi这个几个io口到底应该怎么设置呢?
谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>