STM32F030C6+nrf24l01 SPI配置

发布者:cw57324588最新更新时间:2019-02-15 来源: eefocus关键字:STM32F030C6  nrf24l01  SPI配置 手机看文章 扫描二维码
随时随地手机看文章

void SPI1_Init(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

SPI_InitTypeDef  SPI1_InitStructure;


RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);


//PB13:SCK PB14:MISO PB15:MOSI

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;

GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;

GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_UP;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;

GPIO_Init(GPIOB,&GPIO_InitStructure);


//PB10:CE   PB12:CS

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_12;

GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;

GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;

GPIO_Init(GPIOB, &GPIO_InitStructure);



//GPIO重映射

GPIO_PinAFConfig(GPIOB,GPIO_PinSource13 |GPIO_PinSource14 | GPIO_PinSource14,GPIO_AF_0);


SPI1_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;

SPI1_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;

SPI1_InitStructure.SPI_CPOL = SPI_CPOL_Low;

SPI1_InitStructure.SPI_CRCPolynomial = 7;

SPI1_InitStructure.SPI_DataSize = SPI_DataSize_8b;

SPI1_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;

SPI1_InitStructure.SPI_FirstBit  = SPI_FirstBit_MSB;

SPI1_InitStructure.SPI_Mode = SPI_Mode_Master;

SPI1_InitStructure.SPI_NSS = SPI_NSS_Soft;

SPI_Init(SPI1,&SPI1_InitStructure);


SPI_RxFIFOThresholdConfig(SPI1,SPI_RxFIFOThreshold_QF);

SPI_Cmd(SPI1,ENABLE);


// SPI1_ReadWriteByte(0xFF);


}


uint8_t SPI1_ReadWriteByte(uint8_t TxData)

{

uint8_t retry = 0;


while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET)

{

retry++;

if(retry > 200)

{

return 0;

}

}


SPI_SendData8(SPI1, TxData);

retry = 0;

while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET)

{

retry++;

if(retry > 200)

{

return 0;

}

}


return SPI_ReceiveData8(SPI1);

}


关键字:STM32F030C6  nrf24l01  SPI配置 引用地址:STM32F030C6+nrf24l01 SPI配置

上一篇:STM32F030C6外部中断问题
下一篇:STM32F030 systick滴答定时器

推荐阅读最新更新时间:2024-03-16 16:24

基于MSP430单片机的多路无线温度检测系统
0 引言 温度在人类日常生活中扮演着极其重要的角色,同时在工农业生产过程中,温度检测具有十分重要的意义。现阶段温度检测主要是有线定点温度检测,其温度检测原理为单片机利用温度传感器检测温度,并在数码管或LCD上进行温度显示。同时由于系统没有报警功能,故需要人为来判断是否需要进行升温或者降温,这使系统的检测丧失了实时性。另外,在某些环境恶劣的工业环境,以人工方式直接操作设置仪表测量温度也不现实,因此采用无线方式进行温度检测尤为必要。 目前有些设计能够实现无线温度采集,但功耗过高是其最大的缺点。在实际温度控制过程中既要求系统具有稳定性、实时性,又需要使系统功耗低及保证温度的均匀性,因此设计一种低功耗的多点无线温度检测系统很有意义
[单片机]
基于MSP430单片机的多路无线温度检测系统
调试好的nRF24L01库文件 单片机源程序
单片机源程序如下: #include nRF24L01Drv.h #include USART.h #include stdio.h #include config.h #include intrins.h #include spi.h /** * 1.改多路方法: * NUM_USED_PIPE 改为使用的路数, RX_ADDRESS 分别指定 RX的地址, * RX_PLOAD_WIDTH 改为每一路的PAYLOAD * NRF24L01_RxPacket 里面知道是哪一路在接收 * * * 2. 发送时自动将CONFIG 备份,然后切换TX后再切换回去 * 并且备份RX_ADDR_P0 * * 3. 通道0,
[单片机]
STM32 软件模拟SPI时序驱动NRF24L01
其实stm32本身的硬件SPI也很好用,但是还是想用软件来模拟一下PSI的时序。 SPI 是一种高速的,全双工,同步串行的通信总线。SPI通信方式相当于是一个环形结构,由CSN、MISO、MOSI、SCLK四线组成,主要是在SCLK时钟线的驱动下,进行数据转换。 接下来直接上程序配置: 使用32模拟SPI时序的IO口配置,应该注意的是MISO应该选择模拟输入方式GPIO_Mode_IN_FLOATING。 以下是我的初始化部分: /*用于软件模拟SPI IO口宏定义区*/#define SPI_CS_PORT GPIOB#define SPI_CS_PIN GPIO_Pin_11#define SPI_CS_LOW
[单片机]
STM32 软件模拟<font color='red'>SPI</font>时序驱动<font color='red'>NRF24L01</font>
STM32--使用SPI1和SPI3配置nrf24l01
正点原子自带的nrf24l01的例程是SPI2的,现在我使用了SPI1和SPI3来配置nrf24l01,芯片型号是STM32F103ZET6。 使用SPI1配置nrf24l01 spi.c //这里针是对SPI1的初始化 void SPI1_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; SPI_InitTypeDef SPI_InitStructure; RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE );//PORTA时钟使能 RCC_APB2PeriphClockCmd( RCC_APB2P
[单片机]
SPI nRF24L01 无线简单程序 1
main.c 1 #include reg51.h 2 #include api.h 3 4 #define uchar unsigned char 5 6 /***************************************************/ 7 #define TX_ADR_WIDTH 5 // 5字节宽度的发送/接收地址 8 #define TX_PLOAD_WIDTH 4 // 数据通道有效数据宽度 9 #define LED P2 10 11 uchar code TX_ADDRESS = {0x34,0x43,0x10,0x10,0x01}; // 定义一个静态发送地
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved