数码管模块电路图
/*****************************************************************
Updated TIme: 12th,12,2015
FuncTIon:通过MAX7219驱动数码管
******************************************************************/
#include “delay.h”
#include “sys.h”
#include “usart.h”//串口通信
#define Max7219_pinCLK PAout(5)
#define Max7219_pinCS PAout(3)
#define Max7219_pinDIN PAout(7)
/****************************************************************************
* 名称:SPI1_Init(void)
* 功能:STM32_SPI1硬件配置初始化
* 入口参数:无
* 出口参数:无
* 说明:STM32_SPI1硬件配置初始化,使用3V3
****************************************************************************/
void SPI1_Init(void)
{
SPI_InitTypeDef SPI1_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
//配置SPI1管脚
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOA, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;//SPI1相关引脚
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;//推挽复用功能
GPIO_Init(GPIOA,&GPIO_InitStructure);
SPI1_InitStructure.SPI_DirecTIon=SPI_DirecTIon_2Lines_FullDuplex;//设置SPI单向或者双向的数据模式;SPI设置为双线双向全双工
SPI1_InitStructure.SPI_BaudRatePrescaler=SPI_BaudRatePrescaler_64;//定义波特率预分频值;波特率预分频64
SPI1_InitStructure.SPI_DataSize=SPI_DataSize_8b;//设置SPI的数据大小;SPI发送接收8位帧结构
SPI1_InitStructure.SPI_Mode=SPI_Mode_Master;//设置SPI工作模式;设置为主SPI
SPI1_InitStructure.SPI_FirstBit=SPI_FirstBit_MSB; //高位MSB在先
SPI1_InitStructure.SPI_CPOL = SPI_CPOL_High; //选择了串行时钟的稳态,时钟悬空高
SPI1_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;//数据捕获于第二个时钟沿
SPI1_InitStructure.SPI_NSS = SPI_NSS_Soft; //使用软件模式,
SPI1_InitStructure.SPI_CRCPolynomial = 7;//CRC值计算的多项式
SPI_I2S_DeInit(SPI1);
SPI_Init(SPI1, &SPI1_InitStructure); //根据指定的参数初始化
SPI_Cmd(SPI1, ENABLE); //SPI使能
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)