企业网站都是静态的吗,做网站编辑,深圳哪些建设公司招聘,wordpress 登录机制GitHub - micro-ROS/micro_ros_stm32cubemx_utils at humble 这个就是下载这个代码库以后的文件结构。其中sample_project.ioc就是平时STM32CubeMX的工程文件。类似于visual studio里面的项目文件 。打开以后是这个样子的#xff1a; 可以看到跟本文后面的那些配置是几乎一模一…GitHub - micro-ROS/micro_ros_stm32cubemx_utils at humble 这个就是下载这个代码库以后的文件结构。其中sample_project.ioc就是平时STM32CubeMX的工程文件。类似于visual studio里面的项目文件 。打开以后是这个样子的 可以看到跟本文后面的那些配置是几乎一模一样就是说这个包里面包含了STM32CubeMX工程文件了
Using this package with STM32CubeMX Clone this repository in your STM32CubeMX project folder. A sample project can be generated with the provided sample_project.ioc. Make sure that your STM32CubeMX project is using a Makefile toolchain toolchain指交叉编译器我觉得就是跨平台编译的东西例如cmake,这里选择使用makefile交叉编译器系统这个代码库下载后也可以看到有mkefile文件应该用于交叉编译的,有意思的是CMakelists.txt最后也是生成了makefile文件under Project Manager - Project Make sure that if you are using FreeRTOS, the micro-ROS task has more than 10 kB of stack: Configure the transport interface on the STM32CubeMX project, check the Transport configuration section for instructions on the custom transports provided.在STM32CubeMX内设置串口 Modify the generated Makefile to include the following code before the build the application section:修改makefile文件在build the application之前添加后面这个代码 #######################################
# micro-ROS addons
#######################################
LDFLAGS micro_ros_stm32cubemx_utils/microros_static_library/libmicroros/libmicroros.a
C_INCLUDES -Imicro_ros_stm32cubemx_utils/microros_static_library/libmicroros/microros_include# Add micro-ROS utils
C_SOURCES micro_ros_stm32cubemx_utils/extra_sources/custom_memory_manager.c
C_SOURCES micro_ros_stm32cubemx_utils/extra_sources/microros_allocators.c
C_SOURCES micro_ros_stm32cubemx_utils/extra_sources/microros_time.c# Set here the custom transport implementation
C_SOURCES micro_ros_stm32cubemx_utils/extra_sources/microros_transports/dma_transport.c
#注意看这里添加的是DMA传输方式文件所以前面应该配置的是DMA传输方式如果使用的是中断方式就不知道添加哪个文件了也许大概是包含IT_transport.c这样的一个文件吧print_cflags:echo $(CFLAGS) Execute the static library generation tool. 编译Compiler flags will retrieved automatically from your Makefile and user will be prompted to check if they are correct. docker pull microros/micro_ros_static_library_builder:humble这里遇到permission denied所以需要先切换到超级用户在控制台输入su然后再执行这个命令就可以了docker run -it --rm -v $(pwd):/project --env MICROROS_LIBRARY_FOLDERmicro_ros_stm32cubemx_utils/microros_static_library microros/micro_ros_static_library_builder:humble Modify your main.c to use micro-ROS.在开发文件cpp文件中根据需要使用micro-ros内容 An example application can be found in sample_main.c. Continue your usual workflow building your project and flashing the binary: make -j$(nproc)
Transport configurationSTM32与micro_ros支持的通讯方式
Available transport for this platform are:
U(S)ART with DMADMA方式的串口通讯
Steps to configure:
Enable U(S)ART in your STM32CubeMXFor the selected USART, enable DMA for Tx and Rx under DMA SettingsSet the DMA priotity to Very High for Tx and RxSet the DMA mode to Circular for Rx: DetailFor the selected, enable global interrupt under NVIC Settings: Detail
U(S)ART with Interrupts中断方式串口通讯
Steps to configure:
Enable U(S)ART in your STM32CubeMXFor the selected USART, enable global interrupt under NVIC Settings: Detail
USB CDC
Steps to configure: Enable the USB in your STM32CubeMX Connectivity tab. Select the Communication Device Class (Virtual Port Com) mode on the Middleware - USB_DEVICE configuration. Note: The micro-ROS transport will override the autogenerated USB_DEVICE/App/usbd_cdc_if.c methods.