完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
基于stm32f030控制NRF24l01射频模块,基于库开发,spi总线通讯。
项目研发流程 一、查资料,购买开发模块,16块钱的NRF24l01射频模块,stm32f030f4开发小板 二、参考模块资料的例程,基于stm32f103的程序。 三、学习stm32f030的开发资料,知道IO功能配置,复用功能配置,基本库函数,和工程文件结构。 四、移植程序 1、学会运用硬件SPI控制器,运用库函数。 2、写一个void SPI__Init(uint8_t a);函数 里面包括管脚定义SPI接口定义,复用功能定义。SPI初始化定义 SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; SPI_InitStructure.SPI_Mode = SPI_Mode_Master; SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;//8bit SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16; SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; SPI_InitStructure.SPI_CRCPolynomial = 7; SPI_Init(SPI1, &SPI_InitStructure); SPI_RxFIFOThresholdConfig(SPI1, SPI_RxFIFOThreshold_QF); //stm32新版的SPI加了FIFO,需清除缓存 SPI_Cmd(SPI1, ENABLE); //使能 SPIx_ReadWriteByte(0xff); 3、写MFRC522的初始化程序 主要包括管脚定义,检测函数,收发功能函数。 uint8_t NRF24L01_Check(void) 通过读写寄存器,验证值,来检测SPI通讯是否成功。硬件连接是否正常。 TX_Mode() RX_Mode() 收发模式转换函数 /***************************************************** 中断配置 *********************************************************/ SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0); NVIC_InitStruct.NVIC_IRQChannel = EXTI0_1_IRQn; //中断入口 NVIC_InitStruct.NVIC_IRQChannelPriority = 0x01; NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStruct); EXTI_ClearITPendingBit(EXTI_Line0); EXTI_InitStruct.EXTI_Line = EXTI_Line0; //NRF24L01 IRQ PA0 EXTI_InitStruct.EXTI_Mode = EXTI_Mode_Interrupt; //中断模式 EXTI_InitStruct.EXTI_Trigger = EXTI_Trigger_Falling; //上升沿中断 EXTI_InitStruct.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStruct); 中断服务函数 void EXTI0_1_IRQHandler(void) 通过stm32f0xx.h查找中断向量表,把中断源和中断服务函数对应 只要实现基本的收发数据功能函数,就可以应用了。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1936浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
729浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
569浏览 3评论
594浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
552浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 18:36 , Processed in 0.708542 second(s), Total 45, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号