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

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

于 2022-03-21 发布 文件大小:1.27 MB
0 388
下载积分: 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 个回复

  • CE下基于PXA255的蓝牙驱动,编译调试已通过
    CE下基于PXA255的蓝牙驱动,编译调试已通过-CE-based PXA255 Bluetooth driver, the compiler debugging has passed
    2022-05-14 12:37:20下载
    积分: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
  • Simple MIPS CPU code for this CPU contains shift add sub and or stl beq lw sw fu...
    此CPU的简单MIPS CPU代码包含shift add sub和/或stl beq lw sw函数
    2022-11-25 21:20:03下载
    积分:1
  • 基于s3c2410的linux下面指纹识别程序,是通过串口来实现对于指纹识别模块的操作控制。...
    基于s3c2410的linux下面指纹识别程序,是通过串口来实现对于指纹识别模块的操作控制。-S3c2410 the linux-based fingerprint recognition following procedure is adopted to achieve the serial module for fingerprint recognition to control the operation.
    2022-08-21 21:38:05下载
    积分:1
  • 基于linux操作系统ATMELARM9200 开发平台的LED演示程序
    基于linux操作系统ATMELARM9200 开发平台的LED演示程序-ATMELARM9200 development platform LED Demonstration Program
    2023-06-04 20:55:03下载
    积分:1
  • 三星arm4510 Bootloader的实现与分析,包括源代码…
    三星Arm4510 bootloader的实现与分析 包括源码和源码分析解释说明,是Arm学习者的好参考-Samsung Arm4510 Bootloader the Implementation and Analysis, including source code and source code analysis explanation, Arm learners is a good reference
    2022-03-18 06:49:45下载
    积分:1
  • If you are running this example, will the PC emulation window, the first 1,2,3
    这个例子如果运行,将在仿真的PC窗口中的第1,2,3行显示一些信息后,在随机位置显示 1 ~ 5 .由于keil c51默认不支持重入函数,它的重入函数使用仿真的重入栈而不使用系统栈,而Small RTOS 51没有进行重入栈管理,所以在TaskA~TaskE虽然及其相似,但不能合并. (2)编译时会有5个警告,其中一个是因为没有使用一个系统函数OSSendSignal引起,它可以忽略.另4个是禁止任务间变量覆盖分析引起,必须忽略.感谢网友John X. Liu,在这个例子中我使用了他编写的仿真(dllPc51Emu.dll),这个dll原来是为他移植的Ucos-ii for keil c51的例子编写.-If you are running this example, will the PC emulation window, the first 1,2,3-line display some information, at random locations show " 1 " ~ " 5" . Keil c51 as the default does not support the re-entry function, which re- into the function of the weight stack instead of using the simulation using the system stack, while the Small RTOS 51 not been re-stack management, and so TaskA ~ TaskE though its similar, but not combined. (2) compile-time there will be five warnings, One of them is because there is no cause to use a system function OSSendSignal, it can be ignored. The other four are prohibited between the variables covered analyze the task to be ignored. thank User
    2022-06-19 05:01:57下载
    积分:1
  • 详尽的介绍ARM bootloader原理和过程的资料,是ARM嵌入式系统设计师的参考资料,也是ARM开发学习者的学习资料。...
    详尽的介绍ARM bootloader原理和过程的资料,是ARM嵌入式系统设计师的参考资料,也是ARM开发学习者的学习资料。-detailed presentation ARM Bootloader principle and process information is embedded system designer ARM reference, as well as ARM learners learning materials.
    2023-05-16 19:10:03下载
    积分:1
  • 语音系统的领导者
    keil,推导了此类源代码,它用于领袖声音系统是古旧的三个部分。第 1 部分是一辆四轮汽车,其中第 2 部分-单片机和扬声器固定的.part 3 是三个声音传感器、 声波到达不完全在同一时间。我们使用三个传感器获取的时间间隔,可以绝对误差 汽车 的位置。
    2022-10-26 21:05:08下载
    积分:1
  • 英飞凌XE160单片机程序
    英飞凌XE160单片机程序;英飞凌XE160单片机程序;英飞凌XE160单片机程序;英飞凌XE160单片机程序;英飞凌XE160单片机程序;英飞凌XE160单片机程序
    2023-02-08 00:10:04下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载