STM32F4 的CAN1 CAN2 双CAN收发


最简单清晰的例子,主架构如下: int main(void) { /* ST固件库中的启动文件已经执行了 SystemInit() 函数,该函数在 system_stm32f4xx.c 文件,主要功能是 配置CPU系统的时钟,内部Flash访问时序,配置FSMC用于外部SRAM等。 */ NVIC_Configuration(); CAN1_Configuration(); CAN2_Configuration(); while(1) { if(can1_rec_flag == 1) //如果CAN1接收到了一帧数据 { can1_rec_flag = 0; CAN1_WriteData(0x18412345); //以ID为 0x18412345向CAN上发送数据 } if(can2_rec_flag == 1) //如果CAN1接收到了一帧数据 { can2_rec_flag = 0; CAN2_WriteData(0x18412345); //以ID为 0x18412345向CAN上发送数据 } } }
资源截图
代码片段和文件信息
/**
  ******************************************************************************
  * @file    system_stm32f0xx.c
  * @author  MCD Application Team
  * @version V1.2.0
  * @date    01-August-2013
  * @brief   CMSIS Cortex-M0 Device Peripheral Access layer System Source File.
  *          This file contains the system clock configuration for STM32F0xx devices
  *          and is generated by the clock configuration tool  
  *          STM32F0xx_Clock_Configuration_V1.0.0.xls
  *
  * 1.  This file provides two functions and one global variable to be called from 
  *     user application:
  *      - SystemInit(): Setups the system clock (System clock source PLL Multiplier
  *                      and Divider factors AHB/APBx prescalers and Flash settings)
  *                      depending on the configuration made in the clock xls tool.
  *                      This function is called at startup just after reset and 
  *                      before branch to main program. This call is made inside
  *                      the “startup_stm32f0xx.s“ file.
  *
  *      - SystemCoreClock variable: Contains the core clock (HCLK) it can be used
  *                                  by the user application to setup the SysTick 
  *                                  timer or configure other parameters.
  *
  *      - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
  *                                 be called whenever the core clock is changed
  *                                 during program execution.
  *
  * 2. After each device reset the HSI (8 MHz Range) is used as system clock source.
  *    Then SystemInit() function is called in “startup_stm32f0xx.s“ file to
  *    configure the system clock before to branch to main program.
  *
  * 3. If the system clock source selected by user fails to startup the SystemInit()
  *    function will do nothing and HSI still used as system clock source. User can 
  *    add some code to deal with this issue inside the SetSysClock() function.
  *
  * 4. The default value of HSE crystal is set to 8MHz refer to “HSE_VALUE“ define
  *    in “stm32f0xx.h“ file. When HSE is used as system clock source directly or
  *    through PLL and you are using different crystal you have to adapt the HSE
  *    value to your own configuration.
  *
  * 5. This file configures the system clock as follows:
  *=============================================================================
  *                         System Clock Configuration
  *=============================================================================
  *        System Clock source          | PLL(HSE)
  *-----------------------------------------------------------------------------
  *        SYSCLK                       | 48000000 Hz
  *-----------------------------------------------------------------------------
  *        HCLK                         | 48000000 Hz
  *----------------

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      24914  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISCMSIS END USER LICENCE AGREEMENT.pdf

     文件     243068  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxIncludestm32f0xx.h

     文件       2221  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxIncludesystem_stm32f0xx.h

     文件      26975  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxRelease_Notes.html

     文件       9869  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxSourceTemplatesarmstartup_stm32f030x6.s

     文件      10705  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxSourceTemplatesarmstartup_stm32f030x8.s

     文件      10714  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxSourceTemplatesarmstartup_stm32f0xx.s

     文件       9878  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxSourceTemplatesarmstartup_stm32f0xx_ld.s

     文件       8682  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxSourceTemplatesgcc_ride7startup_stm32f0xx.s

     文件       8037  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxSourceTemplatesgcc_ride7startup_stm32f0xx_ld.s

     文件         64  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxSourceTemplatesgcc_ride7vssver.scc

     文件      10074  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxSourceTemplatesiarstartup_stm32f030x6.s

     文件      11342  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxSourceTemplatesiarstartup_stm32f030x8.s

     文件      11351  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxSourceTemplatesiarstartup_stm32f0xx.s

     文件      10083  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxSourceTemplatesiarstartup_stm32f0xx_ld.s

     文件      12650  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxSourceTemplatessystem_stm32f0xx.c

     文件       8078  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxSourceTemplatesTrueSTUDIOstartup_stm32f030x6.s

     文件       8726  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxSourceTemplatesTrueSTUDIOstartup_stm32f030x8.s

     文件       8735  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxSourceTemplatesTrueSTUDIOstartup_stm32f0xx.s

     文件       8087  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F0xxSourceTemplatesTrueSTUDIOstartup_stm32f0xx_ld.s

     文件     637831  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F10xIncludestm32f10x.h

     文件       2223  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F10xIncludesystem_stm32f10x.h

     文件      36386  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F10xRelease_Notes.html

     文件      15899  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F10xSourceTemplatesarmstartup_stm32f10x_cl.s

     文件      15636  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F10xSourceTemplatesarmstartup_stm32f10x_hd.s

     文件      15825  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F10xSourceTemplatesarmstartup_stm32f10x_hd_vl.s

     文件      12509  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F10xSourceTemplatesarmstartup_stm32f10x_ld.s

     文件      13789  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F10xSourceTemplatesarmstartup_stm32f10x_ld_vl.s

     文件      12898  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F10xSourceTemplatesarmstartup_stm32f10x_md.s

     文件      14206  2013-10-12 04:36  CAN1与CAN2通讯例程(裸机版)LibrariesCMSISDeviceSTSTM32F10xSourceTemplatesarmstartup_stm32f10x_md_vl.s

............此处省略1118个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)