2022-02-04 10:28:01 索炜达电子 1829
项目编号:E2520
文件大小:2.6M
源码说明:带中文注释
开发环境:C编译器
简要概述:
基于NRF24L01的无线摇杆,含接收和发射端的PCB和原理图, 以及单片机代码。主要原理是,摇杆端单片机采集按键状态,通过NRF24L01发送给接收端, 接收端单片机通过USB接口虚拟成一个USB摇杆设备, 收到摇杆端发过来的数据后,通过USB上报给主机。
Keil代码(需要安装相应的库才能打开)
目录│文件列表:
└ 基于NRF24L01的无线摇杆
├ joystick-Sender-STM32F103C8
│ │ JLinkSettings.ini
│ │ lunzhou.uvgui.Kelly
│ │ lunzhou.uvguix.Kelly
│ │ lunzhou.uvopt
│ │ lunzhou.uvoptx
│ │ lunzhou.uvproj.saved_uv4
│ │ lunzhou.uvprojx
│ ├ Libraries
│ │ ├ CMSIS
│ │ │ │ License.doc
│ │ │ └ Core
│ │ │ ├ CM3
│ │ │ │ │ core_cm3.c
│ │ │ │ │ core_cm3.h
│ │ │ │ │ stm32f10x.h
│ │ │ │ │ system_stm32f10x.c
│ │ │ │ │ system_stm32f10x.h
│ │ │ │ └ startup
│ │ │ │ └ arm
│ │ │ │ │ startup_stm32f10x_cl.s
│ │ │ │ │ startup_stm32f10x_hd.s
│ │ │ │ │ startup_stm32f10x_hd_vl.s
│ │ │ │ │ startup_stm32f10x_ld.s
│ │ │ │ │ startup_stm32f10x_ld_vl.s
│ │ │ │ │ startup_stm32f10x_md.s
│ │ │ │ │ startup_stm32f10x_md_vl.s
│ │ │ │ └ startup_stm32f10x_xl.s
│ │ └ STM32F10x_StdPeriph_Driver
│ │ ├ inc
│ │ │ │ misc.h
│ │ │ │ stm32f10x_adc.h
│ │ │ │ stm32f10x_bkp.h
│ │ │ │ stm32f10x_can.h
│ │ │ │ stm32f10x_cec.h
│ │ │ │ stm32f10x_crc.h
│ │ │ │ stm32f10x_dac.h
│ │ │ │ stm32f10x_dbgmcu.h
│ │ │ │ stm32f10x_dma.h
│ │ │ │ stm32f10x_exti.h
│ │ │ │ stm32f10x_flash.h
│ │ │ │ stm32f10x_fsmc.h
│ │ │ │ stm32f10x_gpio.h
│ │ │ │ stm32f10x_i2c.h
│ │ │ │ stm32f10x_iwdg.h
│ │ │ │ stm32f10x_pwr.h
│ │ │ │ stm32f10x_rcc.h
│ │ │ │ stm32f10x_rtc.h
│ │ │ │ stm32f10x_sdio.h
│ │ │ │ stm32f10x_spi.h
│ │ │ │ stm32f10x_tim.h
│ │ │ │ stm32f10x_usart.h
│ │ │ └ stm32f10x_wwdg.h
│ │ └ src
│ │ │ misc.c
│ │ │ stm32f10x_adc.c
│ │ │ stm32f10x_bkp.c
│ │ │ stm32f10x_can.c
│ │ │ stm32f10x_cec.c
│ │ │ stm32f10x_crc.c
│ │ │ stm32f10x_dac.c
│ │ │ stm32f10x_dbgmcu.c
│ │ │ stm32f10x_dma.c
│ │ │ stm32f10x_exti.c
│ │ │ stm32f10x_flash.c
│ │ │ stm32f10x_fsmc.c
│ │ │ stm32f10x_gpio.c
│ │ │ stm32f10x_i2c.c
│ │ │ stm32f10x_iwdg.c
│ │ │ stm32f10x_pwr.c
│ │ │ stm32f10x_rcc.c
│ │ │ stm32f10x_rtc.c
│ │ │ stm32f10x_sdio.c
│ │ │ stm32f10x_spi.c
│ │ │ stm32f10x_tim.c
│ │ │ stm32f10x_usart.c
│ │ └ stm32f10x_wwdg.c
│ ├ OutPut
│ │ └ Joystick_Sender_F103C8.hex
│ ├ RTE
│ │ └ RTE_Components.h
│ └ SRC
│ │ 24l01.c
│ │ 24l01.h
│ │ IIC.c
│ │ IIC.h
│ │ main.c
│ │ NRF24L01.c
│ │ NRF24L01.h
│ │ spi.c
│ │ spi.h
│ │ STM32F103C8_3.5.lib
│ │ stm32f10x_conf.h
│ │ stm32f10x_it.c
│ └ stm32f10x_it.h
├ PCB-接收发射合在一块板子上,裁开即可
│ │ Joystick.PcbDoc
│ │ Joystick.PrjPCB
│ └ Joystick.SchDoc
└ USB-receiver-STM32F072C8
│ JLinkSettings.ini
│ STM32F042.uvguix.Administrator
│ STM32F042.uvguix.Kelly
│ STM32F042.uvoptx
│ STM32F042.uvprojx
├ Lib
│ ├ inc
│ │ │ stm32f0xx_adc.h
│ │ │ stm32f0xx_can.h
│ │ │ stm32f0xx_cec.h
│ │ │ stm32f0xx_comp.h
│ │ │ stm32f0xx_crc.h
│ │ │ stm32f0xx_crs.h
│ │ │ stm32f0xx_dac.h
│ │ │ stm32f0xx_dbgmcu.h
│ │ │ stm32f0xx_dma.h
│ │ │ stm32f0xx_exti.h
│ │ │ stm32f0xx_flash.h
│ │ │ stm32f0xx_gpio.h
│ │ │ stm32f0xx_i2c.h
│ │ │ stm32f0xx_iwdg.h
│ │ │ stm32f0xx_misc.h
│ │ │ stm32f0xx_pwr.h
│ │ │ stm32f0xx_rcc.h
│ │ │ stm32f0xx_rtc.h
│ │ │ stm32f0xx_spi.h
│ │ │ stm32f0xx_syscfg.h
│ │ │ stm32f0xx_tim.h
│ │ │ stm32f0xx_usart.h
│ │ └ stm32f0xx_wwdg.h
│ ├ src
│ │ │ STM32F042.lib
│ │ │ stm32f0xx_adc.c
│ │ │ stm32f0xx_can.c
│ │ │ stm32f0xx_cec.c
│ │ │ stm32f0xx_comp.c
│ │ │ stm32f0xx_crc.c
│ │ │ stm32f0xx_crs.c
│ │ │ stm32f0xx_dac.c
│ │ │ stm32f0xx_dbgmcu.c
│ │ │ stm32f0xx_dma.c
│ │ │ stm32f0xx_exti.c
│ │ │ stm32f0xx_flash.c
│ │ │ stm32f0xx_gpio.c
│ │ │ stm32f0xx_i2c.c
│ │ │ stm32f0xx_iwdg.c
│ │ │ stm32f0xx_misc.c
│ │ │ stm32f0xx_pwr.c
│ │ │ stm32f0xx_rcc.c
│ │ │ stm32f0xx_rtc.c
│ │ │ stm32f0xx_spi.c
│ │ │ stm32f0xx_syscfg.c
│ │ │ stm32f0xx_tim.c
│ │ │ stm32f0xx_usart.c
│ │ └ stm32f0xx_wwdg.c
│ ├ Sys
│ │ │ arm_common_tables.h
│ │ │ arm_const_structs.h
│ │ │ arm_math.h
│ │ │ core_cm0.h
│ │ │ core_cm0plus.h
│ │ │ core_cm3.h
│ │ │ core_cm4.h
│ │ │ core_cm4_simd.h
│ │ │ core_cmFunc.h
│ │ │ core_cmInstr.h
│ │ │ core_sc000.h
│ │ │ core_sc300.h
│ │ │ stm32f0xx.h
│ │ │ system_stm32f0xx.c
│ │ └ system_stm32f0xx.h
│ └ USB
│ │ joystick1_core.c
│ │ joystick1_core.h
│ │ joystick2_core.c
│ │ joystick2_core.h
│ │ STM32F042USBCore.lib
│ │ usbd_conf.h
│ │ usbd_conf_template.h
│ │ usbd_core.c
│ │ usbd_core.h
│ │ usbd_def.h
│ │ usbd_desc.c
│ │ usbd_desc.h
│ │ usbd_hid_cdc_wrapper.c
│ │ usbd_hid_cdc_wrapper.h
│ │ usbd_ioreq.c
│ │ usbd_ioreq.h
│ │ usbd_pwr.c
│ │ usbd_pwr.h
│ │ usbd_req.c
│ │ usbd_req.h
│ │ usbd_usr.c
│ │ usbd_usr.h
│ │ usb_bsp.c
│ │ usb_bsp.h
│ │ usb_bsp_template.c
│ │ usb_conf.h
│ │ usb_conf_template.h
│ │ usb_core.c
│ │ usb_core.h
│ │ usb_dcd.c
│ │ usb_dcd.h
│ │ usb_dcd_int.c
│ │ usb_dcd_int.h
│ └ usb_regs.h
├ MianC
│ │ 24l01.c
│ │ 24l01.h
│ │ main.c
│ │ readme.txt
│ │ spi.c
│ │ spi.h
│ │ stm32f0xx_conf.h
│ │ stm32f0xx_it.c
│ │ stm32f0xx_it.h
│ │ system_stm32f0xx.c
│ └ RTE
│ │ RTE_Components.h
│ ├ Device
│ │ └ STM32F042F6
│ │ │ startup_stm32f042.s
│ │ └ system_stm32f0xx.c
│ └ USB
│ │ USBD_Config_0.c
│ │ USBD_Config_HID_0.h
│ └ USBD_Config_HID_1.h
├ Objects
│ └ USB_receiver_F072C8.hex
└ RTE
│ RTE_Components.h
└ Device
├ STM32F042F6
│ │ startup_stm32f042.s
│ └ system_stm32f0xx.c
└ STM32F072C8
│ startup_stm32f072.s
└ system_stm32f0xx.