新手入门
- 积分
- 6
- 金钱
- 6
- 注册时间
- 2017-5-20
- 在线时间
- 21 小时
|
1金钱
为什么我的三线SPI 会不显示呢,代码如下
void OLED_WR_Byte(u8 dat,u8 cmd)
{
u8 i = 0;
OLED_CS=0;
OLED_SCLK=0;
if(cmd == OLED_CMD)
OLED_SDIN=0;
else
OLED_SDIN=1;
OLED_SCLK=1;
for(i=0;i<8;i++)
{
OLED_SCLK=0;
if(dat&0x80)OLED_SDIN=1;
else OLED_SDIN=0;
OLED_SCLK=1;
dat<<=1;
}
OLED_CS=1;
}
//GPIO初始化
GPIO_InitTypeDef GPIO_InitStructure;
//SPI_InitTypeDef SPI_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE );//PORTBê±Öóê1Äü
//RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE );//SPI2ê±Öóê1Äü
//SPI_SSOutputCmd(SPI2,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //PB13/14/15¸′óÃíÆíìêä3ö
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);//3õê¼»ˉGPIOB
GPIO_SetBits(GPIOB,GPIO_Pin_13|GPIO_Pin_15);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;//Ƭѡ
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);//3õê¼»ˉGPIOB
GPIO_SetBits(GPIOB,GPIO_Pin_5);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;//
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);//3õê¼»ˉGPIOB
GPIO_SetBits(GPIOB,GPIO_Pin_3);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
原理图
不应该有错啊,按照原子的教程来写的
|
-
|