打印
[N32G430]

N32 SPI驱动不了0.96tft屏幕(ST7735)

[复制链接]
679|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ZHI123456|  楼主 | 2025-4-26 23:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    GPIO_InitStructure.Pin            = SPI_MASTER_MOSI_PIN | SPI_MASTER_CLK_PIN ;
    GPIO_InitStructure.GPIO_Mode      = GPIO_MODE_AF_PP;
    GPIO_InitStructure.GPIO_Slew_Rate = GPIO_SLEW_RATE_FAST;
    GPIO_InitStructure.GPIO_Alternate = SPI_MASTER_GPIO_ALTERNATE;
    GPIO_Peripheral_Initialize(SPI_MASTER_GPIO, &GPIO_InitStructure);
    /* If CLKPOL is HIGH, set SPI_SCK GPIO to GPIO_PULL_UP, otherwise set to GPIO_PULL_DOWN */
    GPIO_InitStructure.Pin            = SPI_MASTER_CLK_PIN;
    GPIO_InitStructure.GPIO_Mode      = GPIO_MODE_AF_PP;
    GPIO_InitStructure.GPIO_Slew_Rate = GPIO_SLEW_RATE_FAST;
    GPIO_InitStructure.GPIO_Pull      = GPIO_PULL_UP;
    GPIO_InitStructure.GPIO_Alternate = SPI_MASTER_GPIO_ALTERNATE;
    GPIO_Peripheral_Initialize(SPI_MASTER_GPIO, &GPIO_InitStructure);

    SPI_Initializes_Structure(&SPI_InitStructure);
    SPI_InitStructure.DataDirection = SPI_DIR_SINGLELINE_TX;
    SPI_InitStructure.SpiMode       = SPI_MODE_MASTER;
    SPI_InitStructure.DataLen       = SPI_DATA_SIZE_8BITS;
    SPI_InitStructure.CLKPOL        = SPI_CLKPOL_HIGH;
    SPI_InitStructure.CLKPHA        = SPI_CLKPHA_SECOND_EDGE;
    SPI_InitStructure.NSS           = SPI_NSS_SOFT;
    /* It is recommended that the SPI master mode of the C version chips should not exceed 18MHz */
    SPI_InitStructure.BaudRatePres  = SPI_BR_PRESCALER_16;
    SPI_InitStructure.FirstBit      = SPI_FB_MSB;
    SPI_InitStructure.CRCPoly       = 7;
    SPI_Initializes(SPI_MASTER, &SPI_InitStructure);
    SPI_SS_Output_Enable(SPI_MASTER);



   
    /* Enable SPI_MASTER */
    SPI_ON(SPI_MASTER);

    RCC_Pclk2_Config(RCC_HCLK_DIV2);

    /* Enable peripheral clocks --------------------------------------------------*/
    /* spi clock enable */
    RCC_APB2_Peripheral_Clock_Enable(SPI_MASTER_PERIPH);
    /* GPIO Periph clock enable */
    RCC_AHB_Peripheral_Clock_Enable(SPI_MASTER_PERIPH_GPIO );




void LCD_Writ_Bus(u8 dat)
{       
//        u8 i;
//        LCD_CS_Clr();
//        for(i=0;i<8;i++)
//        {                          
//                LCD_SCLK_Clr();
//                if(dat&0x80)
//                {
//                   LCD_MOSI_Set();
//                }
//                else
//                {
//                   LCD_MOSI_Clr();
//                }
//                LCD_SCLK_Set();
//                dat<<=1;
//        }       
// LCD_CS_Set();       
              LCD_CS_Clr();
        //        LCD_CS_Set();       
             while (SPI_I2S_Flag_Status_Get(SPI1, SPI_I2S_FLAG_TE) == RESET);
        /* Send SPI_SLAVE data */
   SPI_I2S_Data_Transmit(SPI1,dat);
                                LCD_CS_Set();       
}

使用特权

评论回复
沙发
技术工程师| | 2025-5-9 13:51 | 只看该作者
SPI_BR_PRESCALER_16要不改小一些试下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

8

帖子

0

粉丝