TencentOS tiny EVB_MX & Sipeed Longan nano support nrf24l01
This commit is contained in:
@@ -272,10 +272,10 @@ void test_nrf24l01_tx() {
|
||||
nrf_set_standby_mode();
|
||||
nrf_set_send_mode();
|
||||
nrf_disable_tx_irq();
|
||||
nrf_set_rf_channel(100);
|
||||
nrf_set_rf_channel(64);
|
||||
nrf_set_datarate(NRF_2Mbps);
|
||||
nrf_enable_dynamic_payload(0);
|
||||
uint8_t txaddr[] = { 0xCB, 0xA7, 0xF9, 0xAC, 0xE1 };
|
||||
uint8_t txaddr[] = { 0xCB, 0xA7, 0xF9, 0xAC, 0xE0 };
|
||||
nrf_set_txaddr(txaddr, 5);
|
||||
|
||||
nrf_flush_rx();
|
||||
|
@@ -18,13 +18,11 @@ int nrf_hal_init(void *private) {
|
||||
}
|
||||
|
||||
void nrf_hal_csn(uint8_t mode) {
|
||||
//gpio_bit_write(g_nrf_hal.csn_port, g_nrf_hal.csn_pin, mode == 0 ? RESET : SET);
|
||||
mode == 0 ? gpio_bit_reset(g_nrf_hal.csn_port, g_nrf_hal.csn_pin) : gpio_bit_set(g_nrf_hal.csn_port, g_nrf_hal.csn_pin);
|
||||
gpio_bit_write(g_nrf_hal.csn_port, g_nrf_hal.csn_pin, mode == 0 ? RESET : SET);
|
||||
}
|
||||
|
||||
void nrf_hal_ce(uint8_t mode) {
|
||||
//gpio_bit_write(g_nrf_hal.ce_port, g_nrf_hal.ce_pin, mode == 0 ? RESET : SET);
|
||||
mode == 0 ? gpio_bit_reset(g_nrf_hal.ce_port, g_nrf_hal.ce_pin) : gpio_bit_set(g_nrf_hal.ce_port, g_nrf_hal.ce_pin);
|
||||
gpio_bit_write(g_nrf_hal.ce_port, g_nrf_hal.ce_pin, mode == 0 ? RESET : SET);
|
||||
}
|
||||
|
||||
uint8_t _spi_transfer(uint32_t spi, uint8_t data) {
|
||||
|
@@ -1,201 +1,402 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
|
||||
<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1262886786">
|
||||
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1262886786" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
|
||||
<externalSettings/>
|
||||
|
||||
<extensions>
|
||||
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
|
||||
</extensions>
|
||||
|
||||
</storageModule>
|
||||
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
|
||||
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1262886786" name="Debug" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug">
|
||||
|
||||
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1262886786." name="/" resourcePath="">
|
||||
|
||||
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.1301364991" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug">
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.170855217" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.192973748" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" value="7-2018-q2-update" valueType="string"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.1396771406" name="Mcu" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" value="STM32L431RCTx" valueType="string"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.1149933071" name="CpuId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" value="0" valueType="string"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.447078565" name="CpuCoreId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" value="0" valueType="string"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.1369672965" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv4-sp-d16" valueType="enumerated"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.1549925367" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.1322347798" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" value="genericBoard" valueType="string"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.34056792" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.0 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32L431RCTx || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Inc | ../Drivers/CMSIS/Include | ../Drivers/CMSIS/Device/ST/STM32L4xx/Include | ../Drivers/STM32L4xx_HAL_Driver/Inc | ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy || ../ || || USE_HAL_DRIVER | STM32L431xx || || Startup || Drivers | Src || || ${workspace_loc:/${ProjName}/STM32L431RCTX_FLASH.ld} || true" valueType="string"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoprintffloat.1053327974" name="Use float with printf from newlib-nano (-u _printf_float)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoprintffloat" value="false" valueType="boolean"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoscanffloat.650641571" name="Use float with scanf from newlib-nano (-u _scanf_float)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoscanffloat" value="false" valueType="boolean"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.runtimelibrary_c.1735465247" name="Runtime library" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.runtimelibrary_c" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.runtimelibrary_c.value.standard_c" valueType="enumerated"/>
|
||||
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1327725829" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
|
||||
|
||||
<builder buildPath="${workspace_loc:/nRF24L01}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.2087598430" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1124328332" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1956412837" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/>
|
||||
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths.2130084240" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths" valueType="includePath">
|
||||
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/nRF24L01/Src/TencentOS tiny/arch/cortex-m4}""/>
|
||||
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/nRF24L01/Src/}""/>
|
||||
|
||||
</option>
|
||||
|
||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1691017340" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
|
||||
|
||||
</tool>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1734752302" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.1493824180" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.2089589337" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false"/>
|
||||
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.1695202677" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
|
||||
|
||||
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
|
||||
|
||||
<listOptionValue builtIn="false" value="STM32L431xx"/>
|
||||
|
||||
<listOptionValue builtIn="false" value="DEBUG"/>
|
||||
|
||||
</option>
|
||||
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.71459536" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
|
||||
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/nRF24L01/Src/TencentOS tiny/kernel/hal/include}""/>
|
||||
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/nRF24L01/Src/TencentOS tiny/kernel/pm/include}""/>
|
||||
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/nRF24L01/Src/}""/>
|
||||
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/nRF24L01/Src/TencentOS tiny/arch/common/include}""/>
|
||||
|
||||
<listOptionValue builtIn="false" value="../Inc"/>
|
||||
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/nRF24L01/Src/TencentOS tiny/arch/cortex-m4}""/>
|
||||
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/nRF24L01/Src/TencentOS tiny/kernel/evtdrv/include}""/>
|
||||
|
||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
|
||||
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/nRF24L01/Src/TencentOS tiny/kernel/core/include}""/>
|
||||
|
||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32L4xx/Include"/>
|
||||
|
||||
<listOptionValue builtIn="false" value="../Drivers/STM32L4xx_HAL_Driver/Inc"/>
|
||||
|
||||
<listOptionValue builtIn="false" value="../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy"/>
|
||||
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/nRF24L01/Src/nrf24l01}""/>
|
||||
|
||||
</option>
|
||||
|
||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1646169757" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
|
||||
|
||||
</tool>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.197819340" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1348343865" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.1854838267" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false"/>
|
||||
|
||||
</tool>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.190433927" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.1841223731" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32L431RCTX_FLASH.ld}" valueType="string"/>
|
||||
|
||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.998540093" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
|
||||
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
|
||||
</inputType>
|
||||
|
||||
</tool>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1990623035" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker">
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.2031683111" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" value="${workspace_loc:/${ProjName}/STM32L431RCTX_FLASH.ld}" valueType="string"/>
|
||||
|
||||
</tool>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.2080443421" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.1262745398" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.2047302712" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.139294037" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.374048873" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.194842445" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.312936399" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1692517304" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
|
||||
|
||||
</toolChain>
|
||||
|
||||
</folderInfo>
|
||||
|
||||
<sourceEntries>
|
||||
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Startup"/>
|
||||
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Src"/>
|
||||
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
|
||||
|
||||
</sourceEntries>
|
||||
|
||||
</configuration>
|
||||
|
||||
</storageModule>
|
||||
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
|
||||
</cconfiguration>
|
||||
|
||||
<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.984860420">
|
||||
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.984860420" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
||||
|
||||
<externalSettings/>
|
||||
|
||||
<extensions>
|
||||
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
|
||||
</extensions>
|
||||
|
||||
</storageModule>
|
||||
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
|
||||
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.984860420" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release">
|
||||
|
||||
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.984860420." name="/" resourcePath="">
|
||||
|
||||
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.968857947" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release">
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.2066230545" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.1516973676" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" value="7-2018-q2-update" valueType="string"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.557800890" name="Mcu" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" value="STM32L431RCTx" valueType="string"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.488365489" name="CpuId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" value="0" valueType="string"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.143346347" name="CpuCoreId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" value="0" valueType="string"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.1045337558" name="Floating-point unit" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.fpu.value.fpv4-sp-d16" valueType="enumerated"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.980736340" name="Floating-point ABI" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.floatabi.value.hard" valueType="enumerated"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.259670681" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" value="genericBoard" valueType="string"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.836013249" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.0 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32L431RCTx || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Inc | ../Drivers/CMSIS/Include | ../Drivers/CMSIS/Device/ST/STM32L4xx/Include | ../Drivers/STM32L4xx_HAL_Driver/Inc | ../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy || ../ || || USE_HAL_DRIVER | STM32L431xx || || Startup || Drivers | Src || || ${workspace_loc:/${ProjName}/STM32L431RCTX_FLASH.ld} || true" valueType="string"/>
|
||||
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.219662553" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
|
||||
|
||||
<builder buildPath="${workspace_loc:/nRF24L01}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.89218914" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.743832440" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1025342275" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g0" valueType="enumerated"/>
|
||||
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths.1599835196" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths" valueType="includePath"/>
|
||||
|
||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1630958297" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
|
||||
|
||||
</tool>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.811401261" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.1432629272" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.2002300352" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.o3" valueType="enumerated"/>
|
||||
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.1582047069" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
|
||||
|
||||
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
|
||||
|
||||
<listOptionValue builtIn="false" value="STM32L431xx"/>
|
||||
|
||||
</option>
|
||||
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.1460379579" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
|
||||
|
||||
<listOptionValue builtIn="false" value="../Inc"/>
|
||||
|
||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
|
||||
|
||||
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32L4xx/Include"/>
|
||||
|
||||
<listOptionValue builtIn="false" value="../Drivers/STM32L4xx_HAL_Driver/Inc"/>
|
||||
|
||||
<listOptionValue builtIn="false" value="../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy"/>
|
||||
|
||||
</option>
|
||||
|
||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.396335940" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
|
||||
|
||||
</tool>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1069711429" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1219536205" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g0" valueType="enumerated"/>
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.109274674" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.o3" valueType="enumerated"/>
|
||||
|
||||
</tool>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.690110818" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.312685794" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32L431RCTX_FLASH.ld}" valueType="string"/>
|
||||
|
||||
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.306849526" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
|
||||
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
|
||||
</inputType>
|
||||
|
||||
</tool>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1952175410" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker">
|
||||
|
||||
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.1229503194" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" value="${workspace_loc:/${ProjName}/STM32L431RCTX_FLASH.ld}" valueType="string"/>
|
||||
|
||||
</tool>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.656911447" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.220408313" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1486493510" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1356057796" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.796611751" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.595489283" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1598730855" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
|
||||
|
||||
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1554161316" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
|
||||
|
||||
</toolChain>
|
||||
|
||||
</folderInfo>
|
||||
|
||||
<sourceEntries>
|
||||
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Startup"/>
|
||||
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Src"/>
|
||||
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
|
||||
|
||||
</sourceEntries>
|
||||
|
||||
</configuration>
|
||||
|
||||
</storageModule>
|
||||
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
|
||||
</cconfiguration>
|
||||
|
||||
</storageModule>
|
||||
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
|
||||
<project id="nRF24L01.null.837101763" name="nRF24L01"/>
|
||||
|
||||
</storageModule>
|
||||
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
|
||||
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1262886786;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1262886786.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1734752302;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1646169757">
|
||||
|
||||
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
|
||||
</scannerConfigBuildInfo>
|
||||
|
||||
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.984860420;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.984860420.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.811401261;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.396335940">
|
||||
|
||||
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
|
||||
</scannerConfigBuildInfo>
|
||||
|
||||
</storageModule>
|
||||
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
|
||||
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||
|
||||
<configuration configurationName="Debug">
|
||||
|
||||
<resource resourceType="PROJECT" workspacePath="/nRF24L01"/>
|
||||
|
||||
</configuration>
|
||||
|
||||
<configuration configurationName="Release">
|
||||
|
||||
<resource resourceType="PROJECT" workspacePath="/nRF24L01"/>
|
||||
|
||||
</configuration>
|
||||
|
||||
</storageModule>
|
||||
|
||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
||||
|
||||
</cproject>
|
||||
|
@@ -33,6 +33,11 @@
|
||||
<type>2</type>
|
||||
<locationURI>virtual:/virtual</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>Src/nrf24l01</name>
|
||||
<type>2</type>
|
||||
<locationURI>PARENT-4-PROJECT_LOC/devices/nrf24l01</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>Src/TencentOS tiny/arch</name>
|
||||
<type>2</type>
|
||||
|
@@ -62,10 +62,11 @@ void Error_Handler(void);
|
||||
#define LED_GPIO_Port GPIOC
|
||||
#define CSN_Pin GPIO_PIN_4
|
||||
#define CSN_GPIO_Port GPIOA
|
||||
#define nRF24_IRQ_Pin_Pin GPIO_PIN_14
|
||||
#define nRF24_IRQ_Pin_GPIO_Port GPIOB
|
||||
#define CE_Pin GPIO_PIN_9
|
||||
#define CE_GPIO_Port GPIOC
|
||||
#define nRF24_IRQ_Pin_Pin GPIO_PIN_8
|
||||
#define nRF24_IRQ_Pin_GPIO_Port GPIOA
|
||||
#define nRF24_IRQ_Pin_EXTI_IRQn EXTI9_5_IRQn
|
||||
/* USER CODE BEGIN Private defines */
|
||||
|
||||
/* USER CODE END Private defines */
|
||||
|
@@ -56,6 +56,7 @@ void SVC_Handler(void);
|
||||
void DebugMon_Handler(void);
|
||||
void PendSV_Handler(void);
|
||||
void SysTick_Handler(void);
|
||||
void EXTI9_5_IRQHandler(void);
|
||||
/* USER CODE BEGIN EFP */
|
||||
|
||||
/* USER CODE END EFP */
|
||||
|
@@ -24,7 +24,6 @@
|
||||
/* Private includes ----------------------------------------------------------*/
|
||||
/* USER CODE BEGIN Includes */
|
||||
#include "tos_k.h"
|
||||
#include "nrf24l01.h"
|
||||
/* USER CODE END Includes */
|
||||
|
||||
/* Private typedef -----------------------------------------------------------*/
|
||||
@@ -34,42 +33,17 @@
|
||||
|
||||
/* Private define ------------------------------------------------------------*/
|
||||
/* USER CODE BEGIN PD */
|
||||
#define TASK_SIZE 4096
|
||||
#define TASK_SIZE 1024
|
||||
|
||||
|
||||
k_task_t task1_handle;
|
||||
k_task_t task2_handle;
|
||||
|
||||
uint8_t task1_stk[TASK_SIZE];
|
||||
uint8_t task2_stk[TASK_SIZE];
|
||||
|
||||
extern uint8_t nrf_received_data;
|
||||
void task1(void *arg)
|
||||
{
|
||||
int task_cnt1 = 0;
|
||||
while (1) {
|
||||
task_cnt1++;
|
||||
//printf("task1 cnt: %d\n", task_cnt1);
|
||||
#if 1
|
||||
if(0 != nrf_received_data) {
|
||||
nrf_received_data = 0;
|
||||
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
|
||||
tos_task_delay(100);
|
||||
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
|
||||
tos_task_delay(100);
|
||||
}
|
||||
#endif
|
||||
|
||||
//HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, task_cnt1 % 2 ? GPIO_PIN_SET : GPIO_PIN_RESET);
|
||||
tos_task_delay(1);
|
||||
}
|
||||
}
|
||||
|
||||
void task2(void *arg)
|
||||
{
|
||||
int task_cnt2 = 0;
|
||||
tos_task_delay(200);
|
||||
nrf_hal_test();
|
||||
|
||||
while (1) {
|
||||
task_cnt2--;
|
||||
printf("task2 cnt: %08x\n", task_cnt2);
|
||||
@@ -114,6 +88,8 @@ PUTCHAR_PROTOTYPE
|
||||
HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF);
|
||||
return ch;
|
||||
}
|
||||
|
||||
void nrf24l01_init();
|
||||
/* USER CODE END 0 */
|
||||
|
||||
/**
|
||||
@@ -147,19 +123,21 @@ int main(void)
|
||||
MX_USART2_UART_Init();
|
||||
MX_SPI1_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
#if 1
|
||||
|
||||
tos_knl_init();
|
||||
tos_task_create(&task1_handle, "task1", task1, NULL, 3, task1_stk, TASK_SIZE, 0);
|
||||
|
||||
nrf24l01_init();
|
||||
|
||||
tos_task_create(&task2_handle, "task2", task2, NULL, 3, task2_stk, TASK_SIZE, 0);
|
||||
|
||||
tos_knl_start();
|
||||
#endif
|
||||
|
||||
/* USER CODE END 2 */
|
||||
|
||||
/* Infinite loop */
|
||||
/* USER CODE BEGIN WHILE */
|
||||
while (1)
|
||||
{
|
||||
nrf_hal_test();
|
||||
//HAL_Delay(1000);
|
||||
/* USER CODE END WHILE */
|
||||
|
||||
@@ -308,7 +286,6 @@ static void MX_GPIO_Init(void)
|
||||
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOH_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GPIOC, LED_Pin|CE_Pin, GPIO_PIN_RESET);
|
||||
@@ -330,12 +307,6 @@ static void MX_GPIO_Init(void)
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||
HAL_GPIO_Init(CSN_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pin : nRF24_IRQ_Pin_Pin */
|
||||
GPIO_InitStruct.Pin = nRF24_IRQ_Pin_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(nRF24_IRQ_Pin_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pin : CE_Pin */
|
||||
GPIO_InitStruct.Pin = CE_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
@@ -343,6 +314,16 @@ static void MX_GPIO_Init(void)
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(CE_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pin : nRF24_IRQ_Pin_Pin */
|
||||
GPIO_InitStruct.Pin = nRF24_IRQ_Pin_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
HAL_GPIO_Init(nRF24_IRQ_Pin_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/* EXTI interrupt init*/
|
||||
HAL_NVIC_SetPriority(EXTI9_5_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(EXTI9_5_IRQn);
|
||||
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN 4 */
|
||||
|
179
board/TencentOS_tiny_EVB_MX/STM32CubeIDE/nRF24L01/Src/nrf24.c
Normal file
179
board/TencentOS_tiny_EVB_MX/STM32CubeIDE/nRF24L01/Src/nrf24.c
Normal file
@@ -0,0 +1,179 @@
|
||||
#include "tos_k.h"
|
||||
#include <stdio.h>
|
||||
#include "stdlib.h"
|
||||
#include "nrf24l01_stm32_hal.h"
|
||||
#include "stm32l4xx_hal.h"
|
||||
#include "main.h"
|
||||
|
||||
extern SPI_HandleTypeDef hspi1;
|
||||
|
||||
extern k_sem_t sem_led;
|
||||
k_sem_t sem_nrf;
|
||||
|
||||
#define TASK_SIZE (8*1024)
|
||||
k_task_t task_nrf24_handle;
|
||||
uint8_t task_nrf24_stk[TASK_SIZE];
|
||||
|
||||
#define LED_TASK_SIZE 1024
|
||||
k_task_t led_handle;
|
||||
uint8_t led_stk[LED_TASK_SIZE];
|
||||
|
||||
void task_nrf24();
|
||||
|
||||
k_sem_t sem_led;
|
||||
|
||||
void task_led(void *arg)
|
||||
{
|
||||
while (1) {
|
||||
tos_sem_pend(&sem_led, ~0);
|
||||
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
|
||||
tos_task_delay(50);
|
||||
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void nrf24l01_init() {
|
||||
{
|
||||
nrf_hal_init_t nhi;
|
||||
nhi.spi = &hspi1;
|
||||
nhi.ce_port = CE_GPIO_Port;
|
||||
nhi.ce_pin = CE_Pin;
|
||||
nhi.csn_port= CSN_GPIO_Port;
|
||||
nhi.csn_pin = CSN_Pin;
|
||||
|
||||
nrf_init_t ni = {
|
||||
.init = nrf_hal_init,
|
||||
.ce = nrf_hal_ce,
|
||||
.csn = nrf_hal_csn,
|
||||
.spi_recv = nrf_hal_spi_recv,
|
||||
.spi_send = nrf_hal_spi_send,
|
||||
.private = &nhi,
|
||||
};
|
||||
|
||||
nrf_init(&ni);
|
||||
}
|
||||
|
||||
|
||||
tos_sem_create(&sem_nrf, 1);
|
||||
tos_sem_create(&sem_led, 1);
|
||||
tos_task_create(&task_nrf24_handle, "task_nrf24", task_nrf24, NULL, 5, task_nrf24_stk, TASK_SIZE, 0);
|
||||
tos_task_create(&led_handle, "led", task_led, NULL, 6, led_stk, LED_TASK_SIZE, 0);
|
||||
}
|
||||
|
||||
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
||||
{
|
||||
if(GPIO_PIN_8 != GPIO_Pin) {
|
||||
return;
|
||||
}
|
||||
|
||||
uint8_t status = 0;
|
||||
nrf_read_reg_byte(REG_STATUS, &status);
|
||||
|
||||
if(status & _BV(RX_DR)) {
|
||||
tos_sem_post(&sem_nrf);
|
||||
}
|
||||
}
|
||||
|
||||
#define ADDRLEN 5
|
||||
void print_rxaddr(uint8_t pipe) {
|
||||
uint8_t addr[ADDRLEN];
|
||||
|
||||
uint8_t addrlen = ADDRLEN;
|
||||
nrf_get_rxaddr(pipe, addr, &addrlen);
|
||||
|
||||
printf("pipe %u addr: ", pipe);
|
||||
for(int i=0; i<ADDRLEN; i++) {
|
||||
printf("%u ", addr[i]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
void print_txaddr() {
|
||||
uint8_t addr[ADDRLEN];
|
||||
uint8_t addrlen = ADDRLEN;
|
||||
nrf_get_txaddr(addr, &addrlen);
|
||||
for(int i=0; i<ADDRLEN; i++) {
|
||||
printf("%u ", addr[i]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
void test_nrf24l01_irq_rx()
|
||||
{
|
||||
nrf_delay(200);
|
||||
nrf_csn(1);
|
||||
nrf_ce(0);
|
||||
nrf_delay(200);
|
||||
|
||||
nrf_set_standby_mode();
|
||||
nrf_set_receive_mode();
|
||||
|
||||
nrf_enable_rx_irq();
|
||||
|
||||
nrf_set_rf_channel(64);
|
||||
nrf_set_datarate(NRF_2Mbps);
|
||||
uint8_t rxaddr[ADDRLEN] = { 0xCB, 0xA7, 0xF9, 0xAC, 0xE0 };
|
||||
nrf_set_rxaddr(0, rxaddr, ADDRLEN);
|
||||
nrf_enable_dynamic_payload(0);
|
||||
nrf_enable_rxaddr(0);
|
||||
print_rxaddr(0);
|
||||
|
||||
while(1) {
|
||||
tos_sem_pend(&sem_nrf, ~0);
|
||||
|
||||
uint8_t buf[32];
|
||||
uint8_t len = 0;
|
||||
uint8_t pipe = 0xFF;
|
||||
|
||||
nrf_read_payload(buf, &len, &pipe);
|
||||
|
||||
tos_sem_post(&sem_led);
|
||||
|
||||
printf("received %u bytes from pipe %u: ", len, pipe);
|
||||
|
||||
for(int i=0; i<len; i++) {
|
||||
printf("%x ", buf[i]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void test_nrf24l01_tx() {
|
||||
nrf_delay(200);
|
||||
nrf_hal_csn(1);
|
||||
nrf_hal_ce(0);
|
||||
nrf_delay(200);
|
||||
|
||||
nrf_set_standby_mode();
|
||||
nrf_set_send_mode();
|
||||
nrf_disable_tx_irq();
|
||||
nrf_set_rf_channel(64);
|
||||
nrf_set_datarate(NRF_2Mbps);
|
||||
nrf_enable_dynamic_payload(0);
|
||||
uint8_t txaddr[] = { 0xCB, 0xA7, 0xF9, 0xAC, 0xE0 };
|
||||
nrf_set_txaddr(txaddr, 5);
|
||||
print_txaddr();
|
||||
print_rxaddr(0);
|
||||
|
||||
nrf_flush_rx();
|
||||
nrf_flush_tx();
|
||||
uint8_t cnt = 0;
|
||||
while(1) {
|
||||
nrf_flush_rx();
|
||||
nrf_flush_tx();
|
||||
uint8_t buf[32];
|
||||
snprintf((char*)buf, sizeof(buf), "TOS nRF24L01+ %u", cnt++);
|
||||
nrf_write_payload(buf, strlen((char*)buf)+1);
|
||||
tos_sem_post(&sem_led);
|
||||
nrf_delay(100);
|
||||
}
|
||||
}
|
||||
|
||||
void task_nrf24() {
|
||||
//test_nrf24l01_irq_rx();
|
||||
test_nrf24l01_tx();
|
||||
}
|
@@ -1,12 +1,14 @@
|
||||
|
||||
/*
|
||||
* nrf24l01.c
|
||||
*
|
||||
* Created on: Mar 27, 2020
|
||||
* Author: ace
|
||||
*/
|
||||
#if 0
|
||||
|
||||
#include "main.h"
|
||||
#include "nrf24l01.h"
|
||||
#include <nrf24l01.old.h>
|
||||
#include "tos_k.h"
|
||||
|
||||
|
||||
@@ -381,3 +383,4 @@ uint8_t nrf_hal_test() {
|
||||
//return nrf_hal_test_rx();
|
||||
return nrf_hal_test_tx();
|
||||
}
|
||||
#endif
|
||||
|
@@ -1,3 +1,4 @@
|
||||
#if 0
|
||||
#ifndef NRF24L01_H_
|
||||
#define NRF24L01_H_
|
||||
|
||||
@@ -285,3 +286,4 @@ uint8_t nrf_hal_test();
|
||||
|
||||
|
||||
#endif /* NRF24L01_H_ */
|
||||
#endif
|
@@ -1,4 +1,6 @@
|
||||
#include "nrf24l01.h"
|
||||
|
||||
#if 0
|
||||
#include <nrf24l01.old.h>
|
||||
|
||||
static SPI_HandleTypeDef *nrf_spi;
|
||||
static GPIO_TypeDef* nrf_csn_gpio_port;
|
||||
@@ -154,3 +156,4 @@ int nrf_hal_write_cmd(uint8_t cmd) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@@ -1,3 +1,4 @@
|
||||
#if 0
|
||||
#ifndef NRF24L01_HAL_H_
|
||||
#define NRF24L01_HAL_H_
|
||||
|
||||
@@ -38,3 +39,4 @@ int nrf_hal_write_cmd(uint8_t cmd);
|
||||
|
||||
|
||||
#endif /* NRF24L01_HAL_H_ */
|
||||
#endif
|
||||
|
@@ -0,0 +1,33 @@
|
||||
#include "nrf24l01_stm32_hal.h"
|
||||
#include <string.h>
|
||||
|
||||
static nrf_hal_init_t g_nrf_hal;
|
||||
|
||||
int nrf_hal_init(void *private) {
|
||||
|
||||
memcpy(&g_nrf_hal, private, sizeof(nrf_hal_init_t));
|
||||
|
||||
nrf_hal_ce(1);
|
||||
nrf_hal_csn(1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void nrf_hal_csn(uint8_t mode) {
|
||||
HAL_GPIO_WritePin(g_nrf_hal.csn_port, g_nrf_hal.csn_pin, mode == 0 ? GPIO_PIN_RESET : GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void nrf_hal_ce(uint8_t mode) {
|
||||
HAL_GPIO_WritePin(g_nrf_hal.ce_port, g_nrf_hal.ce_pin, mode == 0 ? GPIO_PIN_RESET : GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
void nrf_hal_spi_send(uint8_t *buf, uint8_t len) {
|
||||
HAL_SPI_Transmit(g_nrf_hal.spi, buf, len, HAL_MAX_DELAY);
|
||||
|
||||
}
|
||||
|
||||
void nrf_hal_spi_recv(uint8_t *buf, uint8_t len) {
|
||||
|
||||
HAL_SPI_Receive(g_nrf_hal.spi, buf, len, HAL_MAX_DELAY);
|
||||
|
||||
}
|
@@ -0,0 +1,29 @@
|
||||
#ifndef NRF24L01_STM32_HAL_H_
|
||||
#define NRF24L01_STM32_HAL_H_
|
||||
|
||||
#include <nrf24l01.h>
|
||||
|
||||
#ifdef STM32L431xx
|
||||
#include "stm32l4xx_hal.h"
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
SPI_HandleTypeDef *spi;
|
||||
GPIO_TypeDef* csn_port;
|
||||
uint16_t csn_pin;
|
||||
GPIO_TypeDef* ce_port;
|
||||
uint16_t ce_pin;
|
||||
} nrf_hal_init_t;
|
||||
|
||||
int nrf_hal_init(void *nhi);
|
||||
|
||||
void nrf_hal_csn(uint8_t mode);
|
||||
|
||||
void nrf_hal_ce(uint8_t mode);
|
||||
|
||||
void nrf_hal_spi_send(uint8_t *buf, uint8_t len);
|
||||
|
||||
void nrf_hal_spi_recv(uint8_t *buf, uint8_t len);
|
||||
|
||||
|
||||
#endif /* NRF24L01_STM32_HAL_H_ */
|
@@ -204,6 +204,23 @@ void SysTick_Handler(void)
|
||||
/* please refer to the startup file (startup_stm32l4xx.s). */
|
||||
/******************************************************************************/
|
||||
|
||||
/**
|
||||
* @brief This function handles EXTI line[9:5] interrupts.
|
||||
*/
|
||||
void EXTI9_5_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN EXTI9_5_IRQn 0 */
|
||||
if(tos_knl_is_running())
|
||||
{
|
||||
tos_knl_irq_enter();
|
||||
/* USER CODE END EXTI9_5_IRQn 0 */
|
||||
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_8);
|
||||
/* USER CODE BEGIN EXTI9_5_IRQn 1 */
|
||||
tos_knl_irq_leave();
|
||||
}
|
||||
/* USER CODE END EXTI9_5_IRQn 1 */
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN 1 */
|
||||
|
||||
/* USER CODE END 1 */
|
||||
|
@@ -1,6 +1,5 @@
|
||||
#MicroXplorer Configuration settings - do not modify
|
||||
Mcu.Family=STM32L4
|
||||
PB14.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_FALLING
|
||||
RCC.MSI_VALUE=4000000
|
||||
RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
|
||||
ProjectManager.MainLocation=Src
|
||||
@@ -21,9 +20,7 @@ ProjectManager.NoMain=false
|
||||
SPI1.IPParameters=VirtualType,Mode,Direction,DataSize,CalculateBaudRate,BaudRatePrescaler
|
||||
PH0-OSC_IN\ (PH0).Signal=RCC_OSC_IN
|
||||
PC13.Locked=true
|
||||
SH.GPXTI14.0=GPIO_EXTI14
|
||||
PC13.Signal=GPIO_Output
|
||||
PB14.GPIO_Label=nRF24_IRQ_Pin
|
||||
RCC.PLLSAI1RoutputFreq_Value=32000000
|
||||
RCC.SWPMI1Freq_Value=80000000
|
||||
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_USART2_UART_Init-USART2-false-HAL-true,4-MX_SPI1_Init-SPI1-false-HAL-true
|
||||
@@ -33,7 +30,6 @@ ProjectManager.DefaultFWLocation=true
|
||||
RCC.USART2Freq_Value=80000000
|
||||
ProjectManager.DeletePrevious=true
|
||||
PC13.GPIO_Label=LED
|
||||
PB14.Locked=true
|
||||
PinOutPanel.RotationAngle=0
|
||||
RCC.FamilyName=M
|
||||
RCC.MCO1PinFreq_Value=80000000
|
||||
@@ -52,6 +48,7 @@ Mcu.IP0=NVIC
|
||||
PA12.Locked=true
|
||||
Mcu.IP1=RCC
|
||||
PA12.Signal=SPI1_MOSI
|
||||
PA8.GPIO_Label=nRF24_IRQ_Pin
|
||||
PA4.PinState=GPIO_PIN_SET
|
||||
Mcu.UserConstants=
|
||||
RCC.VCOSAI1OutputFreq_Value=64000000
|
||||
@@ -64,9 +61,10 @@ Mcu.IPNb=5
|
||||
ProjectManager.PreviousToolchain=
|
||||
RCC.APB2TimFreq_Value=80000000
|
||||
SPI1.CalculateBaudRate=312.5 KBits/s
|
||||
PA8.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultEXTI
|
||||
Mcu.Pin6=PA6
|
||||
Mcu.Pin7=PB14
|
||||
Mcu.Pin8=PC9
|
||||
Mcu.Pin7=PC9
|
||||
Mcu.Pin8=PA8
|
||||
Mcu.Pin9=PA12
|
||||
RCC.LSE_VALUE=32768
|
||||
PA1.Signal=SPI1_SCK
|
||||
@@ -80,12 +78,12 @@ Mcu.Pin3=PA2
|
||||
RCC.USART3Freq_Value=80000000
|
||||
Mcu.Pin4=PA3
|
||||
Mcu.Pin5=PA4
|
||||
PB14.Signal=GPXTI14
|
||||
ProjectManager.ProjectBuild=false
|
||||
RCC.HSE_VALUE=8000000
|
||||
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
|
||||
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
|
||||
PA4.GPIO_PuPd=GPIO_PULLUP
|
||||
PA8.Locked=true
|
||||
board=custom
|
||||
PA4.Locked=true
|
||||
USART2.VirtualMode-Asynchronous=VM_ASYNC
|
||||
@@ -110,6 +108,7 @@ SPI1.DataSize=SPI_DATASIZE_8BIT
|
||||
File.Version=6
|
||||
VP_SYS_VS_Systick.Mode=SysTick
|
||||
PC13.GPIO_PuPd=GPIO_PULLDOWN
|
||||
PA8.Signal=GPXTI8
|
||||
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false
|
||||
RCC.PLLRCLKFreq_Value=80000000
|
||||
PA4.GPIOParameters=GPIO_Speed,PinState,GPIO_PuPd,GPIO_Label
|
||||
@@ -133,18 +132,21 @@ PA6.Signal=SPI1_MISO
|
||||
PA12.Mode=Full_Duplex_Master
|
||||
NVIC.ForceEnableDMAVector=true
|
||||
KeepUserPlacement=false
|
||||
PA8.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_FALLING
|
||||
SH.GPXTI8.0=GPIO_EXTI8
|
||||
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false
|
||||
ProjectManager.CompilerOptimize=6
|
||||
ProjectManager.ToolChainLocation=
|
||||
RCC.LSI_VALUE=32000
|
||||
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
|
||||
NVIC.EXTI9_5_IRQn=true\:0\:0\:false\:false\:true\:true\:true
|
||||
SH.GPXTI8.ConfNb=1
|
||||
RCC.LSCOPinFreq_Value=32000
|
||||
ProjectManager.HeapSize=0x200
|
||||
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
|
||||
PB14.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI
|
||||
ProjectManager.ComputerToolchain=false
|
||||
RCC.HSI_VALUE=16000000
|
||||
SH.GPXTI14.ConfNb=1
|
||||
PA8.GPIO_PuPd=GPIO_PULLUP
|
||||
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
|
||||
Mcu.Pin11=PA14 (JTCK-SWCLK)
|
||||
Mcu.Pin12=VP_SYS_VS_Systick
|
||||
|
Reference in New Issue
Block a user