CH32V307WCU6 , 只要設(shè)置SPI_NSS_HARD, SPI發(fā)送就不工作

? ? GPIO_InitTypeDef GPIO_InitStructure = { 0 };

? ? SPI_InitTypeDef SPI_InitStructure = { 0 };


? ? RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE);

? ? RCC_APB1PeriphClockCmd( RCC_APB1Periph_SPI3, ENABLE);


? ? GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;? ?//nss

? ? GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

? ? GPIO_Init( GPIOA, &GPIO_InitStructure);

? ? GPIO_SetBits(GPIOA, GPIO_Pin_15);


? ? GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;? ?//sck

? ? GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

? ? GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

? ? GPIO_Init( GPIOB, &GPIO_InitStructure);


? ? GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;? ?//miso

? ? GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

? ? GPIO_Init( GPIOB, &GPIO_InitStructure);


? ? GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;? ?//mosi

? ? GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

? ? GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

? ? GPIO_Init( GPIOB, &GPIO_InitStructure);


? ? SPI_InitStructure.SPI_Direction =SPI_Direction_1Line_Tx;// SPI_Direction_2Lines_FullDuplex;

? ? SPI_InitStructure.SPI_Mode = SPI_Mode_Master;

? ? SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b;

? ? SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;

? ? SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;

? ? SPI_InitStructure.SPI_NSS =SPI_NSS_Hard;

? ? SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_64; //SPI_BaudRatePrescaler_64;

? ? SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;

? ? SPI_InitStructure.SPI_CRCPolynomial = 7;

? ? SPI_Init( SPI3, &SPI_InitStructure);

? ? SPI_Cmd( SPI3, ENABLE);


上面是SP3配置的代碼, 只要設(shè)置成SPI_NSS_HARD , spi 就不工作啦, 我用的是RTL8201F的phy, 所以智能使用SPI3,

但是沒有做重映射.? PA15是 NSS, 把它設(shè)置成這個模式 GPIO_Mode_AF_PP ,SPI可以發(fā)數(shù)據(jù),但是NSS(PA15)始終為高電平,不拉低.

咋整? 謝謝

個人信息保護,已隱藏

13910653233?


?GPIO_InitTypeDef GPIO_InitStructure = { 0 };

? ? SPI_InitTypeDef SPI_InitStructure = { 0 };


? ? RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOA , ENABLE);

? ? RCC_APB1PeriphClockCmd( RCC_APB1Periph_SPI3, ENABLE);


? ? GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;? ?//nss

? ? GPIO_InitStructure.GPIO_Mode =GPIO_Mode_AF_PP;// GPIO_Mode_IPU;

? ? GPIO_Init( GPIOA, &GPIO_InitStructure);

? ? GPIO_SetBits(GPIOA, GPIO_Pin_15);


? ? GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;? ?//sck

? ? GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

? ? GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

? ? GPIO_Init( GPIOB, &GPIO_InitStructure);


? ? GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;? ?//miso

? ? GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

? ? GPIO_Init( GPIOB, &GPIO_InitStructure);


? ? GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;? ?//mosi

? ? GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

? ? GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

? ? GPIO_Init( GPIOB, &GPIO_InitStructure);


? ? SPI_InitStructure.SPI_Direction =SPI_Direction_1Line_Tx;// SPI_Direction_2Lines_FullDuplex;

? ? SPI_InitStructure.SPI_Mode = SPI_Mode_Master;

? ? SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b;

? ? SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;

? ? SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;

? ? SPI_InitStructure.SPI_NSS =SPI_NSS_Hard;

? ? SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_64; //SPI_BaudRatePrescaler_64;

? ? SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;

? ? SPI_InitStructure.SPI_CRCPolynomial = 7;


? ? SPI_Init( SPI3, &SPI_InitStructure);

? ? SPI_SSOutputCmd(SPI3, DISABLE);

? ? SPI_Cmd( SPI3, ENABLE);

?這樣也不行


image.png

這是 Debug SPI各個寄存器的值


你好,硬件片選,NSS需要接一個上拉電阻,然后?這個也要使能SPI_SSOutputCmd(SPI3, ENABLE);


你好, 上拉電阻焊上了也不起作用哦?

再說他本來就是高電平哦



image.pngNSS引腳初始化的時候為推挽復(fù)用輸出 ?,你配置的是推挽輸出


您好,?GPIO_Mode_Out_PP /?GPIO_Mode_AF_PP? ?/ GPIO_Mode_IPU 這幾種都試過了 也上拉了

都不行.....

基本準備放棄了

謝謝您



您好,需要注意一下,當配置SPI為主模式且使用硬件NSS時,置MSTR位和SPE位,需要保證NSS此時已經(jīng)是高。即在配置SPI設(shè)備為主設(shè)備且啟用SPI之前,SSOE要置位,要調(diào)用SPI_SSOutputCmd函數(shù)且ENABLE,如下圖。

image.png

image.png



只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频