登录
首页 » 嵌入式芯片 » 绝对原创,开源一STM32项目,CAN,UART,Input检测 原创相对高效性能与代码重用平衡思路(缓冲队列加软中断),可直接做工程模板

绝对原创,开源一STM32项目,CAN,UART,Input检测 原创相对高效性能与代码重用平衡思路(缓冲队列加软中断),可直接做工程模板

于 2022-03-21 发布 文件大小:1.27 MB
0 357
下载积分: 2 下载次数: 2

代码说明:

1、CAN收发队列   使用内存FIFO缓冲CAN帧,适合大数据量通信;并使用内部软中断处理CAN数据,相当于事件响应,综合应该比查询方式节省不少时间,也应该比OS调度省点时间。Can.C:底层处理,Communi.C:与应用层高相关。 应用层处理流程用函数指针表的方式调用减少代码量及阅读整齐;实现CAN各种错误记录机制。已初步测试,该机制可用。   CAN处理流程:     接收:CAN1_RX0_IRQHandler_Name (void), CAN1_RX1_IRQHandler(void)           接收中断,CAN_QueueWriteQuick()将当前的有效报文压入内存FIFO,压入的数据为整个CAN邮箱数据,所以后续的处理函数可以分辨出完整的数据。 void CAN1_RX0_IRQHandler_Name (void) // CAN1_RX0_IRQHandler_Name { /* FIFO从空状态开始,在接收到第一个有效的报文后,FIFO状态变为挂号_1(pending_1), 硬件相应地把CAN_RFR寄存器的FMP[1:0]设置为’01’(二进制01b)。 软件可以读取FIFO输出邮箱来读出邮箱中的报文,然后通过对CAN_RFR寄存器的RFOM位 设置’1’来释放邮箱,这样FIFO又变为空状态了。如果在释放邮箱的同时, 又收到了一个有效的报文,那么FIFO仍然保留在挂号_1状态,软件可以读取FIFO 输出邮箱来读出新收到的报文。 如果应用程序不释放邮箱,在接收到下一个有效的报文后,FIFO状态变为 挂号_2(pending_2),硬件相应地把FMP[1:0]设置为’10’(二进制10b)。 重复上面的过程,第三个有效的报文把FIFO变为挂号_3状态(FMP[1:0]=11b)。 此时,软件必须对RFOM位设置1来释放邮箱,以便FIFO

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 步进电机驱动器。ICCAVR开发。ATmega8
    步进电机驱动程序。ICCAVR开发。ATMEGA8-Stepper motor driver. ICCAVR development. ATMEGA8
    2022-04-20 15:45:44下载
    积分:1
  • ZLG LPC 2100 new easyARM2100 CD
    ZLG LPC 2100 新easyARM2100光盘-ZLG LPC 2100 new easyARM2100 CD-ROM
    2022-03-13 15:43:54下载
    积分:1
  • TMS320DM355达芬奇视频编码源码
    TMS320DM355达芬奇视频编码源码-DM355 video encode source code
    2023-07-25 22:20:03下载
    积分:1
  • 清华大学自动化系ARM培训教材,讲的比较全,各个方面都涉及到了。...
    清华大学自动化系ARM培训教材,讲的比较全,各个方面都涉及到了。-Department of Automation, Tsinghua University, ARM training materials, stresses the Comparison of the whole, all aspects involved.
    2022-10-01 21:30:04下载
    积分:1
  • MIPS Assembly Code
    MIPS Assembly Code - Hello World example-MIPS Assembly Code- Hello World example
    2022-05-17 21:07:33下载
    积分:1
  • 基于LPC2368的LCD控制程序,同时有Jlink下的调试配置
    基于LPC2368的LCD控制程序,同时有Jlink下的调试配置-LPC2368 based on the LCD control procedures, at the same time has under the debug configuration Jlink
    2023-06-19 09:05:03下载
    积分:1
  • S3C4510 simulator and examples of source installation ADS1.2, followed by the in...
    S3C4510模拟器及实例源码 安装ADS1.2之后,再安装模拟器。模拟器安装路径必须选择到ADS的bin目录,所以必须先安装ADS。安装模拟器时请仔细阅读提示文字。 模拟器安装完成后,会在桌面建立快捷图标S3C4510B_Board,运行这个快捷图标可以看到开发板的图形,在AXD启动后将可以在S3C4510B_Board上面看到效果。 模拟器安装完成后,还会建立文件夹 C:ArmEmulate,桌面快捷图标S3C4510B_Board 就是指向这里。这个文件夹下有5个子文件夹,分别是: 1. C:ArmEmulateGPIO , 这个文件夹里是GPIO的程序例子。 2. C:ArmEmulateInclude, 这个文件夹里只有一个头文件S3C4510B.h,包含S3C4510B寄存器的定义。 3. C:ArmEmulatemake, 这个文件夹里是gnu 的make工具包,所有的程序都是用makefile管理的,没有工程文件。 4. C:ArmEmulateTIMER,这个文件夹里是TIMER的程序例子。 5. C:ArmEmulateUCOSIITest,这个文件夹里是UCOSII的程序例子,如果想了解UCOS的运行过程,可以使用这个例子单步运行,查看程序流程和内存,变量。 在程序例子文件夹中还有一个ads12.bat批处理文件,用于使用makefile时设置临时环境变量。 具体使用过程,请看C:ArmEmulateReadme.txt。 -S3C4510 simulator and examples of source installation ADS1.2, followed by the installation of simulators. Simulator installation path must choose to ADS bin directory, you must have the ADS. When installed simulator carefully reading the text. Simulator installation is completed, the speedy establishment of the desktop icon S3C4510B_Board. to
    2022-10-31 09:10:03下载
    积分:1
  • PCB 原理图 STM32f103VE 开发板
    电气示意图 STM32F103VE 迷你的开发板,SD 卡、 TFT、 串行和 USB 接口。若要使新的项目,或使用此板,你可用作参考此示意图。
    2022-05-17 20:50:30下载
    积分:1
  • 该文档讲述了在开发stm32f10x时所遇到的常见问题及解决方法,是很有用的资料。...
    该文档讲述了在开发stm32f10x时所遇到的常见问题及解决方法,是很有用的资料。-This document describes stm32f10x encountered in the development of common problems and solutions, is useful information.
    2022-02-21 19:24:33下载
    积分:1
  • 闸流管和双向可控硅成功应用的十条黄金规则,推荐下载。
    闸流管和双向可控硅成功应用的十条黄金规则,推荐下载。-gate and the two-way flow for successful application of SCR 10 gold rules, recommended download.
    2022-01-22 12:01:24下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载