• 大小: 5KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: 其他
  • 标签: 74HC595  

资源简介

HAL库版本,硬件SPI驱动74HC595,函数斜的很清楚,已经实现

资源截图

代码片段和文件信息

/******************************************************************************
* Copyright 2018-2028 MK.
* FileName:   74HC595.c 
* Desc:


* Author: 
* Date:   
* Notes: 

* -----------------------------------------------------------------
* Histroy: v1.0    

******************************************************************************/



#include “74HC595.h“
/* ?óê±?£?é82615468 sp-320-12
 * */
 
SPI_HandleTypeDef hspi_HC595;
static uint8_t Knum=0;
static void delay(uint32_t t)
{
uint32_t i;
while(t--)
for (i = 0; i < 1; i++);
}

/******************************************************************************
* Name:   HC595Init 
*
* Desc:   HC5953?ê??ˉ
* Param:   
* Return:   
* Global:   
* Note:   
* Author:   
* -------------------------------------
* Log:   
 ******************************************************************************/
void HC595Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;

/* SPI1íaéèê±?óê1?ü */
__HAL_RCC_SPI1_CLK_ENABLE();
  /* GPIO Ports Clock Enable */
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();


hspi_HC595.Instance = HC595_SPIx;
hspi_HC595.Init.Mode = SPI_MODE_MASTER;
hspi_HC595.Init.Direction = SPI_DIRECTION_2LINES;
hspi_HC595.Init.DataSize = SPI_DATASIZE_8BIT;
hspi_HC595.Init.CLKPolarity = SPI_POLARITY_LOW;
hspi_HC595.Init.CLKPhase = SPI_PHASE_1EDGE;
hspi_HC595.Init.NSS = SPI_NSS_SOFT;
hspi_HC595.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;
hspi_HC595.Init.FirstBit = SPI_FIRSTBIT_LSB;
hspi_HC595.Init.TIMode = SPI_TIMODE_DISABLE;
hspi_HC595.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
hspi_HC595.Init.CRCPolynomial = 7;
/**HC595 GPIO Configuration 
    PA5      ------> HC595_SCK
    PA6      ------> HC595_MISO
    PA7      ------> HC595_MOSI
    PC4      ------> HC595_CS
    PA4      ------> HC595_RCK
    */
GPIO_InitStructure.Pin = HC595_CLK_PIN | HC595_DATA_PIN;
GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStructure.Mode = GPIO_MODE_AF_PP;
GPIO_InitStructure.Pull = GPIO_PULLUP;
GPIO_InitStructure.Alternate = GPIO_AF5_SPI1;
HAL_GPIO_Init(HC595_SPI_GPIO &GPIO_InitStructure);



GPIO_InitStructure.Pin = HC595_CS_PIN;
GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStructure.Mode = GPIO_MODE_OU

评论

共有 条评论