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

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

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

  • 这是AVR Eeprom的c语言编程源码,它是用ICCAVR开发
    这是AVR Eeprom的c语言编程源码,它是用ICCAVR开发-This is the AVR Eeprom programming c language source code, which is used to develop ICCAVR
    2022-03-07 09:28:43下载
    积分:1
  • This is a very good preparation Verilog 8
    这是一个很好的Verilog 编写的8位RISC CPU源码(可做为MCU),并且包括完整的C 语言的测试代码。-This is a very good preparation Verilog 8-bit RISC CPU source (available as MCU), and includes a complete C language test code.
    2022-07-04 18:32:56下载
    积分:1
  • jtag2000 applications in xp system and related software
    jtag2000应用在xp系统下方法及相关软件-jtag2000 applications in xp system and related software
    2022-02-06 11:07:15下载
    积分:1
  • arm926资料
    arm926资料-information arm926
    2023-05-26 06:55:03下载
    积分:1
  • 运算放大器为PDG格,是最令人不安的格,但要求。
    运算放大器基础,为PDG格式,是最让人头疼的格式,不过还是可以一看-Operational Amplifiers basis for PDG format, is the most worrisome format, but one can still see
    2022-08-23 13:33:56下载
    积分:1
  • 机模块化编程
    单片机模块化编程,LCD12864的模块程序。更有利于学生对LCD12864的模块化编程,全国电子设计大赛必备准备程序,由西安电子科技大学老师编写的程序块程序。该程序使用于MSP430单片机F2618,稍作更改可以应用于其他类型的单片机
    2022-07-21 06:09:46下载
    积分:1
  • Uboot常用的移植patches, 方便定制移植到s3c2440
    Uboot常用的移植patches, 方便定制移植到s3c2440-Uboot commonly transplanted patches, easy customization transplanted to S3C2440
    2022-08-12 23:52:30下载
    积分:1
  • stm32f10x GPIO
    #include             #include "STM32_Init.h"      int main (void)  {   int i=0;   stm32_Init();    // Init System   GPIOB->CRL = 0x22222222;  // bit0~7  output(push-pull)   GPIOB->CRH = 0x22222222;           // bit8~14 output(push-pull)                     请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报
    2022-06-15 18:51:04下载
    积分:1
  • 旋转32位流水灯
    流水灯程序,32位旋转LED,42个花样,心形设计,可支持89系列芯片单机运行,流水灯程序,32位旋转LED,42个花样,心形设计,可支持89系列芯片单机运行流水灯程序,32位旋转LED,42个花样,心形设计,可支持89系列芯片单机运行
    2023-02-13 05:45:04下载
    积分:1
  • 学会使用UC/OS-II的ZLG/USBD13软件包编写应用软件....
    学会使用UC/OS-II的ZLG/USBD13软件包编写应用软件.-Learn how to use UC/OS-II software package to prepare the ZLG/USBD13 applications.
    2022-01-22 15:37:35下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载